Існує багато ресурсів про те, як відображати PDF у програмі UIView
. Зараз я працюю над створенням PDF-файлу UIViews
.
Наприклад, у мене є UIView
, з підвидами , як TextViews, UILabels
, UIImages
, так як я можу перетворити масштабно UIView
, як в цілому , включаючи всі його підвиди і subsubviews в формат PDF?
Я перевірив посилання Apple на iOS . Однак мова йде лише про запис фрагментів тексту / зображення у файл 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);
}