2011-01-19 2 views
0

pensez-vous est-il possible d'ajouter un code dans une application (Xcode) qui permet l'impression de l'écran de l'iPad ou l'envoyer au macimpression code écran iPad

Répondre

0

Bien sûr, mais seulement de votre propre applications. Vous ne pouvez pas envoyer de captures d'écran d'autres applications.

+0

oui c'est exactement ce dont j'ai besoin. mais comment? – Marco

+0

Pour imprimer, regardez dans AirPrint. Pour l'envoyer au Mac, demandez-vous comment vous voulez le transférer - Webbrowser, Email, un client natif. Pour saisir une capture d'écran, vous devez effectuer une recherche ici. Veuillez poster une autre question (spécifique) pour des problèmes concrets. – Eiko

+0

merci pour votre aide. Je fais une application avec plusieurs questions sur iPad. quand je finis de répondre à toutes les questions, je veux imprimer ce fichier et le sauvegarder en pdf. Je ne peux pas faire le bouton d'accueil de la presse et cliquez sur le bouton de veille pour capturer l'écran parce que le fichier que j'utilise est 1900 au lieu de 1024 donc il faudra seulement la résolution de l'ipad en laissant le reste. J'espère avoir été clair. – Marco

1
#import "AirPrintingViewController.h" 

@implementation AirPrintingViewController 

-(void)printItem { 

    NSString *path = [[NSBundle mainBundle] pathForResource:@"demo" ofType:@"png"]; 
    NSData *dataFromPath = [NSData dataWithContentsOfFile:path]; 

    UIPrintInteractionController *printController = [UIPrintInteractionController sharedPrintController]; 

    if(printController && [UIPrintInteractionController canPrintData:dataFromPath]) { 

     printController.delegate = self; 

     UIPrintInfo *printInfo = [UIPrintInfo printInfo]; 
     printInfo.outputType = UIPrintInfoOutputGeneral; 
     printInfo.jobName = [path lastPathComponent]; 
     printInfo.duplex = UIPrintInfoDuplexLongEdge; 
     printController.printInfo = printInfo; 
     printController.showsPageRange = YES; 
     printController.printingItem = dataFromPath; 

     void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { 
      if (!completed && error) { 
       NSLog(@"FAILED! due to error in domain %@ with error code %u", error.domain, error.code); 
      } 
     }; 

     [printController presentAnimated:YES completionHandler:completionHandler]; 

    } 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
    [btn addTarget:self action:@selector(printItem) forControlEvents:UIControlEventTouchDown]; 
    [btn setTitle:@"PRINT" forState:UIControlStateNormal]; 
    btn.frame = CGRectMake(0, 100, 320, 50); 
    [self.view addSubview:btn]; 
} 

@end 

,

avec ce code, je peux imprimer un fichier dans le chemin, comment puis-je imprimer mon écran au lieu du fichier déjà dans le chemin?

+0

Comment puis-je tester ce code sur simulateur? – Hisenberg