私は、アプリケーションのUIWebViewからibookにpdfを保存したいので、UIWebViewのhtmlは複数ページにすることができます。
私は目的のcのuiwebviewからPDFを保存する方法
NSString *page = [self.lowWebview stringByEvaluatingJavaScriptFromString:@"document.body.outerHTML"];
NSString *path = [self exportHTMLContentToPDF:page];
NSURL *targetURL = [NSURL fileURLWithPath:path];
self.docController = [UIDocumentInteractionController interactionControllerWithURL:targetURL];
if([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"itms-books:"]])
{
[self.docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
NSLog(@"iBooks installed");
} else {
NSLog(@"iBooks not installed");
}
exportHTMLContentToPDF使用してみてください:のUIWebViewは、複数のページが含まれている、といくつかの時間の出力フォーマットはうまくPDFで印刷でない場合
CustomPrintPageRenderer *printPageRenderer = [[CustomPrintPageRenderer alloc] init];
UIMarkupTextPrintFormatter *printFormatter = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:HTMLContent];
[printPageRenderer addPrintFormatter:printFormatter startingAtPageAtIndex:0];//.addPrintFormatter(printFormatter, startingAtPageAtIndex: 0)
NSData *pdfData = [self drawPDFUsingPrintPageRenderer:printPageRenderer];
NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
NSString *fileName = [docDirPath stringByAppendingPathComponent:@"ticket.pdf"];
[pdfData writeToFile:fileName atomically:true];//.writeToFile(fileName, atomically: true)
NSLog(@"%@", fileName);
return fileName;
問題がexportHTMLContentToPDFでは、ちょうど1ページを作成
ありがとうございます。
アプリは、「この行でハング[自己prepareForDrawingPages:NSMakeRange(0、self.numberOfPages) ]; " xcodeにエラーまたはクラッシュが表示されていない場合は、 –
行をコメントアウトしてコードを実行してみてください。 –