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];