【问题标题】:Add link to PDF within a PDF file using relative addressing使用相对寻址在 PDF 文件中添加指向 PDF 的链接
【发布时间】:2022-06-15 13:07:48
【问题描述】:

我想在 PDF 中添加指向某些文本的链接,该链接将打开位于同一文件夹中的另一个 PDF。我希望使用相对寻址,以便 PDF 套件可以传输到其他用户和计算机。我希望这可以在 Linux 和 Mac 上运行。 尽管做出了承诺,LibreOffice Draw 仍将链接地址写为完整路径。因此,如果与另一个用户一起带到另一台计算机,则链接将无法工作。 我尝试使用 vi 手动编辑 PDF 文件并更改了链接语法;

<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[940.9 480.3 1200.7 507.9]/A<</Type/Action/S/URI/URI(Content/Information.pdf)>>

目标文件“Information.pdf”位于子目录“Contents”中。

在使用 Document Viewer 的 Linux 上,它可以工作!在 Apple 上,预览(PDF 查看器)解释目标文件需要由某些应用程序打开。 Adobe Reader 也不喜欢这种语法。我尝试使用关键字“file:”为文件名添加前缀,该关键字适用于完整路径,但不适用于相对寻址。 有谁知道什么语法对我有用

【问题讨论】:

  • 相对外部链接在查看者之间可能变化无常,因此不具有普遍性,理论上您可能会劫持用户的视图,因此更多安全意识的查看者的行为可能会有所不同。但是,作为同一个文件夹,我会使用 ./contents/file.pdf 和 /../contents/file.pdf 或 //./contents/file.pdf 测试您的目标,但这些目标可能非常特定于查看器,测试范围。 A 类型地址是 ``www a href` 文件更正常使用类似 > 但你应该再次使用 RTLM(阅读链接手册)archive.org/details/pdf1.7跨度>
  • 我尝试了 KJ 的语法建议,但没有任何效果。我收到了一些来自旧打印机帮助文件的 PDF 文件。一个 PDF 上的按钮链接到同一文件夹中的另一个 PDF。遗憾的是,这些文件是某种二进制格式,并且引用的文件名不可见。尽管如此,它表明这是可以做到的。 PDF 参考手册不包含本地相对寻址信息,但确实提到了到内部页面的链接。有一些 Python 程序可以为 PDF 添加链接。论坛建议他们是错误的。我可能不得不探索这种方法。
  • 像 VI 这样的文本编辑器可能是您的问题的原因,因为 PDF 是二进制密集型(混合混合),因此链接的位置可能被编码在压缩流中。如果没有样本,除了 acrobat 强度编辑之外,您几乎无法说出您需要什么。 50 美元的编辑器可能在图形上做得很好,但在没有解压缩的情况下在文本编辑中修改并不总是那么容易。任何带有这对拉链的样品都可以发布到transfer.sh,并且在 30 天内,上面的链接将有助于其他人查看问题
  • 引用本地文件的打印 PDF 示例已压缩。我用 Python

标签: pdf hyperlink


【解决方案1】:

编辑 PDF,您可以使用 LibreOffice Draw 选择文本并添加超链接。然后可以使用 vi 等文本编辑器编辑 PDF 文件。 要找到带有链接的行,请搜索目标的文件名。一个问题是 LibreOffice 坚持使用完全限定的域名来定位文件,而这在文件被移动后将不起作用,比如移动到另一台计算机上。未编辑的行应该类似于;

<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[940.9 480.3 1200.7 507.9]/A<</Type/Action/S/URI/URI(File:<fullpathname>/Content/Information.pdf)>>

其中 Content/Information.pdf 是与链接 pdf 位于同一目录中的链接目标。这行应该改成

<</Type/Annot/Subtype/Link/Border[0 0 0]/Rect[940.9 480.3 1200.7 507.9]/A<</Type/Action/S /Launch/F(Content/Information.pdf)>>

这适用于 Unix 和 MacOs

【讨论】:

    猜你喜欢
    • 2013-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-15
    • 2016-09-06
    • 2011-01-14
    • 2014-04-11
    • 2017-11-15
    相关资源
    最近更新 更多