Ada banyak sumber daya tentang cara menampilkan PDF di Aplikasi UIView
. Apa yang saya kerjakan sekarang adalah membuat PDF dari UIViews
.
Sebagai contoh, saya memiliki UIView
, dengan subviews seperti TextViews, UILabels
, UIImages
, jadi bagaimana bisa saya mengkonversi besar UIView
secara keseluruhan termasuk semua subviews dan subsubviews ke PDF?
Saya telah memeriksa referensi iOS Apple . Namun, ini hanya berbicara tentang menulis potongan teks / gambar ke file PDF.
Masalah yang saya hadapi adalah banyak konten yang ingin saya tulis ke file sebagai PDF. Jika saya menuliskannya ke PDF sepotong demi sepotong, itu akan menjadi pekerjaan besar yang harus dilakukan. Itulah mengapa saya mencari cara untuk menulis UIViews
ke PDF atau bahkan bitmap.
Saya telah mencoba kode sumber yang saya salin dari Q / A lain dalam Stack Overflow. Tapi itu hanya memberi saya PDF kosong dengan UIView
ukuran batas.
-(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);
}