修改现有 PDF 以添加 "Page N of NNN" 页脚
Modify existing PDF to add "Page N of NNN" footer
如何从命令行(或最好从 Ruby)使用 pdftk
将页码添加到预先存在的 PDF 的底部?
我正在寻找这种格式:
第 1 页,共 2 页
第 2 页,共 2 页
如果您想在 pdftk
的帮助下完成此操作,您可以使用 multistamp
或 multibackground
操作来完成。但首先您必须准备一份文件(使用您选择的软件),该文件会在空白页(PDF 格式)上创建 Page X of Y
页脚。
创建页脚
您可以使用 LibreOffice、OpenOffice、MS Winword 等任何您喜欢的工具来创建一个多页文件,其中包含空白页面内容,但页面已编号。只需确保您将获得 PDF 输出,并且您的页码正是您想要的。
我将在此处借助 Ghostscript 创建页脚。以下命令(可以很容易地放入 shell 脚本中,您可以相应地对其进行参数化,以便使用正确数量的 total
)。这个使用 595x842 PostScript 点的页面大小(a.k.a.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
如何从命令行(或最好从 Ruby)使用 pdftk
将页码添加到预先存在的 PDF 的底部?
我正在寻找这种格式:
第 1 页,共 2 页
第 2 页,共 2 页
如果您想在 pdftk
的帮助下完成此操作,您可以使用 multistamp
或 multibackground
操作来完成。但首先您必须准备一份文件(使用您选择的软件),该文件会在空白页(PDF 格式)上创建 Page X of Y
页脚。
创建页脚
您可以使用 LibreOffice、OpenOffice、MS Winword 等任何您喜欢的工具来创建一个多页文件,其中包含空白页面内容,但页面已编号。只需确保您将获得 PDF 输出,并且您的页码正是您想要的。
我将在此处借助 Ghostscript 创建页脚。以下命令(可以很容易地放入 shell 脚本中,您可以相应地对其进行参数化,以便使用正确数量的 total
)。这个使用 595x842 PostScript 点的页面大小(a.k.a.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