已解决:寻找一种自动生成内部 PDF 超链接的方法

SOLVED: Looking for a way to automate generation of internal PDF hyperlinks

我有一个 300 多页的 PDF 文档,需要添加内部页面 links 以引用文档中的其他页面。该文档是在 Visio 中创建的,它不支持在 PDF 导出中生成一致的 hyperlink,因此 link 生成需要在 PDF 本身上完成,而不是在链上完成。这是每年的需求,由于需要大量的体力劳动、时间和检查,通常需要一周以上的时间。

经过 hyperlinked 的文本在每种情况下都具有相同的格式(例如,“请参阅第 8.18 节 - 如何进行 Hyperlink”),我确信这可以自动化,因为有商业插件可以做到这一点,但它们要花费数百美元,并且由于我的雇主施加的限制而无法在这种情况下使用。示例:https://www.evermap.com/ABAddingHyperlinks.asp

我一直在查看 Acrobat 插件 SDK,它似乎可行,但我知道 Acrobat 还可以使用更高级别的脚本语言。有没有人有使用 PDF 或 Acrobat 脚本/SDK 工具的经验?有这样做的开源方法吗?我到处都看过了!愿意学习。我查看了 Ghostscript (Adding internal hyperlink to a pdf),但我需要的不仅仅是 Table 的内容,而且 links 可以出现在页面上的许多地方并带有换行符,所以一致性是一个挑战。

编辑:我找到了解决方案! Bluebeam 软件的 Revu Extreme 非常好用,可以作为所有功能的 30 天免费试用版。唯一的限制是 link 跨越换行符(多行文本)在 Edge 或 Chrome 的 PDF 查看器中无法正常工作,因为它们不正确支持 hyperlinks 具有多个点击区域。我已经提交了一张票,请求将一项功能添加到 Revu 来解决这个问题,但现在这些 link 需要在批处理 link 之后手动修复。该过程在此处描述:https://support.bluebeam.com/online-help/revu2018/Content/RevuHelp/Menus/Batch/Link/Batch-Link--T.htm

您可以使用 Ghostscript 将超链接添加到文档,但您需要提前知道超链接文本的位置和目标,您无法将其自动化,或者事实上编写任何相当简单的代码来自动化该任务使用 Ghostscript。您需要修改 PDF 解释器的块,它是用 PostScript 编写的,对于非 PostScript 专家的任何人来说都不是一项任务。

您或许可以使用 MuPDF 来完成,并可能使用 MuJS 来编写脚本,但我的知识还不足以确定。它仍然需要一些编码工作,但至少使用起来可能更容易 JavaScript。

编辑:我找到了解决方案! Bluebeam 软件的 Revu Extreme 非常好用,可以作为所有功能的 30 天免费试用版。唯一的限制是 links 跨越换行符(多行文本)在 Edge 或 Chrome 的 PDF 查看器中无法正常工作,因为它们不正确支持 hyperlinks 具有多个点击区域。我已经提交了一张票,请求将一项功能添加到 Revu 来解决这个问题,但现在这些 link 需要在批处理 link 之后手动修复。该过程在此处描述:https://support.bluebeam.com/online-help/revu2018/Content/RevuHelp/Menus/Batch/Link/Batch-Link--T.htm