无聊小技巧:如何为 PDF 文档添加页码

说明

  1. 这是一个比较麻烦的方法,但相对而言自由度高一些。若没有特殊要求,可以考虑用网上现成的工具,比如 PDF24。
  2. 本方法适用于 Windows 和 Linux。

原理概述

先生成一个只包含页码的 PDF 文档,再将其作为水印覆盖到需要加页码的文档上。

所需工具

操作方法

1 准备一个页码文档

打开 MS Word,按 Alt + F11 打开宏编辑器,然后点击 插入 → 模块,在打开从代码窗口中粘贴如下命令:

Sub InsertBlankPages()
    Dim i As Integer
    
    ' 循环5次,插入5个空白页
    For i = 1 To 5
        ' 插入分页符
        Selection.InsertBreak Type:=wdPageBreak
    Next i
End Sub

注意代码第 5 行,请根据需求填写。如果您需要制作一个 n 页的页码文档,请将该行改为 For i in 1 To n-1,其中 n 为整数。

注意一定是 n-1,因为目前我们已经有一个空白页了,我们需要 n 页,因此只需再插入 n-1 各空白页。

写好后,在弹出窗口左侧选择 “InsertBlankPages”(就是咱们刚刚编写的宏),再点击 “运行”。

然后,回到 Word 窗口,插入页码并调整格式。一切就绪后将文档保存为 页码.pdf

准备好后,还可以用 PDF Arranger 编辑 页码.pdf,比如在第一页插个空白页,因为有些文档的封面是不需要页码的。

2 把页码叠加到待处理文档上

页码.pdf 和待处理的文档(这里我们称之为 待处理.pdf)放在同一文件夹下,然后打开命令行窗口,执行如下命令:

pdftk 待处理.pdf multistamp 页码.pdf output 输出.pdf

那个 输出.pdf 就是添加了页码的 PDF 文档。

方法的优势

这个方法很麻烦,但我认为它还是有一些优势的:

  1. 页码的自由度比较高。因为是拿 Word 或 WPS 做的,你可以自定义页码的字体、字号、颜色等。而且还可以根据需求让个别页面不加页码。
  2. 完全离线,不依赖在线服务,对一些涉密、无网络的环境比较友好。
4 个赞

如果 wps 用户的

直接使用 wps pdf, 打开 文件, 添加页码即可.

不用这么麻烦

6 个帖子被拆分为一个新话题:怎么给 PDF 文档自动添加目录?

我用的是 WPS for Linux 国际版(用 flatpak 安装的),没有这个功能。它的 WPS PDF 只能看,不能编辑。

我居然也用过一模一样的方法,也是word做页码然后pdftk合并两个pdf
其实word没必要用宏这么复杂的功能,只要插入一个分页符然后反复“全选-复制-粘贴”就行了,最后把多余的页面再删掉,或者直接按住ctrl+enter,对于几百页这种量级的,这样操作也挺快的。

你可以试试wine+wps pdf.

谢谢,不过您这个方法可能不是特别现实。Wine 对大型应用程序的支持还是比较有限的,即使能够成功安装,程序运行起来也难免会出问题,比如乱码、残影、闪退。之前用 Wine 运行过 WPS Office 2012,效果不太理想,有点卡,而且不稳定。