请教一个关于 wkhtmltopdf 实现 html 转 pdf 的小问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个关于 wkhtmltopdf 实现 html 转 pdf 的小问题相关的知识,希望对你有一定的参考价值。

参考技术A 直接复制下来,转换到word格式很简单,直接ctrl + A 再复制,在新建的word文档中粘贴。保存就行了。到pdf就有点麻烦,用到一个Adobe Acrobat 网上下个,按他那个一步一步来就行了。如果满意请采纳如需帮助可继续追问

wkhtmltopdf 内部链接

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

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

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

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

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

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

非常感谢。

【问题讨论】:

【参考方案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 版本。)

【讨论】:

以上是关于请教一个关于 wkhtmltopdf 实现 html 转 pdf 的小问题的主要内容,如果未能解决你的问题,请参考以下文章

wkhtmltopdf 内部链接

Java操作wkhtmltopdf实现Html转PDF

请教一个php数组循环的问题,知道的大神指导一下!

请教关于drawRect的调用问题

请教一个关于tracker server的问题拜托各位了 3Q

请教关于nginx配置404错误页面