Bir Uygulamada PDF'nin nasıl görüntüleneceği hakkında birçok kaynak vardır UIView
. Şu anda üzerinde çalıştığım şey bir PDF oluşturmaktır UIViews
.
Örneğin, bir var UIView
TextView'lar gibi subviews ile, UILabels
, UIImages
, peki nasıl bir dönüştürebilir Big UIView
PDF için tüm subviews ve subsubviews dahil bir bütün olarak?
Apple'ın iOS referansını kontrol ettim . Ancak, yalnızca metin / resim parçalarını bir PDF dosyasına yazmaktan bahsediyor.
Karşılaştığım sorun, bir dosyaya PDF olarak yazmak istediğim içeriğin çok fazla olması. Bunları PDF'ye parça parça yazarsam, yapılacak çok iş olacak. Bu yüzden UIViews
PDF'lere ve hatta bitmap'lere yazmanın bir yolunu arıyorum .
Stack Overflow'da diğer Q / A'dan kopyaladığım kaynak kodunu denedim. Ancak bana yalnızca UIView
sınır boyutunda boş bir PDF veriyor .
-(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);
}