アプリのでPDFを表示する方法に関するリソースはたくさんありますUIView
。私が現在取り組んでいるのは、からPDFを作成することUIViews
です。
例えば、私がしているUIView
、Textviewsのようなサブビューで、UILabels
、UIImages
、ので、どのように私は、変換することができ、大きな UIView
PDFにすべてのサブビューとsubsubviews含め全体としての?
AppleのiOSリファレンスを確認しました。ただし、テキスト/イメージの一部をPDFファイルに書き込むことについてのみ述べています。
私が直面している問題は、PDFとしてファイルに書き込みたいコンテンツが多いということです。PDFに1つずつ書き込むと、大変な作業になります。だからこそUIViews
、PDFやビットマップに書き込む方法を探しています。
Stack Overflow内の他のQ / Aからコピーしたソースコードを試しました。ただし、UIView
境界サイズの空白の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 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);
}