修改PDF文件

修改PDF文件

我想对现有的 PDF 文件进行一些基本编辑。进一步来说:

  • 添加章节/书签
  • 更改页码

但是,我找不到任何可以提供此功能的工具、GUI 或命令行。有没有免费开放的替代工具?

答案1

我用pdftk主要是.但这里还有其他一些需要考虑的因素:

pdfsam(PDF 拆分和合并):“pdfsam是一个开源工具(GPL许可证),旨在处理pdf文件”

PDF切片器:“一个用于提取、合并、旋转和重新排序 PDF 文档页面的简单应用程序。”

PDFJam:“一小部分 shell 脚本,为出色的 pdfpages PDF 文件包(由 Andreas Matthias)的许多功能提供了一个简单的接口,用于pdfLaTeX。”(您也可以直接使用pdfLaTeX。)

jPDF调整:“jPDF Tweak 是一个 Java Swing 应用程序,可以组合、分割、旋转、重新排序、加水印、加密、签名以及以其他方式调整 PDF 文件。”

墨景:矢量图形编辑器,既可以将 PDF 页面导入为其原生 SVG 格式,也可以导出为 PDF。

口径:开源电子书管理软件,可以将 PDF 转换为其他格式,并以其他方式操作它们。附带命令行工具,例如pdf操作这可能很有用。

鬼脚本当然也可以对 PDF 文件做很多事情。

答案2

我知道在 Linux 下操作 PDF 的两个程序:

偏微分方程编辑“PDFedit 是一个免费的开源 pdf 编辑器和一个用于操作 PDF 文档的库,根据 GNU GPL 版本 2 的条款发布。它包括基于 xpdf、GUI、命令行工具集和 pdf 编辑器的 PDF 操作库。”

pdftk“如果 PDF 是电子纸,那么 pdftk 就是电子订书机、打孔器、活页夹、秘密解码器环和 X 射线眼镜。Pdftk 是用于处理 PDF 文档日常事务的简单工具。”

答案3

带有pdfpagesbookmark包的 LaTeX 可以完成大部分这些事情。

这是通过创建一个新tex文档并通过\includepdf(请参阅pdf页面手册)。

您还可以更改页码,例如

\pagenumbering{roman}
\setcounter{page}{1}
% include pdf pages that should have roman numbering (the front matter)
\pagenumbering{arabic} % switch to arabic numbering
\setcounter{page}{1} % reset page counter
% include pdf pages that should have arabic numbering (the main matter)

这些“逻辑”页码只是大多数 PDF 阅读器可以用来导航到特定页面的标签。对于较低级别的交互,仍然有从 1 开始连续运行的底层“物理”页码(见下文)。

在包含具有正确逻辑页码的现有 pdf 页面后,您可以使用该\bookmark命令设置 PDF 书签(“大纲”)。基本语法是

\bookmark[page=<pagenumber>,level=<level>]{<title>}

其中<pagenumber>是目标页面的页码。请注意,这些不是之前定义的“逻辑”页码,而是从 1 开始连续运行的内部页码,从 pdf 的开头开始。嵌套书签是通过指定 来完成的<level>,其中0是顶层。这<title>是 PDF 阅读器大纲中显示的文本。请参阅书签手册了解详情。

编译tex文件将生成一个带有所需页码和书签的新 PDF。

有关如何将所有这些结合在一起的完整示例,请参阅https://michaelgoerz.net/notes/pdf-bookmarks-with-latex.html

答案4

pdfimport for openoffice 是编辑 PDF 文档并重新导出为 PDF 或保存为其他格式的良好替代方案。导入的 PDF 可以使用 OpenOffice Draw 进行编辑。

相关内容