我正在尝试将UIImage保存为PDF文件。我该怎么做?我如何将图像保存到PDF文件中,然后导出该PDF文件?请为我提供解决此问题的方法。
谢谢。
谢谢。
你好,我发现这个方法有效,希望能帮到你!
-(void)createPDFfromUIView:(UIView*)aView saveToDocumentsWithFileName:(NSString*)aFilename
{
// Creates a mutable data object for updating with binary data, like a byte array
NSMutableData *pdfData = [NSMutableData data];
// Points the pdf converter to the mutable data object and to the UIView to be converted
UIGraphicsBeginPDFContextToData(pdfData, aView.bounds, nil);
UIGraphicsBeginPDFPage();
// draws rect to the view and thus this is captured by UIGraphicsBeginPDFContextToData
[aView.layer renderInContext:UIGraphicsGetCurrentContext()];
// remove PDF rendering context
UIGraphicsEndPDFContext();
// Retrieves the document directories from the iOS device
NSArray* documentDirectories = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask,YES);
NSString* documentDirectory = [documentDirectories objectAtIndex:0];
NSString* documentDirectoryFilename = [documentDirectory stringByAppendingPathComponent:aFilename];
// instructs the mutable data object to write its context to a file on disk
[pdfData writeToFile:documentDirectoryFilename atomically:YES];
NSLog(@"documentDirectoryFileName: %@",documentDirectoryFilename);
}
我也得到了一个空白的PDF。不过现在已经解决了。尝试更改:
//[aView drawRect:aView.bounds]; // <- This
[aView.layer renderInContext:UIGraphicsGetCurrentContext()]; // <- To This
您可以启动一个PDF图形上下文,然后使用以下方式将图像绘制到其中:
[UIImage drawInRect: someRect];
您可以查看文档,它们对生成PDF文件有很好的解释。这里有一个关于PDF生成的好教程here。