使用 dompdf 生成带有内部锚链接的 pdf

Han*_*ith 6 pdf-generation dompdf

我正在使用 dompdf 来整理大量现有 HTML 页面。其中很多页面都有我想保留的锚链接。当我整理这些文章时,pdf 整理得非常好,但锚链接不起作用。文本像链接一样带有下划线,但单击它后您不会去任何地方。

我有一些测试 HTML,用于尝试锚链接。例如:

$content .= '<div style="page-break-after: always;"><a href="#link">blah</a></div> 
             <div><a id="blah">link location</a></div>';
Run Code Online (Sandbox Code Playgroud)

而且我还尝试根据此论坛帖子使用名称而不是 id - http://www.dashinteractive.net/dompdf/index.php?v=1530231。例如:

$content .= '<div style="page-break-after: always;"><a href="#link">blah</a></div> 
             <div><a name="blah">link location</a></div>';
Run Code Online (Sandbox Code Playgroud)

当然,这些都没有像我预期的那样工作。

我在互联网上找不到太多关于 dompdf 如何处理内部链接的信息。除了这个页面http://webresourcesdepot.com/html-to-pdf-rendering-engine-dompdf/说它可以处理链接和锚点。不知道可信度如何...

请问如何使用 dompdf 将内部锚链接放入 pdf 中?它能做到吗?

Bri*_*anS 7

只要您使用该<a name="blah">...</a>格式,dompdf 到 0.6.2 就应该可以工作。该版本中的唯一问题是,如果 A 标记为空,它将在链接呈现之前被删除。

您的第二个示例应该没问题,尽管可能只是作为输入问题的一部分,实际的锚引用不正确。以下应该有效:

<div style="page-break-after: always;"><a href="#blah">blah</a></div>
<div><a name="blah">link location</a></div>
Run Code Online (Sandbox Code Playgroud)

当前的 0.7.0 测试版有一个错误,该错误会破坏锚点,从而导致链接类型被错误解释。这个问题应该在稳定的 0.7.0 版本中得到解决。

请注意,v0.7.0 及以下版本均不支持基于 ID 的链接。