从html模板动态生成pdf文件并用java生成目录

从html模板动态生成pdf文件并用java生成目录,java,html,pdf,itext,Java,Html,Pdf,Itext,我们有一个编辑器,用于为目录设计模板。这基本上是为了设计目的。首先,我们在编辑器中设计一个模板,并以该模板格式绑定数据。然后,我们从前端获取HTML格式的模板。根据该模板,我需要绑定数据并生成带有目录(索引)的pdf文件 许多人建议使用itext库。但我的要求不是将html页面转换为pdf。我必须根据用户动态生成的html模板转储所有产品数据 有谁能建议如何实现它吗?有一些开源和付费选项。如果你能使用AGPL许可下的产品,itext imho将带来最好的结果 如果您正在寻找开源/免费 另一个Ht

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

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


有谁能建议如何实现它吗?

有一些开源和付费选项。如果你能使用AGPL许可下的产品,itext imho将带来最好的结果

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

另一个Html到Pdf转换器==>

wkhtmltopdf==>

PDF框==>

itext(AGPL(免费)/商业许可证

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

关于TOC 这个答案由itext的Bruno Lowagie创建者提供。

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

解决方案1:您可以在第一次创建带有书签的PDF,而无需担心目录。然后在第二步中,使用生成的PDF根据书签创建一个TOC,并使用TOC创建一个新的PDF,然后是内容

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

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

这三个解决方案是首先想到的(基于书中的例子);也许还有其他方法可以做到这一点

你需要考虑一个主要的困难:页码呢

如果你看一本人员配备手册(例如“iText in Action”),你会发现TOC编号为i、ii、iii、iv、v,。。。而实际内容编号为1、2、3、4、5

如果你想避免这种情况,如果你想编号的第1,2,3,4,5,6,7页,。。。从一开始,最好的解决方案是“分两次”创建PDF,因为您可以等到第二次创建时再添加页码(只有这样您才知道TOC中有多少页)

还要检查链接


你能建议我如何像一本有索引的书一样为pdf生成目录吗。谢谢