我试图在PDF文件中保存UIImage。 我怎样才能做到这一点?我将如何保存并成像为pdf文件然后导出该pdf文件? 请为我面临的问题提出解决方案。
谢谢。
答案 0 :(得分:15)
你好,我发现这个有效, 希望能帮助到你!
-(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);
}
答案 1 :(得分:3)
我的理解是你创建了一个CGPDFContext,将你的UIImage绘制到它中,并将其保存到文件中。但是,我自己并没有这样做。
答案 2 :(得分:0)
我也得到了一个空白的pdf。但现在工作了。尝试更改:
//[aView drawRect:aView.bounds]; // <- This
[aView.layer renderInContext:UIGraphicsGetCurrentContext()]; // <- To This
答案 3 :(得分:-1)
您可以使用以下命令启动pdf图形上下文,然后将图像绘制到其中:
[UIImage drawInRect: someRect];
您可以查看文档,它们可以很好地解释生成pdf。 pdf生成here有一个很好的教程。