我想编辑扫描PDF的元数据,以便为不同的页面分配自定义的页码。举个例子,现在是1-3页,我可能想叫i,ii和iii,还有4-10页,我想叫1-7。我不想改变页面的实际顺序。
是否有一种使用免费工具来完成此操作的方法;以及( B)“批处理”(因此,无需手动重编号)的方法。
发布于 2011-04-09 17:36:30
这里有一个基于LaTeX的解决方案。它使用pdfpages
包来包含扫描的PDF (这里称为scan.pdf
)。可以使用启用hyperref
选项的pdfpagelabels
包设置所需的PDF页面标签。它使用普通的\thepage
宏作为标签,它可以定义为小写罗马数字。然后重新设置页面计数器,并将其更改为正常编号。
\documentclass[a4paper]{article}% or use 'letterpaper'
\usepackage{pdfpages}
\usepackage[pdfpagelabels]{hyperref}
\begin{document}
% Set lower case roman numbers (\Roman would be upper case):
\renewcommand{\thepage}{\roman{page}}
\includepdf[pages=1-3]{scan.pdf}
% Back to normal (arabic) numbers:
\renewcommand{\thepage}{\arabic{page}}
% Reset page counter to 1:
\setcounter{page}{1}
\includepdf[pages=4-]{scan.pdf}
\end{document}
将上述代码放入文件(例如scan_mod.tex
)并使用pdflatex
编译它:
# pdflatex scan_mod
这将产生scan_mod.pdf
。但是,任何特殊的注释都包括。超链接就会消失。这不应该是扫描PDF的任何问题。
如果您更频繁地需要这样做,您可以编写一个脚本,它接受罗马编号的页数和文件名(S)作为参数,并使用上面的代码创建一个具有诱惑力的文件,其中的名称和数字是变量,然后进行编译。
发布于 2013-09-19 03:51:25
你可以用文本编辑器来做这件事。
如答案所示,使用文本编辑器打开PDF文件,搜索/Catalog
条目,然后添加一个名为/PageLabels
的条目,如下所示:
/PageLabels << /Nums [
0 << /P (cover) >> % labels 1st page with the string "cover"
1 << /S /r >> % numbers pages 2-6 in small roman numerals
6 << /S /D >> % numbers pages 7-x in decimal arabic numerals
]
>>
注意,页面索引(物理页码)以0
开头。
当然,您可以使用脚本语言自动完成此操作。
PDF标准-页面标签有详细的规范。
发布于 2014-08-15 06:16:02
jPDF微调是一个开源图形工具,它提供页面编号(正确的术语是“页面标记”)和许多其他初学者高级的PDF编辑功能。它运行在Ubuntu和其他操作系统上。
文档页面提供一步一步的说明.
https://askubuntu.com/questions/32048
复制相似问题