有关如何在App的中显示PDF的资源很多UIView
。我现在正在做的是从中创建PDF UIViews
。
例如,我有一个UIView
,与像Textviews子视图,UILabels
,UIImages
,所以我怎么能转换成一个大的 UIView
整体,包括其所有子视图和subsubviews到PDF?
我检查了Apple的iOS参考。但是,它仅涉及将文本/图像写入PDF文件。
我面临的问题是我想以PDF格式写入文件的内容很多。如果我将它们逐段写入PDF,这将是一项巨大的工作。这就是为什么我正在寻找一种写UIViews
PDF甚至位图的方法。
我已经尝试过从Stack Overflow中的其他Q / A复制的源代码。但这只给我一个空白PDF,其UIView
边界大小。
-(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 drawRect:aView.bounds];
// 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);
}