Существует множество ресурсов о том, как отображать PDF-файлы в приложениях UIView
. Сейчас я работаю над созданием PDF-файла UIViews
.
Например, у меня есть UIView
, с подвидами , как TextViews, UILabels
, UIImages
, так как я могу преобразовать масштабно UIView
, как в целом , включая все его подвиды и subsubviews в формат PDF?
Я проверил ссылку на iOS от Apple . Однако здесь говорится только о записи фрагментов текста / изображения в файл PDF.
Проблема, с которой я столкнулся, заключается в том, что содержимого, которое я хочу записать в файл в формате PDF, очень много. Если я напишу их в PDF по частям, это будет огромной работой. Вот почему я ищу способ писать UIViews
в PDF-файлы или даже растровые изображения.
Я пробовал исходный код, который скопировал из других вопросов и ответов в Stack Overflow. Но он дает мне только пустой 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);
}