不装软件,PDF改字三秒搞定,这个Skill告别付费
合同甲方名字打错了,PDF 改一字半小时,开会员装插件血压拉满。

01
PART
痛点场景
PAIN POINT
📱 8 Parts
➡ 向右滑动
PART 1
痛点场景
PAIN POINT
PART 2
技能名片
SECTION
PART 3
原理速懂
PRINCIPLE
PART 4
实战改字
PRACTICE
PART 5
踩坑提醒
SECTION
PART 6
效果展示
RESULT
PART 7
冷知识
TRIVIA
PART ///
下期预告
PREVIEW
老板发来一份 PDF 合同,第三页甲方公司名写错了,今天必须发出去。
第一反应是搜「PDF 修改器」,跳出来一堆五颜六色的下载链接。装了一个发现要开会员才能改,试用 3 天;换一个要联网激活,激活服务器还连不上;再换一个,改完一页给你加满水印。
半小时过去,PDF 还是那个 PDF,后台却多了一堆弹窗广告和开机启动项。
问题的根子在于:PDF 的设计目标就是防篡改。1993 年 Adobe 发布这个格式时,有意把文字层「锁住」,保证打印出来和屏幕上看到的一模一样。但反过来也意味着:改一个字,本质上要在 PDF 的二进制里精确定位、擦除、重绘——传统思路是用 Adobe Acrobat 或 Foxit 硬擦。
今天这篇要介绍的两个技能,把这件事变成说一句话。
02
PART
技能名片
SECTION
一行命令验证安装:
1
nano-pdf --version
两个技能是黄金搭档:一个负责「看懂」PDF 里的字,一个负责「改掉」那些字。
03
PART
原理速懂
PRINCIPLE
nano-pdf 把「改 PDF」从图形操作变成自然语言对话,分三步走:
🔍 解析 PDF 结构 读入 PDF,把文字层、字体、坐标全部拆成结构化数据。这一步会识别每个字符在页面上的精确位置、字号、字重、颜色——相当于给 PDF 做了一次「全身 CT」。
🧠 理解指令 把「把第三页的张三改成李四」解析成「定位→删除→插入」三个动作。这里的定位不是模糊搜索,而是坐标级精确匹配——找到「张三」这两个字在第三页的 x/y 坐标,然后只动这两个字的像素区域。
✏️ 重写并保存 在原 PDF 文字层上精确定位目标文字,用相同字体替换,版式完全不变。如果原文用的是宋体 12 号,替换后还是宋体 12 号,连行间距都不变。

类比一下:以前改 PDF 像用橡皮擦在打印好的纸上改作业——擦掉再手写,字迹对不齐,还可能擦破纸。
nano-pdf 的做法是直接编辑电子文档的文字层,像在 Word 里改字一样干净。区别在于 Word 天生就是编辑器,而 PDF 天生是「最终定稿」格式——nano-pdf 等于把 PDF 临时变回了可编辑状态。
而 ocr-and-documents 解决的是另一个问题:当 PDF 是扫描件时,文字层根本没有,全是像素点。你拿手机拍一份合同转成 PDF,里面没有半个文字字符,只有几百万个像素。
它用 pymupdf 提取页面图像,再用 marker-pdf 的多模态模型识别每个像素对应的字符,重新生成可编辑的文本层。这个过程叫OCR 重建,比传统 OCR 工具强在它保留了原始版式信息——表格还是表格,段落还是段落。
两个技能联起来,就是「扫描件 → 文字提取 → 文字修改 → 新 PDF」完整链路。不管你的 PDF 是可编辑的还是扫描的,都能改。
04
PART
️ 实战:三秒改掉合同里的错字
PRACTICE
一行命令改文字
打开终端,定位到 PDF 所在目录:
1
2
# 把第三页的「张三」全部改成「李四」
nano-pdf "把第三页的'张三'改成'李四'" contract.pdf
几秒后同目录会生成 contract_edited.pdf,打开一看——错字改好,版式一模一样,字号字体都没变。不会出现「改了一个字,整页格式崩了」的情况。
整个过程你不需要打开任何 PDF 编辑器,一行命令搞定。没有弹窗,没有广告,没有试用期限。
改日期、改标题、改金额
nano-pdf 支持的修改类型远不止人名。日常工作中最常遇到的四种场景,它都能处理:
1
2
3
4
5
6
7
8
9
10
11
# 修改合同签订日期
nano-pdf "把签订日期从 2025-01-15 改成 2025-02-20" contract.pdf
# 修改文档标题
nano-pdf "把第一页的标题'项目合作意向书'改成'项目合作协议'" proposal.pdf
# 修改金额(合同金额写错了,从壹佰万改成贰佰万)
nano-pdf "把第5页的所有'壹佰万元'改成'贰佰万元'" contract.pdf
# 删除多余段落(备注栏写了一句不该写的话)
nano-pdf "把第2页'备注:以下条款作废'这句话删掉" contract.pdf
每一行命令背后,都是一次精准的文字层编辑。不是把整个页面重新排版,而是只动目标文字所在的坐标区域。
这套机制让原本属于「设计师/排版师」的工作,下放到了任何会用终端的普通用户手里。你不需要懂 PDF 内部结构,不需要知道什么是 FlateDecode、什么是 CIDFont——说人话就行。
处理扫描件(OCR + nano-pdf 联动)
场景升级:老板发来一份扫描件合同,错字要改。
直接 nano-pdf 改不动——扫描件里全是图片,没有文字层。nano-pdf 会报错 TextNotFound: No text layer detected。需要先 OCR 提取,再修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 第一步:OCR 提取扫描件中的文字
hermes ocr scan_contract.pdf > extracted_text.md
# 第二步:检查提取出的文字,确认哪里要改
cat extracted_text.md
# 第三步:把修改指令写进一个文件
cat > instruction.txt << 'EOF'
把第三页的「北京示例科技有限公司」全部改成「北京真实科技有限公司」
把签订日期从「2024年12月1日」改成「2025年1月15日」
EOF
# 第四步:先 OCR 转可编辑 PDF,再 nano-pdf 修改
hermes ocr convert scan_contract.pdf editable.pdf
nano-pdf "$(cat instruction.txt)" editable.pdf
整个流程不用打开任何 PDF 软件,从扫描件到最终修正版,5 分钟内搞定。

