2013-02-18 105 views
1

我目前正在開發一個執行多個操作的OSX應用程序,並且應該提供一個選項來導出一些PDF格式的數據。用Cocoa填充PDF

生成的PDF應該有一個複雜的風格:一些帶邊框和背景的矢量元素,一個可選的圖像,自定義字體類型以及一些段落格式。

我有從應用程序控制Adobe InDesign注入數據到模板並導出PDF文件的經驗,但在這種情況下,我需要將所有功能嵌入到我的應用程序中,因此我的客戶端不需要任何東西其他。

我需要一種方法來創建一些模板,我可以從應用程序中注入數據,並且可以重複模板的設計元素。設想一個發票,它有一些需要填充一次的字段,如客戶名稱和地址;但發票中列出的每種產品都需要重複其他元素。

我一直在研究這個問題,我發現了關於可可繪圖和石英的一些信息,但是這需要在我的應用程序中編寫模板,並且很高興能夠單獨使用它們,因爲應用程序的可導入數據。 (這是因爲我也是一名設計師,我想爲我的應用程序的用戶提供自定義模板設計)。

也許一種方法可能是使用HTML/CSS渲染(在應用程序中或遠程)並將其轉換爲PDF?我可以在應用程序或PHP中進行轉換......這兩個選項是否可以保持元素矢量?這並不重要,這只是文件大小的問題。

是否有任何方式/可可圖書館以類似的方式得到我的想法?我在Cocoa並不是一個非常有經驗的程序員,事實上我對它很陌生,但我在很多其他OOP語言中做了很多事情。

對不起,我只是想澄清我的項目。

謝謝!

+0

我覺得你的選擇是使用的NSView/NSTableView的,或者說這使得在Web視圖。我沒有意識到任何Cocoa的基於模板的報告庫,儘管我已經看到了類似iOS的商業工具。 – paulmelnikow 2013-02-18 18:58:37

回答

0

您可以使用PDFPageBuilder框架在Cocoa應用程序中生成合理複雜的模板驅動的PDF。有一個體面的演示應用程序包括,表明支持的功能範圍。

文本可以精確定位,樣式選項包括字體名稱,大小,顏色和段落對齊方式。圖像也可以插入。

還支持枚舉對象和簡單的布爾條件表達式。

https://github.com/ThesaurusSoftware/PDFPageBuilder