修改现有的PDF文件,添加“第N页共NNN页”页脚。

10
我该如何使用pdftk在命令行(或最好是从Ruby)中向预先存在的PDF底部添加页码?
我需要的格式是:
  • 第1页,共2页

  • 第2页,共2页

1个回答

14

如果你想使用 pdftk 的帮助来完成这个任务,你可以使用 multistampmultibackground 操作。但首先,你需要准备一个文档(使用你选择的软件),在空白页上创建带有 Page X of Y 页脚的内容,并将其另存为PDF格式。

创建页面页脚

你可以使用LibreOffice、OpenOffice、MS Winword等任何你喜欢的软件来创建一个多页文件,其中包含空白页内容,并对页面进行编号。只需确保输出PDF格式,并且你的页码与你想要的完全相同即可。

我将在这里使用 Ghostscript 来创建页面页脚。下面是一些命令(可以很容易地放入一个shell脚本中,并根据需要进行参数化,以使用正确数量的 total)。此示例使用595x842 PostScript点(即A4纸张大小)和12pt Helvetica字体:

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叠加页面编号

下一个命令使用pdftkmultistamp来将页面编号文件叠加到原始文件上:

pdftk original.pdf              \
  multistamp 100pagenumbers.pdf \
  output pages-numbered.pdf

PDFtk网站提供的macOS 10.12安装程序无法使用。请参考https://dev59.com/FVkS5IYBdhLWcg3wgXHf获取解决方法。 - Trenton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接