换做以前,要么手动打字重新排版——一页 A4 纸至少 800 字,打完还得调格式;要么花钱找打印店代处理,一份 30 块,至少半天起步。
批量处理多份文档
50 份同类型合同需要批量改公司名(甲方公司更名了,所有合同都要更新):
1
2
3
4
5
6
7
# 写一个 shell 循环
for file in contracts/*.pdf; do
nano-pdf "把甲方统一改成'XX集团股份有限公司'" "$file"
done
# 批量完成后,抽查第 3 份和第 17 份确认
nano-pdf --dry-run "确认甲方为'XX集团股份有限公司'" contracts/003.pdf
50 份合同,一杯咖啡的时间全部改完。最后用 --dry-run 抽查两份,确认批量修改无误。
而批量任务的命令模板保存为一个 .sh 脚本,下次遇到类似场景——换乙方公司名、改统一日期——直接改两个参数就复用,越用越快。
⚠️ 最容易踩的坑

坑 1:改完字号变了。nano-pdf 默认用原 PDF 里最接近的字体替换,但有些 PDF 嵌入了罕见特殊字体(如定制宋体、企业专属字体),找不到完全匹配时会自动选用 fallback 字体,字号字形会有微小差异。
解决:先用 nano-pdf --dry-run 修改指令 文件.pdf 预览效果,确认字体无偏移再正式执行。--dry-run 不会生成文件,只输出修改计划。
坑 2:扫描件改不动。直接对扫描件运行 nano-pdf 会报错 TextNotFound: No text layer detected,因为扫描件根本没有文字层——全是图片像素。
解决:一定要先跑 ocr-and-documents,用 hermes ocr convert 把扫描件转成可编辑 PDF,再交给 nano-pdf 处理。判断方法:如果 hermes ocr scan_contract.pdf 输出的文字是空的或乱码,说明这个 PDF 是纯扫描件。
坑 3:指令描述歧义导致误改。如果 PDF 里有多处「张三」,只说「把张三改成李四」不指定页码,nano-pdf 会默认改所有页的所有匹配项。一份 30 页的合同可能有 7 处「张三」,全改了就出事。
解决:重要合同带上页码和上下文,比如「把第三页签名栏的'张三'改成'李四'」。加一个「签名栏」的上下文限定,nano-pdf 只会在第三页签名栏区域搜索匹配。
06
PART
实际效果展示
RESULT
下面是 nano-pdf + ocr-and-documents 联动处理 PDF 的真实场景对比:

一个典型的工作场景:周一早上老板发来 30 份需要修改公司名的合同 PDF。
其中 20 份是可编辑的,直接用 nano-pdf 批量改——写个 shell 循环,3 分钟全部搞定。10 份是扫描件,先跑 hermes ocr convert 转成可编辑 PDF,再用同样的 nano-pdf 命令改——每份多花 2 分钟 OCR 时间。
传统方式至少要一整天——开 30 次软件、逐个找位置、改完检查版式、发现乱版再调格式。用 nano-pdf + ocr-and-documents,20 份直接批量改,10 份先 OCR 再改,全部完成不到 40 分钟。
关键是改完的 PDF版式零损坏——原本文档里的表格、图片、页眉页脚全部原封不动。因为 nano-pdf 只动文字层的指定字符,不碰其他任何元素。

07
PART
️ 冷知识
TRIVIA
PDF 这个格式的发明者叫John Warnock,他在 1993 年的一份内部备忘录里写道:「我希望有一种文件格式,无论在什么打印机、什么屏幕上打开,看起来都一模一样。」
这个目标在 1993 年实现得非常完美——完美到连 Adobe 自己都没想到,30 年后人们会用「PDF 改个字怎么这么难」作为日常吐槽。
讽刺的是,nano-pdf 这种小工具正是用 30 年后的 AI 能力,绕开了 1993 年设定的「防篡改」机制——PDF 文字层本身没动,只是被精准替换了。
nano-pdf 这个名字致敬了 Unix 哲学里的「nano」——最小、最轻、最直接。它不试图做 PDF 全能编辑器,只解决一件事:让改 PDF 文字变得像改 txt 一样简单。
这也是 Hermes 技能装备库的选品标准——不追求大而全,只解决一个具体痛点,做到极致。
∞
LAST
下期预告
PREVIEW
这篇讲了 PDF 文字修改。下一篇换个方向——科研人的信息过滤器。
一个叫 arxiv 的技能,自动追踪 arXiv 最新论文,按你的研究方向做摘要,每天早上 9 点推送到微信。
再也不怕错过领域内的重要突破了。
📍 你现在在:S06 级 · 技能装备库 e03 📍 下一篇带你到:S06 级 · 技能装备库 e04
觉得有用?点赞👍 + 在看👁️ + 转发🔗,下期见!
觉得有用?随手点个赞、在看、转发三连吧
THANKS FOR READING
夜雨聆风