PDF怎么加页码和页眉页脚?
文章摘要
合并了几个PDF想统一加页码?或者需要在每页顶部加公司名称?教你怎么给PDF添加页码、页眉、页脚,批量处理也能搞定。
PDF怎么加页码和页眉页脚?
统一格式、标注页码,比Word还方便
上周帮同事整理一份200页的项目文档,是把十几个单独的PDF合并起来的。合并完发现页码乱了,有的从1开始,有的没有页码。重新加了一遍,顺手把公司名也加到页眉了。今天把这个过程分享出来。
能加哪些东西
页眉页脚能加的内容比大部分人想象的多:
页码
最常见的需求。可以设置格式,比如"第X页"、"X/Y"(当前页/总页数)、纯数字等。
固定文字
公司名称、文件标题、保密级别、版权信息,每页都显示同样的内容。
日期
自动插入当前日期或固定日期,适合文件版本管理。
组合内容
可以组合,比如左边放公司名,右边放页码,中间放文件名。
用Adobe Acrobat加
Adobe的页眉页脚功能最完善,自定义程度高:
操作步骤:
工具 → 编辑PDF → 页眉和页脚 → 添加
弹出对话框,上面有左中右三个区域
点要填写的区域,输入文字或插入页码
设置字体、字号、颜色
预览效果没问题就点确定
保存文件
插入页码的时候,有个"插入页码"按钮,点一下会自动加上当前页码变量。旁边还有"插入页数",两个配合能做出"第3页/共50页"这种格式。
几个实用设置:
起始页码不从1开始:可以设置偏移量,比如从5开始
跳过封面:设置"从第2页开始加",封面不显示页码
奇偶页不同:奇数页页码在右,偶数页在左,书籍常用
页边距:调整页眉页脚距离页面边缘的距离
用WPS加页码
没有Adobe也能加,WPS免费版就能搞定基础需求:
打开PDF,顶部选"工具"或"插入"
找"页眉页脚"或"页码"功能
选择位置和格式
应用到全部页面
保存
WPS功能比Adobe少,但加个基础页码完全够用。复杂的自定义格式就得用Adobe了。
在线工具也能加
临时用一下,不想装软件,在线工具也行:
iLovePDF
有"添加页码"功能,支持位置选择和起始页码设置。简单但够用,而且免费。
PDF24
同样有页眉页脚功能,完全免费,支持文字和页码组合。
Smallpdf
功能类似,操作直观。免费版有次数限制。
用Python批量处理
几十上百个PDF要加同样的页眉页脚,一个个搞太累了。写个脚本批量处理:
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4
from pypdf import PdfReader, PdfWriter
import io
def add_page_numbers(input_pdf, output_pdf, company_name=""):
"""给PDF加页码和页眉"""
reader = PdfReader(input_pdf)
writer = PdfWriter()
total_pages = len(reader.pages)
for i, page in enumerate(reader.pages):
# 创建一个覆盖层
packet = io.BytesIO()
width = float(page.mediabox.width)
height = float(page.mediabox.height)
c = canvas.Canvas(packet, pagesize=(width, height))
c.setFont("Helvetica", 10)
c.setFillColorRGB(0.5, 0.5, 0.5)
# 页眉:公司名(左上)
if company_name:
c.drawString(50, height - 20, company_name)
# 页脚:页码(居中)
page_text = f"第 {i+1} 页 / 共 {total_pages} 页"
c.drawCentredString(width / 2, 20, page_text)
c.save()
packet.seek(0)
# 合并覆盖层和原页面
overlay = PdfReader(packet).pages[0]
page.merge_page(overlay)
writer.add_page(page)
with open(output_pdf, "wb") as f:
writer.write(f)
print(f"完成:{total_pages}页已处理")
# 使用示例
add_page_numbers("input.pdf", "output.pdf", "大连思戴尔服饰有限公司")
这个脚本可以批量跑,把文件夹里所有PDF都处理一遍。中文字体要另外配置,reportlab默认不支持中文,需要注册字体文件。
加完之后发现不对怎么办
页眉页脚加错了,字太大,或者位置不对,怎么改:
Adobe里可以先"移除"再重新加,操作路径跟添加一样
更新的话也在同一个菜单,选"更新"就能改设置
如果是用脚本加的,直接改参数重新跑一遍
所以操作前最好先在一个测试文件上试,没问题再批量处理。别直接在原文件上改,改完存一份新的。
几个常见问题
页码跟原来的页码重叠怎么办?
先把原来的页码遮掉(加个白色矩形),再加新的。或者直接用Adobe的"移除"功能去掉原有的页眉页脚,再重新加。
封面不想加页码怎么设置?
Adobe里可以设置"页面范围",比如从第2页开始加,第1页跳过。
加了页码会影响原内容吗?
不会改变原内容,页眉页脚是叠加在上面的。但如果原来页面内容紧靠边缘,可能会遮住一点,调整边距就行。
打印出来页码位置不对?
可能是打印机页边距的问题。在打印设置里调整边距,或者把页码位置稍微往页面中间移一点。
我的做法
加页码这种基础操作,iLovePDF在线搞定,快
要加公司名+页码+日期这种组合,用Adobe,设置灵活
批量处理十几个文件,写个Python脚本一次跑完
加之前备份原文件,加完检查第一页和最后一页
封面、目录这种页面一般跳过不加页码
PDF加页眉页脚不复杂,几分钟的事。关键是搞清楚用什么工具,临时加一次用在线工具,经常要加就装个Adobe或者写脚本。
有个小细节很多人忽略:加页码前先确认文档结构。如果是多个PDF合并的,各部分原来有自己的页码,加之前最好先把旧的页码去掉,不然新旧页码叠在一起,很难看。