Existem muitos recursos sobre como exibir um PDF em um aplicativo UIView
. O que estou trabalhando agora é criar um PDF a partir UIViews
.
Por exemplo, eu tenho um UIView
, com subviews como TextViews, UILabels
, UIImages
, assim como pode converter um grande UIView
como um todo, incluindo todos os seus subviews e subsubviews a um PDF?
Eu verifiquei a referência do iOS da Apple . No entanto, ele fala apenas sobre como escrever pedaços de texto / imagem em um arquivo PDF.
O problema que estou enfrentando é que o conteúdo que desejo gravar em um arquivo como PDF é muito grande. Se eu escrever no PDF peça por peça, vai ser um trabalho enorme. É por isso que estou procurando uma maneira de escrever UIViews
PDFs ou mesmo bitmaps.
Eu tentei o código-fonte que copiei de outro Q / A no Stack Overflow. Mas isso só me dá um PDF em branco com o UIView
tamanho dos limites.
-(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);
}