觉得有用,欢迎点「在看」或转发给同事。
每月底要把三十多份部门 PDF 合并成一个、还要把扫描件里的文字提出来归档——手动做要折腾大半天。其实这种重复活,WorkBuddy 四步就能帮你写出一段脚本,以后一键跑完。
下面我就用真实可复制的操作,带你从”不会写代码”到”批量处理 PDF”。
第一步:把需求说成人话,别急着要代码
很多人一上来就让 AI 写”PDF 处理脚本”,结果出来的东西跑不通。正确做法是先讲清三件事:你要对什么文件做、做哪种处理、输出成什么。
比如我的真实需求是:
• 输入:D 盘「月度资料」文件夹里所有 .pdf
• 处理:先按文件名顺序合并成一个总文档,再把其中第 3–10 页拆出来单独存
• 输出:合并件叫「总表_2026.pdf」,拆分件叫「摘录_2026.pdf」
把这三点直接发给 WorkBuddy,比甩一句”帮我处理 PDF”强十倍。下面是一个可以直接复制的提示词:
请帮我写一个 Python 脚本:① 把这 30 个 PDF 按文件名升序合并成一个文件,命名为 总表_2026.pdf;② 从合并后的文件里提取第 3 到第 10 页,单独保存为 摘录_2026.pdf。
要求:用 pypdf 库,代码带中文注释,处理不了的坏文件要跳过并告诉我名字,最后打印每一步用了多少秒。
第二步:让 WorkBuddy 选对库,再写脚本
WorkBuddy 会根据任务挑合适的库。处理 PDF 常用三个:
• pypdf:合并、拆分、旋转页码,纯 Python 最轻量,新手首选
• pdfplumber:提取文字和表格最稳,适合”把扫描件内容提出来”
• PyMuPDF(fitz):速度快、能转图片,适合大文件或要转成图片的场景
我让 WorkBuddy 用 pypdf 写合并加拆分的脚本,它给的代码长这样(已实测可跑):
# merge_split.py 需先安装:pip install pypdf
from pypdf import PdfReader, PdfWriter
import os, time
start = time.time()
folder = r"D:月度资料"
files = sorted([f for f in os.listdir(folder) if f.lower().endswith(".pdf")])
merger = PdfWriter()
for f in files:
path = os.path.join(folder, f)
try:
merger.append(path) # 按顺序合并
except Exception as e:
print("跳过坏文件:", f, e) # 坏文件跳过不中断
merger.write("总表_2026.pdf")
merger.close()
# 拆分第 3–10 页(页码从 0 起算,所以是 2:10)
reader = PdfReader("总表_2026.pdf")
out = PdfWriter()
for i in range(2, 10):
out.add_page(reader.pages[i])
out.write("摘录_2026.pdf")
out.close()
print("完成,用时 %.1f 秒" % (time.time() - start))
这段脚本的关键在 `try/except`:哪份文件损坏就跳过并报告名字,不会让整个任务卡死。这是 WorkBuddy 比”一次性代码”靠谱的地方——它会主动帮你兜底异常。
第三步:复制脚本本地跑,依赖一行装好
拿到脚本后,在命令行进到脚本所在目录,先装依赖再运行:
pip install pypdf python merge_split.py
如果报”找不到模块”,九成是装到了别的 Python 环境。Windows 上建议用 WorkBuddy 自带的虚拟环境,或在终端先确认 `python –version` 和装包的 python 是同一个。中文文件名一般不用改,但文件夹路径里有空格时,记得像上面那样用 `r”…”` 原始字符串把路径包住,反斜杠才不会被当成转义。
第四步:参数化复用,以后全自动化
这次跑通后,别把文件名写死。把”年月”改成变量,下次换个月份只改一行:
ym = "2026" # 改这里就能复用
merger.write(f"总表_{ym}.pdf")
想每月自动跑?把脚本丢进 Windows「任务计划程序」,设定每月 1 号早上 8 点触发,比手动点快得多。这一步就是代码脚本能力域真正的价值——一次写,长期用。
如果任务换成”提取文字”,把库换成 pdfplumber 就行,提示词同样只改输入和输出两行:
进阶一:顺手做批量转格式
合并拆分会了,常常还差一步”格式互转”。两类最常见:
Word 转 PDF:Windows 上装了 Word 的话,用 docx2pdf 一行搞定,适合把几十份 .docx 汇报统一转成 PDF 再合并:
# word2pdf.py 需先安装:pip install docx2pdf from docx2pdf import convert convert(r"D:月度资料") # 整个文件夹的 docx 转成同目录 pdf
PDF 转图片:要把某几页发群里当长图,用 PyMuPDF 把页渲染成 PNG:
# pdf2img.py 需先安装:pip install pymupdf
import fitz
doc = fitz.open("总表_2026.pdf")
for i in [2, 3]: # 只转第 3、4 页
pix = doc[i].get_pixmap(dpi=150)
pix.save(f"页_{i+1}.png")
提示词照旧只改”输入什么、输出什么、哪些页”,WorkBuddy 会替你把库和参数选好。
进阶二:把脚本变成双击就能用的小程序
同事不会装 Python?用 PyInstaller 把脚本打包成 .exe,他双击就跑:
pip install pyinstaller pyinstaller --onefile merge_split.py
打包完在 `dist` 文件夹里多出 `merge_split.exe`,发给行政同事,他只要把 PDF 放进指定文件夹、双击 exe 就行。这一步把”你写的工具”变成”团队能用的工具”,是代码脚本能力域最划算的最后一环。
再进阶:批量加水印或加密
合同要外发又怕被人乱改?用 pypdf 给合并件加打开密码,一句提示词就能办:
from pypdf import PdfReader, PdfWriter
r = PdfReader("总表_2026.pdf")
w = PdfWriter()
w.append(r)
w.encrypt("2026@") # 设打开密码
w.write("总表_加密.pdf")
注意:这里加密的是”输出文件”,源文件原样保留,符合”不动原始资料”的稳妥习惯。
什么时候值得写脚本,什么时候别折腾
不是所有 PDF 活都该写脚本,给你一条简单判断线:
• 一次性、少于 5 份:手动点更快,别为它开脚本
• 每月都做、或一次上百份:值得写,摊薄下来的时间极划算
• 步骤固定、只是换个文件夹:最值得,改个路径就能月月复用
我自己的经验是:同一个动作你预感”下个月还得来一遍”,当下就让它写成脚本,成本最低。
三个最容易踩的坑
坑一:路径带空格或中文。Windows 路径用 `r”…”` 包住最稳,别用单反斜杠裸写。
坑二:装包和运行的 Python 不是同一个。终端敲 `where python` 看路径,确认 pip 装到了同一个解释器下。
坑三:加密 PDF 打不开。有些合同 PDF 设了打开密码,pypdf 会报错。让 WorkBuddy 在脚本里加一段”遇到加密文件提示我手动解”,而不是整批中断。
今天就能试的最小任务
别一上来就处理一百份。先拿 3 份 PDF 练手:合并成一个、再拆出中间两页。跑通了你就明白脚本的套路,后面加量只是改个文件夹。
你平时最常被哪种 PDF 活卡住?是合并、提取文字,还是批量转格式?评论区告诉我,我挑典型的下期出专属脚本。
觉得有用点个「在看」,或转给那个总在手动合并 PDF 的同事。
#WorkBuddy #AI办公 #效率工具
① 点个 「在看」 或 转发 给同事
② 关注 高总AI办公笔记,每周持续更新 AI 办公干货
卡神








