2010-08-03 110 views
1

這是我的情況。 我已經用Java寫了一個數據庫應用程序。 現在(不幸的是作爲事後的想法)我想從數據庫中提取數據來生成表單。如何使用Java生成可打印(可保存)的表單?

通過窗體我的意思是一個可保存和可打印的文件(與UI或swing沒有任何關係)。 基本上我想採取一個模板表格,並填寫從數據庫中提取的數據。

這是否有任何簡單的API? 我真的不關心文件格式,它只是可以保存和打印(pdf,word,open office等)。儘管如此,表單必須能夠具有不同的字體和圖像。

我查看了Apache POI for MS Word文檔和其他一些API,這些看起來非常痛苦。

有沒有人有任何特定API的良好體驗?

感謝您的幫助!

回答

1

我會推薦iText,因爲它可以讓您將Graphics2D寫入PDF畫布,這意味着您可以輕鬆地在圖像中嵌入圖像等。

圖書館的一個小問題是,我認爲最好的例子是Bruno Lowagie(ISBN:1932394796)的「iText in action」一書,它的價格大約爲50美元。

iText可以有一個相當陡峭的學習曲線,但對於形式等,它應該相當容易。另一個優點是它可以與例如JFreeChart的。

如果您只想填寫已經生成的PDF表單,iText就是要走的路,因爲它具有一些非常好的抽象。

+0

非常感謝您的幫助! iText確實看起來可能有效,與我看過的其他圖書館相比,看起來很簡單。然而,如果我可以擁有一個我的程序將填寫的PDF「模板」,而不是生成整個PDF,那對我來說會容易得多。 iText支持嗎? 我問,因爲有網站說,編輯現有PDF是有問題的。 http://itextpdf.com/faq.php?branch=faq.pdf_in_general&node=replace_word – DRJTower 2010-08-04 16:34:54

+0

填寫模板相當容易。編輯PDF是有問題的,但是由於表單使用AcroForm標準,所以實際上並沒有編輯PDF元素,只需在其中放入數據即可。 填寫表單非常簡單,只需要在數據結構中放入一些字符串並將它們映射到給定模板的變量名稱即可。 – Jes 2010-08-05 19:35:36

4

根據你的需要,你可以使用一個像reportgenerator或jasperreports去的PDF庫一樣iText

+0

在使用iText之前,爲了完全相同的目的,我可以爲此擔保。 +1。 – 2010-08-03 20:40:09

0

Docmosis是一個很好的圖書館,以及用於填充模板和輸出各種格式。我看過一些使用iText和Docmosis的地方,因爲每個地方都有優勢。

0

感謝您的幫助!我決定結合使用iText和JXL(一個Excel API)。

相關問題