在我的iPhone應用程序中,我有幾個數據項。我想使用這些數據項目生成一個PDF文件並在電子郵件中附加PDF文件。我知道,我需要使用Quartz 2D來繪製PDF文件。 有沒有關於繪製PDF的示例代碼或建議?使用數據的PDF生成
1
A
回答
3
下面就是我用來生成包含一些石英圖形PDF格式表示的NSData對象:
NSMutableData *pdfData = [[NSMutableData alloc] init];
CGDataConsumerRef dataConsumer = CGDataConsumerCreateWithCFData((CFMutableDataRef)pdfData);
const CGRect mediaBox = CGRectMake(0.0f, 0.0f, self.bounds.size.width, self.bounds.size.height);
CGContextRef pdfContext = CGPDFContextCreate(dataConsumer, &mediaBox, NULL);
UIGraphicsPushContext(pdfContext);
CGContextBeginPage(pdfContext, &mediaBox);
// Your Quartz drawing code goes here
CGContextEndPage(pdfContext);
CGPDFContextClose(pdfContext);
UIGraphicsPopContext();
CGContextRelease(pdfContext);
CGDataConsumerRelease(dataConsumer);
然後可以此PDF數據保存到磁盤或將其添加爲附件您電子郵件消息,記住完成後發佈。
+0
謝謝! CGContextEndPage,解決了我的錯誤! – Borzh 2015-09-25 12:38:04
1
這裏的CGPDF功能良好的(工作)例如:http://www.olivetoast.com/blog/hamish/simple_uiscrollview_catiledlayer_example.ot
它使用CATiledLayer + UIScrollView的,這可能不適合各種各樣的閱讀器,但它仍然顯示你如何加載和繪製沒有UIWebView的PDF文檔(嚴重限制你的能力)。
將圖層類型更改回圖層,使用CGPDFDocumentGetNumberOfPages添加頁面處理,然後添加CGPDFDocumentGetPage,並且您擁有相當不錯的閱讀器。
我不知道如何執行註釋,我懷疑你需要自己的數據結構在文檔的頂部。
相關問題
- 1. 用於PDF生成的數據安全
- 2. PDF生成動態數據
- 3. 使用CodeIgniter生成PDF
- 4. 生成PDF,使用PHP
- 5. 使用PHP生成PDF
- 6. 使用PDF生成ZIP內
- 7. pdf生成使用mpdf
- 8. 使用perl生成pdf
- 9. 使用iTextSharp生成PDF
- 10. UnicodeDecodeError:Django使用weasyprint生成PDF
- 11. 使用python生成PDF
- 12. 使用iTextsharp生成PDF
- 13. Symfony2 - 使用HTML2PDF生成PDF
- 14. 使用Swift生成PDF
- 15. 使用cfdocument生成PDF
- 16. 使用wkhtmltopdf生成PDF並下載pdf
- 17. 使用Titanium DB上的數據生成PDF文檔
- 18. 如何使用數據庫中的值生成pdf
- 19. 使用Python生成報告:將PDF或HTML生成爲PDF
- 20. 使用Dompdf PDF生成不適用於大數據
- 21. 從sql數據庫生成pdf報告
- 22. 從結構化數據生成PDF
- 23. 從數據庫生成多個pdf
- 24. 如何使用AngularJS動態加載數據來生成PDF?
- 25. JasperReports:使用圖像從數據庫生成PDF
- 26. 用PHP生成PDF
- 27. 使用PDF.js生成PDF的縮略圖
- 28. 使用reportlab生成長表格的pdf
- 29. 使用acts_as_flying_saucer生成pdf的問題
- 30. 用於生成PDF的LaTeX
這[蘋果直營店(http://developer.apple.com/iphone/library/documentation/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_pdf/dq_pdf.html#//apple_ref/doc/uid/TP30001066-CH214-TPXREF101 )有一個你想要的代碼示例。 – TechZen 2009-12-08 04:47:37