PDF补丁丁使用教程:修书签、合并拆分PDF的免费工具箱
【免费下载链接】PDFPatcherPDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等项目地址: https://gitcode.com/GitHub_Trending/pd/PDFPatcher
手头的PDF书签改名后全部失效,或者一打开就自己弹出网页?试试PDF补丁丁:一个免费开源的PDF工具箱,帮你批量修书签、合并拆分文档、去除限制、无损提取图片。它面向的是被各种"小毛病"困扰的PDF处理场景,不联网、不弹窗、永久免费。
跑起来:最短安装路径
系统要求:Windows 7 及以上版本,安装 .NET Framework 4.0~4.8 即可,无需管理员权限。
PDF补丁丁是绿色便携程序:把压缩包解压到任意目录,双击PDFPatcher.exe直接运行。不需要安装向导,卸载也就是删掉整个目录。
第一次看到结果的路径:打开程序后选"处理文件"功能 → 用工具栏"添加文件"按钮(或从资源管理器直接拖入)选一个PDF → 在文件列表里把"标题"列改个文字 → 指定输出位置 → 点"生成PDF文件"。输出的新文件标题属性就变了,原文件保持不动。唯一需要额外准备的:文字识别功能依赖微软 Office 2003/2007 的 MODI(文档影像)组件,没有它就跳过这步。
它解决了哪些实际问题
把改名后失效的书签救回来
这是最典型的场景:书签用的是"打开外部文件"动作,文件名一改就报"无法打开文档"。用书签编辑器打开这个PDF,展开书签能看到动作列写着"打开外部PDF文档"。Ctrl+A 全选,勾上"修改操作包含未选中的内部书签",然后走"修改"菜单里的"强制设置为文件内链接",所有书签的动作就变成"转到页面"。再点"补丁"按钮选定输出路径,一个新文件里书签恢复跳转。同样的菜单还有"更改目标页码":如果所有书签都往前偏了一页,全选后加 1 即可。
一堆图片和PDF合成一本电子书
点工具栏"合并文件",把 JPEG、PNG、TIFF 等图片和PDF混着加进列表,每张图自动变一页;需要整目录导入时用"添加文件夹",子文件夹会变成层级书签。想只合并某文档的第 5~20 页,双击列表里的该PDF,在弹出的源文件选项里改页码范围;填"10-1"还支持逆序插入。每个条目的"书签文本"列不填时,程序按文件名自动生成书签,样式可用工具栏的 B、I 和调色板调整。
去除限制、清理文档杂项
复制、打印受限的文档,或一打开就自动执行动作、弹网页的文档,走"独立补丁"模式处理:在"PDF文档选项"的"压缩清理"选项卡勾选去除复制、打印限制,"文档杂项"里勾选删除打开文档时自动执行动作;顺手还能用 JBIG2 算法把黑白图片压缩一遍——压缩后若文件没变小,程序会保留原图。
无损导出文档里的原图
"提取图片"功能按PDF内部存储格式导出:JPEG压缩的出 jpg,JBIG2 黑白的出 tif,Deflate 的出 png,文件名默认按四位数页码编号。遇到被工具切片的图片,勾"尝试合并相同页面的图片"把它们拼回一张;导出后黑白颠倒的,勾"反转黑白图片的颜色"还原。
给扫描版文档补上目录
两条路:文档里本身有文字层,用"自动生成书签"按文本尺寸识别标题层次;纯扫描图则用"识别图像文本"识别目录页生成简易书签文件——记得勾"识别目录页的点分隔符",修正引擎把省略号认成句号的问题,识别结果直接丢给书签编辑器核对页码,再补丁回文档。
值得留下的理由
它免费且不附加商业条件。README 写明软件采用 AGPL 协议并加了一条"良心授权"附加条款:受益后行一件善事,若用源码开发软件获利,需将销售收入不低于千分之一捐赠给弱势群体。没有试用期,没有广告和弹窗,这些承诺同样白纸黑字写在 README 里。
引擎组合有明确分工:iText 负责解析、生成、修改PDF和嵌入字体子集,MuPDF 负责把页面渲染成位图,程序通过 P/Invoke(跨语言调用机制)调 MuPDF 的动态库。想弄清实现可以看App/Lib/目录里的组件清单,源码结构在 README 的"源代码的结构"一节有说明。
它不挑文档大小,支持打开和修改超过 2GB 的超大PDF(见 使用手册 的功能列表),全部功能离线完成,不上传任何数据。
老用户才在意的技巧
- 批量处理时,在输出文件名里右键插入替代符:
<源文件名>、<作者>、<源目录名>会被自动替换,比如用<源目录路径><标题>让输出按文档标题命名。 - 书签编辑器的搜索替换支持正则和 XPath 两种模式:用
子书签([0-9]+)定位后以$1)子书签替换,就能把编号提到文本前面;XPath 还能按页码条件选中书签,如@页码 >= 5 and @页码 <= 10。 - 合并列表排序用"按数值和字母顺序排序",1.tif、2.tif、10.tif 会按数值排成 1、2、10;按字母序排则是 1、10、2。
- 批量改书签时按住 Shift 再点编辑命令,可让本次操作临时作用于书签内部的子书签,不用每次勾复选框。
参与项目
代码全部开放:App/是主程序(Common 工具类、Functions 功能窗体、Processor 处理算法),App/Model/是编辑文档用的数据模型,doc/放使用文档,使用手册 是最完整的一份。想动手的话,环境按 CONTRIBUTING.zh-CN.md 配置,建议 Visual Studio 2022 并安装 .NET 桌面开发和 C++ 桌面开发两个工作负载;第三方代码尽量保持原状,改动集中在 PDFPatcher 命名空间内,单个 PR 别太大。
问题反馈走仓库的 Issue,按模板写明版本号、截图和复现步骤;附件别超过 10M,PDF 可以用"提取页面"功能挑几页代表性页面再发。也可以直接git clone https://gitcode.com/GitHub_Trending/pd/PDFPatcher把仓库拉到本地试读源码。
最后
功能清单、授权条款都在 README 里,挑一个手头的坏书签文档或一批零散图片,现在就打开 PDFPatcher.exe 试一把;卡住了就去提 Issue。
【免费下载链接】PDFPatcherPDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等项目地址: https://gitcode.com/GitHub_Trending/pd/PDFPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考