我想对现有的 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
答案3
带有pdfpages
和bookmark
包的 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 进行编辑。