我想编辑扫描的 PDF 的元数据以将自定义页码分配给不同的页面。例如,现在第 1-3 页是什么,我可能想调用 i、ii 和 iii,而第 4-10 页是什么,我想调用 1-7。我不想更改页面的实际顺序。
有没有一种方法可以使用免费工具来做到这一点;和 B)一种“批量”执行此操作的方法(因此,无需手动重新编号每页)。
我想编辑扫描的 PDF 的元数据以将自定义页码分配给不同的页面。例如,现在第 1-3 页是什么,我可能想调用 i、ii 和 iii,而第 4-10 页是什么,我想调用 1-7。我不想更改页面的实际顺序。
有没有一种方法可以使用免费工具来做到这一点;和 B)一种“批量”执行此操作的方法(因此,无需手动重新编号每页)。
这里是基于 LaTeX 的解决方案。它使用
pdfpages
包来包含扫描的 PDF(这里称为scan.pdf
)。您可以使用启用该选项的hyperref
包来设置您想要的 PDF 页面标签。pdfpagelabels
它使用普通\thepage
宏作为可以定义为小写罗马数字的标签。然后页面计数器被重置并变回正常数字。将上面的代码放入一个文件(例如
scan_mod.tex
)并编译它pdflatex
:这将产生
scan_mod.pdf
. 但是任何特殊注释包括。超链接将消失。这对扫描的 PDF 应该没有任何问题。如果您更频繁地需要这个,您可以编写一个脚本,该脚本接受罗马编号的页数和文件名作为参数,并使用上述代码创建一个临时文件,其中名称和数字是变量,然后编译。
您可以使用文本编辑器来做到这一点。
正如答案所说,使用文本编辑器打开一个 PDF 文件,搜索
/Catalog
条目,然后附加一个如下命名的条目/PageLabels
:请注意,页面索引(物理页码)以 . 开头
0
。当然,您可以使用脚本语言自动执行此操作。
PDF 标准 - 页面标签有详细的规范。
jPDF Tweak是一个开源图形实用程序,它提供页码(正确的术语是“页标签”)和许多其他初学者到高级 PDF 编辑功能。它在 Ubuntu 和其他操作系统上运行。
文档页面提供了分步说明。
有一个小的 python 脚本,可以完成这项工作:https ://github.com/lovasoa/pagelabels-py
在您的情况下,请致电:
有一个名为 PDF Mod 的工具,它是一个重新排列 PDF 页面的免费工具。
它可以从 Ubuntu 10.10 及更高版本的 Ubuntu 软件中心安装。
在 Ubuntu 9.10 或 10.04 中安装:
安装 将 ppa 添加
ppa:pdfmod-team/ppa
到您的软件源(这里是如何做到这一点)并从软件中心安装 pdfmod改编自:http ://www.webupd8.org/2011/03/edit-pdf-documents-in-linux-with-pdf.html
祝你好运:D
刚刚找到了一个可以
ghostscript
用于此目的的指针,在这里:pdftk - 添加和编辑书签到 pdf - Unix 和 Linux - 堆栈内存溢出 #18600;它指的是链接:但是,以上处理的是书签——而不是逻辑分页。从pdfmarkReference.pdf可以看出,所需的“命令”是 '
/Label
'(或 '/PAGELABEL
')——它进一步引用了PDFReference.pdf第 8.3.1 章“页面标签”。不幸的是,那一章没有必要解释 pdfmarks 如何与页面标签一起使用 - 但这篇文章确实:...并在该线程中进一步:
编辑:只是为了显示这一点-如果您将其保存为
pdfmarks
文件:...你打电话给:
...然后您将在末尾附加三个空白页面,分别
infile.pdf
标记为 -1、0 和 1 :)好吧,也许这有助于获得一个更简单的
gs
脚本来重新编号页面:)干杯!
EDIT2:知道了,我想 - 使用与
gs
上面相同的命令 - 下面是pdfmarks
脚本的内容,它将重新编号 infile.pdf,所以它以 -1、0、1 开头......它基本上是一个修改后的例子PDF参考(见评论更多):Openoffice/Libreoffice 可以使用 pdf-import 扩展和分页宏来解决问题。
这不是一个完美的解决方案,但它对我有用(除了使用 PDF Mod - 我强烈建议)。
还有另一个名为 PDFEdit 的应用程序 - 它托管在 source forge 上。 Source Forge 项目页面- 但这无济于事,因为它不是您需要的功能
尝试pyPdf,一个用于操作 PDF 文档的 python 库。一些但不多的编程是必要的。
您也可以查看PDFtk,尽管我没有检查它是否支持更改与单个页面关联的页码。两者都在 Ubuntu 中作为软件包提供。