从Java创建PDF并在网页中显示它

时间:2008-12-12 21:48:49

标签: java pdf-generation apache-fop

目前我正在使用FOP从java代码和xslt文档生成pdf。 FOP吐出一个PDF文件,显示(嵌入)到网页中。文档的长度可以在一到几千页之间,生成它们可能需要一些时间。

有没有更好的工具,并且这样做? FOP是开源和自由世界的最佳选择吗?

4 个答案:

答案 0 :(得分:4)

我们使用iText

以下是博客条目Comparing Apache FOP with iText

根据您的使用情况(从java代码和xslt文档生成pdf)来看,似乎FOP对您来说是更好的选择。

编辑:关于FOP Vs IText的论坛帖子包括以下内容:

  

就PDF而言,iText比FOP功能更丰富:您可以添加注释,创建AcroForms,对PDF文档进行数字签名。 如果您需要生成包含数千或数千页的PDF文档,iText也是唯一的解决方案。

答案 1 :(得分:1)

您可以使用OpenOffice.org作为服务器运行并远程命令进行文档转换。

除HTML到PDF外,还有其他转换: doc - > pdf,html,txt,rtf xls - > pdf,html,csv ppt - > pdf,swf

代码示例:

import officetools.OfficeFile; ... FileInputStream fis = new FileInputStream(new File(“c:/test.html”)); FileOutputStream fos = new FileOutputStream(new File(“c:/test.pdf”));

//假设OpenOffice.org在localhost上运行,端口8100

OfficeFile f =新的OfficeFile(fis,“localhost”,“8100”,true); f.convert(FOS, “PDF”);

从:使用PHP,Java或ASP从HTML到PDF: dancrintea.ro/html-to-pdf/

答案 2 :(得分:1)

这个答案对你来说太迟了,但如果它能帮助其他搜索者,Docmosis可以以相当高的速度生成文档,并且可以在多台计算机上传播高负载。它使用OpenOffice作为底层格式转换引擎,通过Docmosis Java API添加文档填充和操作工具 几千页文档将占用大多数系统一段时间,但如果系统(或您的代码)允许您并行化并分配工作量,那么即使单个文档时间可能很长,至少平均文档速率也可能很高显著。

JODReports是另一个类似的选择。

答案 3 :(得分:0)

Adob​​e ColdFusion拥有best built-in PDF support