2008-09-22 156 views
3

我希望能夠從數據庫或XML或其他任何結構化的表單中生成高度圖形化的(帶有大量文本內容的)PDF文件。從結構化數據生成PDF

目前我們的平面設計師在將內容作爲MS Word文檔獲取後,手動在Photoshop中創建這些PDF文件。但通常情況下,內容有20多個版本;這裏和那裏的小改動,拼寫更正等。

2個缺點是: 1)圖形設計師的時間被不必要地佔用。第一個版本是他/她應該唯一處理的唯一版本。 2)PDF文件成爲現在具有最終修訂內容的文檔,並且初始內容與其不同步。因此,如果最初的內容需要在其他地方(如在網站上),我們需要從PDF文件重新創建它。

生成PDF文件將幫助我解決這兩個問題。也許某種方式,平面設計師創建一個「模板」,然後放入標籤/持有人並將這些標籤/持有人映射到相關數據。

感謝:-)

回答

2

有這樣做的一些工具。 XSL-FO很有用。 Here是一個用cocoon從xml(或xhtml)創建pdf的教程。另見Apache FOP

您可以將您的SQL數據格式化爲XML,並仍然使用相同的模板。

0

你可以看一下在做的PostScript工作流程是純文本格式,你可以很容易地從碎片組成。然後,您可以使用任何free tool轉換爲PDF。

1

我爲此使用ReportLab python庫。它也許可以解決你的問題,但你需要做一些工作...

1

在過去,我寫了腳本吐出乳膠然後用texi2pdf來解決這類問題。

1

看看iReport和JasperReports在http://jasperforge.org。 iReport允許您設計報告,然後您可以用JasperReports庫(Java)以編程方式填充它,或者使用iReport手動創建報告。

我只使用它爲表格數據,但我不認爲其他類型的文件會有任何問題。

1

您可以創建一個表單並使用諸如iText(Java)的PDF庫以編程方式填充條目。

0

看看Prince XML。該工具允許基於XML或HTML和CSS生成PDF。

0

一種可能的方法是使用模板引擎,如FreeMarker或StringTemplate:它們通常用於生成HTML,但它們足夠靈活,可以實際輸出任何格式。
問題在於製作PDF模板,我想。也許你可以採取一個示例輸出並編輯它以用佔位符代替數據以由模板引擎填充。可能不是小事!

0

聽起來像SQL Server Reporting Services可以輕鬆處理的工作。
Reporting Services允許您查詢數據,定義佈局並在沒有任何干預的情況下導出到PDF。 PDF輸出可以通過電子郵件分發,存儲在文件共享中,並通過報告服務器上的頁面訪問。
它也可以處理XML數據源。

0

另一種從數據生成PDF文件的方法是使用基於rubyprawn。對於蝦中包含多少功能,我感到非常驚喜。它可能需要一些投資,但這種方法會給你很大的靈活性。

0

您可以將CSStoXSLFO與RenderX中的XEP結合使用以獲得高質量輸出。藉助此解決方案,您可以將XML數據合併到用CSS裝飾的XHTML模板中。它也可以用奇妙的JFreeChart庫生成圖表。支持CSS3頁面媒體功能。