Hay muchos recursos sobre cómo mostrar un PDF en una aplicación UIView
. En lo que estoy trabajando ahora es en crear un PDF a partir de UIViews
.
Por ejemplo, tengo una UIView
, con subvistas como Textviews, UILabels
, UIImages
, así que ¿cómo puedo convertir un grande UIView
en su conjunto incluyendo todas sus subvistas y subsubviews a un PDF?
He comprobado la referencia de iOS de Apple . Sin embargo, solo habla de escribir fragmentos de texto / imagen en un archivo PDF.
El problema al que me enfrento es que el contenido que quiero escribir en un archivo como PDF es mucho. Si los escribo en el PDF pieza por pieza, será un gran trabajo por hacer. Por eso estoy buscando una forma de escribir UIViews
en PDF o incluso en mapas de bits.
Probé el código fuente que copié de otro Q / A dentro de Stack Overflow. Pero solo me da un PDF en blanco con el UIView
tamaño de los límites.
-(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);
}