【问题标题】:wkhtmltopdf internal linkswkhtmltopdf 内部链接
【发布时间】:2013-12-13 01:41:23
【问题描述】:

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

问题是我想实现与microsoft word的索引类似的功能。

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

关于如何实现这一点的任何线索?

我在 Windows 中使用 wkhtmltopdf 版本 0.11.0 rc2,但迟早我必须将其移至 linux,因此我需要操作系统之间的兼容解决方案。

非常感谢。

【问题讨论】:

    标签: hyperlink indexing pdf-generation wkhtmltopdf


    【解决方案1】:

    我自己找到了解决方案,但我还没有检查与 Linux 的兼容性。

    为了实现你在html中添加的内部链接:

    链接目标:

     <a name="name_of_target">Content</a>
    

    链接到目标:

     <a href="#name_of_target">Link Text</a>
    

    转换成pdf后效果很好。

    【讨论】:

    • 是的,这是在 HTML 中创建内部链接的经典方法。在 wkhtmltopdf 中,请记住,如果您编辑 PDF(例如添加/删除页面),链接可能会损坏。
    • 我已经注意到了,因为我稍后要添加首页。所以为了解决这个问题,我在开始时添加了一个空页面,稍后用首页替换它,这样做我得到的链接在修改后仍然有效。
    • 在 wkhtmltopdf 中还有一个选项可以从单独的 HTML 文件中进行覆盖,使用 cover /path/to/cover.html 选项。我使用它,但它确实限制了使用,因为 wkhtmltopdf 并不能很好地处理复杂的布局。
    【解决方案2】:

    我对 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>
    

    但仍然无法正常工作,文档中的其他链接运行良好。 然后我用跨度替换了 div 并且它起作用了。

     <a name="name_of_target"><span><img src="image.png">Content</span></a>
    

    该问题与 div 元素的 显示块 规则有关。当我将 display block 规则添加到 span 时,链接不再起作用。

    【讨论】:

      【解决方案3】:

      这可能很棘手。例如。不可见(空)链接不能作为目标。此外,结构似乎很重要,并非所有有效的 html5 布局都有效。例如。我发现虽然这有效:

      <h2><a name="name_of_target">Target</a></h2>
      

      这不是:

      <a name="name_of_target"><h2>Target</h2></a>
      

      尽管两者都是完全有效的(在 html5 中)。 (我使用的是 0.12.6 版本。)

      【讨论】:

        猜你喜欢
        • 2012-03-19
        • 2012-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-15
        • 2011-06-05
        • 2019-08-11
        • 1970-01-01
        相关资源
        最近更新 更多