J'ai joint un fichier au courrier que j'utilise ce code.
NSString *PDFFileWithName = [[NSBundle mainBundle] pathForResource:@"name" ofType:@"pdf"]; NSData *dataFromPath = [NSData dataWithContentsOfFile:PDFFileWithName];
4 Réponses :
Vous devriez lire via le Guide d'impression pour iOS . La propriété Mise à jour pour Code ajouté strud> p> La valeur de DataFrompath doit être égale à [MyView pdfdata] Bien que je recommanderais de modifier le nom de la variable une fois que vous l'obtenez. P> imprimantetem code> de
UIPRINTITIPRONCONTROLLER CODE>
peut être réglé sur le NSDATA code> d'un fichier PDF.
NSData *dataFromPath = [myView PDFData];
Ce sont les codes que j'utilise pour le courrier électronique (cela fonctionne fortement) et le code d'impression qui doit être changé
J'ai mis à jour ma réponse, vous pouvez republier votre exemple de code dans une édition à votre message si vous le souhaitez.
J'ai fait avec ce code, c'était en fait facile .. Grâce à tout le monde: printController.printingitem = [myView pdfdata];
Posté le mauvais lien plus tôt - celui-ci devrait aider! P>
Blog - L'impression dans iOS - passe en détail et comprend un didacticiel sur l'impression PDFS p>
Je savais ce tutoriel, c'est génial, mais je ne trouve pas ce dont j'ai besoin.
écrire en dessous du code et vérifiez-le
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *pathFolder = [NSString stringWithFormat:@"%@",pdfFileName]; NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:pathFolder]; NSURL *targetURL = [NSURL fileURLWithPath:path]; UIPrintInteractionController *pc = [UIPrintInteractionController sharedPrintController]; UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputGeneral; printInfo.orientation = UIPrintInfoOrientationPortrait; printInfo.jobName =@âPrintâ; printInfo.duplex = UIPrintInfoDuplexLongEdge; pc.printInfo = printInfo; pc.showsPageRange = YES; pc.printingItem = targetURL; UIPrintInteractionCompletionHandler completionHandler = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { if(!completed && error){ NSLog(@"Print failed - domain: %@ error code %ld", error.domain, (long)error.code); } }; [pc presentFromRect:shareButton.frame inView:self.view animated:YES completionHandler:completionHandler];
Pouvez-vous élargir votre réponse avec une description pourquoi i> Ce code résoudrait le problème? Un déchargement de code sans une description aide rarement les futurs lecteurs.
Code complet pour imprimer PDF
UIPrintInteractionController *pc = [UIPrintInteractionController sharedPrintController]; UIPrintInfo *printInfo = [UIPrintInfo printInfo]; printInfo.outputType = UIPrintInfoOutputGeneral; printInfo.orientation = UIPrintInfoOrientationPortrait; printInfo.jobName =@"Report"; pc.printInfo = printInfo; pc.showsPageRange = YES; pc.printingItem = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"https://test.com/Print_for_Client_Name.pdf"]]; // You can use here image or any data type to print. UIPrintInteractionCompletionHandler completionHandler = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { if(!completed && error){ NSLog(@"Print failed - domain: %@ error code %ld", error.domain, (long)error.code); } }; [pc presentFromRect:CGRectMake(0, 0, 300, 300) inView:self.view animated:YES completionHandler:completionHandler];