wkhtmltopdf内部链接

时间:2013-11-27 12:06:46

标签: hyperlink indexing pdf-generation wkhtmltopdf

我正在使用wkhtmltopdf从我的html模板生成报告,我正在尝试为输出PDF生成索引。

问题是我希望实现与微软词的索引类似的功能。

为此,我需要在文档中使用多个内部链接,因此当单击PDF的索引时,它会转到第10页。

有关如何实现这一目标的任何线索?

我在Windows中使用wkhtmltopdf版本0.11.0 rc2,但迟早我将把它转移到linux所以我需要在操作系统中使用兼容的解决方案。

提前多多感谢。

3 个答案:

答案 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 版本。)