我正在使用wkhtmltopdf从我的html模板生成报告,我正在尝试为输出PDF生成索引。
问题是我希望实现与微软词的索引类似的功能。
为此,我需要在文档中使用多个内部链接,因此当单击PDF的索引时,它会转到第10页。
有关如何实现这一目标的任何线索?
我在Windows中使用wkhtmltopdf版本0.11.0 rc2,但迟早我将把它转移到linux所以我需要在操作系统中使用兼容的解决方案。
提前多多感谢。
答案 0 :(得分:2)
我自己得到了解决方案,但我还没有检查与Linux的兼容性。
为了实现你在html中添加的内部链接:
链接的目标:
<a name="name_of_target">Content</a>
指向目标的链接:
<a href="#name_of_target">Link Text</a>
转换为pdf时效果很好。
答案 1 :(得分:0)
我在wkhtmltopdf中遇到了相同的问题
wkhtmltopdf 0.12.2.1 (with patched qt)
在软件包中安装了debian 9。
wkhtmltox-0.12.2.1_linux-jessie-amd64.deb
我使用命令选项启用了内部链接
--enable-internal-links
我使用了目标:
<a name="name_of_target"><div><img src="image.png">Content</div></a>
和链接
<a href="#name_of_target">Link Text</a>
但仍然无法正常工作,该文档中的其他链接运行良好。 然后我用一个span替换了div,它起作用了。
<a name="name_of_target"><span><img src="image.png">Content</span></a>
该问题与div元素的 display block 规则有关。当我在范围内添加 display block 规则时,链接不再起作用。
答案 2 :(得分:0)
这可能很棘手。例如。不可见(空)链接不能作为目标。此外,结构似乎很重要,并非所有有效的 html5 布局都有效。例如。我发现虽然这有效:
<h2><a name="name_of_target">Target</a></h2>
这不会:
<a name="name_of_target"><h2>Target</h2></a>
尽管两者都完全有效(在 html5 中)。 (我使用的是 0.12.6 版本。)