Istnieje wiele zasobów dotyczących sposobu wyświetlania pliku PDF w aplikacji UIView
. Teraz pracuję nad utworzeniem pliku PDF z UIViews
.
Na przykład, mam UIView
z subviews jak TextView, UILabels
, UIImages
, tak jak mogę przekonwertować Big UIView
jako całość, łącznie ze wszystkimi jego subviews i subsubviews do PDF?
Sprawdziłem referencje Apple iOS . Jednak mówi tylko o zapisywaniu fragmentów tekstu / obrazu do pliku PDF.
Problem, z którym się zmagam, polega na tym, że treści, które chcę zapisać do pliku w formacie PDF, to dużo. Jeśli napiszę je do pliku PDF kawałek po kawałku, będzie to ogromna praca. Dlatego szukam sposobu na pisanie UIViews
do plików PDF lub nawet bitmap.
Wypróbowałem kod źródłowy, który skopiowałem z innych pytań i odpowiedzi w ramach Stack Overflow. Ale daje mi tylko pusty plik PDF z UIView
rozmiarem granic.
-(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);
}