2014-10-12 63 views
0

我正在研究一個小型Scala/Java原型,其中有幾個PDF模板,即它們具有文本和圖像佔位符,佔位符應替換爲一些內容。某些部分也是多個部分,即實際出現次數或重複次數取決於輸入。最後我需要生成並追加一個額外的PDF頁面。如何使用iText以外的內容從模板PDF生成PDF輸出?

我知道這些用例可以用iText覆蓋。我的問題是我是否可以爲此使用替代解決方案(以及如何執行此操作)。我寧願暫時避免商業解決方案。

更新:我想讓我的PDF模板由專業設計師創建。他們會知道佔位符的位置,但應該完全控制設計方面。此要求僅放棄基於XML輸入的解決方案或完全以編程方式創建PDF的其他解決方案。

+1

有一個較老的iText版本(2?),它是在LGPL下發布的,而非AGPL 3發佈的。 – 2014-10-12 11:58:39

+0

您可能會感興趣的看看http://go.applidok.com,它有API將數據與包括Scala(http://play-demo.applidok.com)在內的多種語言的PDF模板進行合併。 – cchantep 2014-10-12 13:02:54

回答

1

Jasper - 這是一個軟件設計用於創建與數據庫輸入相關的動態報告,但我認爲它可以以您想要的方式使用。有一個圖形設計器(根據您的偏好設置iReport或JaspersoftStudio),支持傳遞多個變量與內容甚至圖像。長時間靜態格式化文本可能是一個問題,但您必須自己判斷。

JODReports + JODConverter - 這兩個工具將允許您的設計人員使用純粹的ODT(OpenOffice格式)文件,將動態數據作爲變量,您可以用Java代碼替代您的內心需求並打印輸出以PDF格式。除此之外,感謝Java UNO API,您可以抓住對模板的外觀和行爲方式的完全控制,如果插入的文本非常複雜(儘管承認它不直觀)。