从html模板动态生成pdf文件,并在java中生成目录

Siv*_*eja 5 html java pdf itext

我们有一个编辑器,用于设计目录模板.它基本上是为了设计目的.首先,我们在编辑器中设计一个模板,并以该模板格式绑定我们的数据.然后我们从前端获取HTML格式的模板.从该模板,我需要绑定数据并生成目录(索引)的pdf文件.

许多人建议使用itext库.但我的要求是不将html页面转换为pdf.我必须根据用户动态生成的html模板转储我的所有产品数据.

任何人都可以建议如何实施它?

Raj*_*Raj 7

有一些开源和一些付费选项.如果您可以使用AGPL许可下的产品,itext imho将带来最佳结果.

如果您正在寻找开源/免费

另一个Html到Pdf转换器==> http://www.allcolor.org/YaHPConverter/

wkhtmltopdf ==> http://wkhtmltopdf.org/

PDF Box ==> http://pdfbox.apache.org/

itext(AGPL(免费)/商业许可证)http://itextpdf.com/pricing

如果您正在寻找付费(并且几乎总是更容易)

http://docraptor.com/

http://pd4ml.com/

http://pdfcrowd.com/web-html-to-pdf-java/

http://www.aspose.com/docs/display/pdfjava/Convert+HTML+to+PDF+Format

http://www.princexml.com/

关于TOC

这个答案由itext的Bruno Lowagie creater提供.

http://support.itextpdf.com/node/113

有不同的方法来解决这个问题.

解决方案1:您可以在第一遍中创建带书签的PDF,而无需担心目录.然后在第二遍中,您将生成的PDF用于创建基于书签的TOC,并使用TOC创建新PDF,然后是内容.

解决方案2:您可以同时创建两个PDF文件,一个包含实际内容,另一个包含TOC.一旦创建了所有内容,就可以连接两个文件:首先是TOC,然后是实际内容.

解决方案3:您可以将TOC的所有条目保留在内存中,在文档末尾添加这些条目,然后重新排序页面.

这三种解决方案是第一个浮现在脑海中的解决方案(基于本书中的例子); 可能还有其他方法可以做到这一点.

您需要考虑一个主要难题:页码如何?

如果您查看Manning书(例如"iText in Action"),您会看到TOC编号为i,ii,iii,iv,v,...而实际内容编号为1,2,3 ,4,5,......

如果你想避免这种情况,如果你想从头开始对第1,2,3,4,5,6,7 ......页面进行编号,那么你在"两次通过"中创建PDF的解决方案是最好的,因为您可以等到第二遍之后添加页码(只有那时你知道TOC中有多少页).

还要检查链接

http://itextpdf.com/sandbox/merge/MergeWithToc

如何使用iText生成目录"TOC"?