2010-08-03 112 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)。

相关问题