如何编辑 PDF 文件中的目录?

fak*_*ake 12 linux pdf table-of-contents editing

如何在 Linux 上编辑 PDF 文件的目录?我试过了,pdfedit但找不到内容表列表的存储位置。

Yve*_*tin 5

要编辑 PDF 中的书签,我建议使用PdfMod,它也能够合并和拆分现有文档,删除、提取或旋转页面。


dal*_*lai 5

一个非常好的替代方案是使用HandyOutliner,它适用于 PDF 和 DJVU。它还提供了非常好的编辑目录的功能。它可以在带有单声道的 GNU/linux 上运行。

此外,还有一个非常方便的python 脚本,称为 document-contents-extractor,用于从 PDF 或 DJVU 中提取内容。它可以用 pip 安装(对于我来说在 Fedora 上pip3 install --user document-contents-extractor)。它需要安装一些额外的依赖项,如此处的说明所示

编辑

实际上,向 PDF 添加目录的最佳工具是使用doc-toc包的 Emacs。使用它只需要很少的 Emacs 知识(如果您已经了解 Vim 键绑定,则使用 Spacemacs 和toc 层)。1

正如 Sam Liao 所提到的,将 TOC 添加到数字制作(即“非扫描”)文档的最佳方法是pdf-tocgen。这是一个非常强大的工具。Emacs doc-toc 包使其更易于使用。

1在 Windows 上,您可能更喜欢通过 WSL 使用 Emacs,否则设置 doc-toc 并不容易(对于 GNU/linux 或 OSX 来说很容易)

结束编辑


Abr*_*xas -8

PDF 是一种图像格式。没有存储表的内容,只有它的“图片”。只有当 PDF 的 OCR 可以将表格读取为文本时才能对其进行编辑,但这是不可能的。您将需要使用另一个应用程序来创建表格,然后将其转换为 PDF。

  • PDF“不是”图像格式。与 JPEG 之类的东西相比,它更类似于 HTML。 (5认同)
  • 这个答案和你上面的评论是非常不准确的。文本不是 ORed,它实际上包含在 PDF 文件本身中。当您使用文本编辑器打开它时,您可以看到诸如“/Length”和“stream”之类的命令。然后可以使用“zlib-flate -uncompress”解压缩带有“/FlateDecode”的对象,这将显示文本。例如,我可以识别“[-1125(In)31(tro)-31(duction)]”中的“Introduction”(由“pdflatex”生成)。 (3认同)