Có rất nhiều tài nguyên về cách hiển thị PDF trong Ứng dụng UIView
. Những gì tôi đang làm bây giờ là tạo một tệp PDF UIViews
.
Ví dụ, tôi có một UIView
, với subviews như TextView, UILabels
, UIImages
, vậy làm thế nào tôi có thể chuyển đổi một lớn UIView
như một tổng thể bao gồm tất cả subviews và subsubviews của mình cho một PDF?
Tôi đã kiểm tra tham chiếu iOS của Apple . Tuy nhiên, nó chỉ nói về việc ghi các đoạn văn bản / hình ảnh vào tệp PDF.
Vấn đề tôi đang gặp phải là nội dung tôi muốn ghi vào một tệp dưới dạng PDF rất nhiều. Nếu tôi viết chúng thành từng đoạn PDF, đó sẽ là một công việc rất lớn phải làm. Đó là lý do tại sao tôi đang tìm cách ghi UIViews
vào PDF hoặc thậm chí là ảnh bitmap.
Tôi đã thử mã nguồn mà tôi đã sao chép từ Q / A khác trong Stack Overflow. Nhưng nó chỉ cung cấp cho tôi một tệp PDF trống với UIView
kích thước giới hạn.
-(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);
}