如何删除 PDF 书签(从终端或通过编程)?

如何删除 PDF 书签(从终端或通过编程)?

我很惊讶没有简单的方法可以从 PDF 中删除书签。pdftk
做不到,据我所知 ghostscript 也一样,qpdf... 而且据我所知没有其他重要的工具

对我来说,现在最简单的是 PDF Mod GUI,它可以逐个删除书签 - 用户必须单击父书签并按删除,依此类推,对于所有顶级节点,这很愚蠢

我也知道可能有一些 Java GUI 可以做到这一点,但我不想在需要时加载 Java 只是为了删除书签

我还可以接受一些程序化解决方案,python、perl......

答案1

解决方案pdftk威蒂

解决方案是指定 PDF 的页面范围。cat 操作的记录行为是仅在未指定页面范围时保留书签。它还确认 A1-end 将始终包含整个 PDF。测试确认这会清除 PDF 中的任何书签。

pdftk A=example_input.pdf cat A1-end output example_output.pdf

这对我有用。

答案2

如果您有 Adob​​e Acrobat Pro,您可以使用以下简单的 AppleScript 删除前面 PDF 文档的所有书签:

tell application "Adobe Acrobat Pro"
    delete bookmarks of document 1
end tell

答案3

我发现从 PDF 中删除所有书签的简单方法是打开文档并将其作为 PDF 打印到新文件中。

它有效、快速而且简单。

答案4

这是一个简单(但不一定便宜)的方法。

  1. 使用 Adob​​e Acrobat DC(或 Pro 任何版本)。
  2. 这里并安装操作“删除隐藏信息”。

此操作还允许您删除除书签之外的其他令人讨厌的隐藏信息(见下图)。这有助于减小文件大小。

与 Adob​​e Acrobat 的操作向导一起使用,您还可以从任意数量的 PDF 中批量删除书签。

在此处输入图片描述

相关内容