背景
我的应用将用户输入的信息保存到plist文件中。拍摄照片或从照片库中选择照片时,照片也会作为NSData保存到照片库中。
我想获取plist文件中包含的信息并生成PDF文档,包括来自NSData的图像。
问题:
我听说有一种方法可以从UIView生成PDF,有没有一个很好的例子,或者没有编写1000行基于C的代码的简单方法?
是否可以在Interface Builder中设计一个视图,然后使用一些魔术代码从该视图生成PDF,使用plist文件中的数据?
答案 0 :(得分:0)
要生成PDF,您必须实际绘制整个PDF,将图形和文本放在每个页面上的确切位置。 Apple的 Drawing and Printing Guide 解释了如何解决这个问题。
不幸的是,这并不容易,而且我也不知道任何会从视图中生成PDF的魔术代码。
答案 1 :(得分:0)
这里有一些“魔术代码”(引用@Matt ;-),它会将视图层次结构写入PDF:
#import <QuartzCore/CALayer.h>
UIView *displayView = self.view;
CALayer *layer = displayView.layer;
CGRect pageRect = displayView.bounds;
if (UIGraphicsBeginPDFContextToFile(path, pageRect, [self pdfContextDictionary]) == NO) {
return nil; // error
}
UIGraphicsBeginPDFPage();
CGContextRef context = UIGraphicsGetCurrentContext();
[layer renderInContext:context];
UIGraphicsEndPDFContext();
不幸的是,它是在屏幕分辨率下这样做的, 你可以创建一个大于屏幕的版本,那么它将是一个更好的分辨率,
对于漂亮,漂亮,(和痛苦)的PDF,请参阅上面引用的指南