我有一个很长的html页面,想要将它转换为多页PDF文件。
我按照苹果官方文档和这里的内容 - 如何创建多页PDF提供的说明进行操作。
但是,对NSString(带有类似数据的某些内容)的格式化比创建html页面困难。我已经创建了这个html页面,并在UIWebView中显示它。
现在我想将此HTML创建成一个多页PDF文件。
我正在使用的代码可以创建单页PDF。
- (void)createPDFfromUIView:(UIWebView *)aView saveToDocumentsWithFileName:(NSString*)aFilename { // 创建一个可变的数据对象用于更新二进制数据,例如字节数组 NSMutableData *pdfData = [NSMutableData data];
// 将pdf转换器指向可变数据对象和要转换的UIView UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil); UIGraphicsBeginPDFPage(); CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// 绘制矩形到视图中,因此这被UIGraphicsBeginPDFContextToData捕获
[aView.layer renderInContext:pdfContext];
// 移除PDF渲染上下文 UIGraphicsEndPDFContext();
// 从iOS设备中检索文档目录 NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0]; NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
// 通知可变数据对象将其内容写入磁盘上的文件中 [pdfData writeToFile:documentDirectoryFilename atomically:YES]; NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename); }
还有谁能给予帮助吗?