Ci sono molte risorse su come visualizzare un PDF in un'app UIView
. Quello su cui sto lavorando ora è creare un PDF da UIViews
.
Per esempio, ho una UIView
, con subviews come Textviews, UILabels
, UIImages
, così come posso convertire un grande UIView
nel suo insieme con tutti i suoi subviews e subsubviews ad un PDF?
Ho controllato il riferimento iOS di Apple . Tuttavia, parla solo di scrivere parti di testo / immagine in un file PDF.
Il problema che sto affrontando è che il contenuto che voglio scrivere su un file come PDF è molto. Se li scrivo nel PDF pezzo per pezzo, sarà un lavoro enorme da fare. Ecco perché sto cercando un modo per scrivere UIViews
in PDF o anche in bitmap.
Ho provato il codice sorgente che ho copiato da altre domande / risposte all'interno di Stack Overflow. Ma mi dà solo un PDF vuoto con la UIView
dimensione dei limiti.
-(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);
}