修改现有PDF以添加;第N页,共NNN页“;页脚

修改现有PDF以添加;第N页,共NNN页“;页脚,pdf,printing,ghostscript,postscript,pdftk,Pdf,Printing,Ghostscript,Postscript,Pdftk,如何从命令行(或者最好从Ruby)使用pdftk将页码添加到已有PDF的底部 我正在寻找这种格式: 第1页,共2页 第2页,共2页 如果要在pdftk的帮助下执行此操作,可以使用multimap或multibackground操作。但首先,您必须准备一份文档(使用您选择的软件),在空白页面上创建页面X/Y页脚(PDF格式) 创建页脚 您可以使用LibreOffice、OpenOffice、微软Winword,。。。无论您喜欢创建什么,都可以创建一个多页文件,其中包含空页内容,但有页码。只需确保

如何从命令行(或者最好从Ruby)使用
pdftk
将页码添加到已有PDF的底部

我正在寻找这种格式:

  • 第1页,共2页

  • 第2页,共2页


如果要在
pdftk
的帮助下执行此操作,可以使用
multimap
multibackground
操作。但首先,您必须准备一份文档(使用您选择的软件),在空白页面上创建
页面X/Y
页脚(PDF格式)

创建页脚 您可以使用LibreOffice、OpenOffice、微软Winword,。。。无论您喜欢创建什么,都可以创建一个多页文件,其中包含空页内容,但有页码。只需确保您将获得PDF输出,并且您的页码正是您想要的

我将在这里借助Ghostscript创建页脚。以下命令(可以很容易地放入shell脚本中,您可以相应地对其进行参数化,以便使用正确数量的
total
)。这一个使用了595x842个PostScript点的页面大小(又称A4大小),以及12磅大小的字体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
覆盖页码 下一个命令使用
pdftk
multistamp
将页码文件覆盖到原始文件:

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

macOS 10.12的PDFtk站点链接到的安装程序不工作。有关解决方法,请参阅。