【问题标题】:Replace matched text in PDF with hyperlinked text用超链接文本替换 PDF 中的匹配文本
【发布时间】:2015-06-24 17:22:38
【问题描述】:

我想在 PDF 上进行查找/替换:用同一字符串的 hyperlinked 版本替换所有出现的字符串。最终结果应该是带有超链接文本的 PDF 的新版本。

即匹配的字符串 -> Matched String

对解决这个问题的最佳方法有什么想法吗?

更新:我目前遇到的挑战是如何在 PDF 中找到给定字符串的位置(例如 x/y 坐标)。

【问题讨论】:

  • 你怎么知道链接到什么? str_replace,preg_replace。
  • str_replace 和 preg_replace 将不起作用。 FPDF 不是 HTML,需要使用Cell<a> 标签将不起作用。

标签: php pdf pdf-generation tcpdf fpdf


【解决方案1】:

FPDF 的文档很有用:http://www.fpdf.org/en/doc/

您可以使用Cell 设置链接。您必须为每次出现的要链接的子字符串拆分较大的文本正文。在整个文档的打印过程中,您还需要非常注意 xy 值,以便无缝添加带有 Cell 的链接。

FPDF 也有 Link,但他们的文档是这样写的:

在页面的矩形区域放置一个链接。文本或图像链接通常通过 Cell()、Write() 或 Image() 放置,但此方法可用于定义图像内的可点击区域。

澄清一下,FPDF 和 HTML 不同。不要使用<a> 链接,使用FPDF 的Cell

【讨论】:

  • 谢谢,关于检测 PDF 中匹配字符串位置的最佳方法有什么想法吗?我遇到了SetaPDF-Extractor - 看起来很理想 - 但我想知道是否有办法在不花费许可证的情况下实现这一目标......
  • 其实这不好,因为它只匹配整个单词,而不是短语。
  • 单词按阅读顺序排序,因此您需要添加一个重新构建短语的逻辑。您可以查看评估版附带的“CreateLinkAnnotation.php”示例。它基于在 PDF 页面内容中找到的 url(由几个“单词”部分表示)构建链接。
  • @user3321008 我只想告诉你,我们刚刚在我们的网站上准备了一个"phrase search" demo
猜你喜欢
  • 2023-01-12
  • 2011-07-06
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 2023-01-25
相关资源
最近更新 更多