如何从命令行(或最好从Ruby)使用pdftk
将页码添加到预先存在的PDF的底部?
我正在寻找这种格式:
第1页,共2页
第2页,共2页
答案 0 :(得分:6)
如果您想在pdftk
的帮助下执行此操作,可以使用multistamp
或multibackground
操作执行此操作。但首先,您必须准备一份文档(使用您选择的软件),在空白页面上创建Page X of Y
页脚(PDF格式)。
您可以使用LibreOffice,OpenOffice,MS Winword,...您喜欢创建包含空页面内容但页面编号的多页文件。只需确保您将获得PDF输出,并且您的页码正是您想要的。
我将在这里使用Ghostscript创建页脚。以下命令(可以很容易地放入shell脚本中,并且可以相应地对其进行参数化,以便使用正确数量的total
)。这个使用的页面大小为595x842 PostScript点(a.k.a. A4尺寸),字体Helvetica为12磅尺寸:
total=100
gs -o 100pagenumbers.pdf \
-sDEVICE=pdfwrite \
-g5950x8420 \
-c "/Helvetica findfont \
12 scalefont setfont \
1 1 ${total} { \
/PageNo exch def \
450 20 moveto \
(Page ) show \
PageNo 3 string cvs \
show \
( of ${total}) show \
showpage \
} for"
这将创建一个100页的PDF文件 100pagenumbers.pdf 。
pdftk
覆盖页码下一个命令使用pdftk
和multistamp
将页码编号文件重叠为原始文件:
pdftk original.pdf \
multistamp 100pagenumbers.pdf \
output pages-numbered.pdf