免费开源 PDF 工具箱:如何用 PDF 补丁丁一站式搞定书签、合并、页面与结构分析
【免费下载链接】PDFPatcherPDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等项目地址: https://gitcode.com/GitHub_Trending/pd/PDFPatcher
PDF补丁丁(PDFPatcher)是一款基于 .NET 的免费开源 PDF 处理工具箱,集书签编辑、页面剪裁旋转、文档合并拆分、结构探查、字体修复与 OCR 识别等 20 多项功能于一身。无论你是要整理扫描件、统一合同格式,还是想拆开 PDF 研究它的内部构造,一个工具就够用。
三个让你点头的场景 📄
场景一:300 页的扫描件,目录是印在纸上的
你从图书馆借到一册古籍的扫描版 PDF,目录页在第 3~6 页,但文档里没有一条真正的书签。想用阅读器跳转章节,只能在缩略图里一页页翻。PDF 补丁丁的书签编辑器能根据目录文本把跳转位置批量挂上去,甚至支持"自动生成书签":分析文本的字号、字体和位置特征,直接识别出"篇、章、节"的层级结构。
场景二:横向图片被塞进纵向页面,上下全是白边
把一批图片合并成 PDF 后,横向图片被强行放进纵向页面,四周大片空白,打印起来既浪费纸张又难阅读。勾选"自动旋转页面"后,页面方向会跟随图片自动调整,黑白图片还能设为透明省墨。
场景三:几十个部门报告要合成一份,还要保留各自书签
年底汇总,12 个部门各交了一份 PDF,外加若干图片附件。传统做法是逐个打开、逐页复制,书签全丢。PDF 补丁丁的批量处理界面支持把整个文件夹拖进来,输出文件名可以直接用<源目录路径><源文件名>[new].pdf这类占位符规则命名,合并后原文档的书签自动保留,还能按文件名再挂一层新书签当"卷次目录"。
功能纵览:从书签到文档结构的一张能力地图 🗺️
启动程序后是标签式的功能切换界面,每个功能一个标签页,互不干扰;批量类功能则共用"文件列表 + 信息文件 + 输出路径"的统一布局。
按工作流把它的能力分成五组:
1. 书签与目录(文档编辑的核心)
- 批量修改书签颜色、样式、目标页码、缩放比例,书签可精确定位到页面中间
- 查找替换支持正则表达式和 XPath 匹配,能按"第 X 章"这类模式快速选中一批标题
- 自动生成书签:按页码范围、字体名称、字号、文本内容、位置等条件筛选标题
- 阅读器支持从右到左的竖排阅读方式
2. 页面处理
- 统一页面尺寸(按最宽/最窄/最大/最小页或首页),裁剪或扩大页面
- 调整页面旋转方向,自动旋转适应图片方向
- 提取或删除指定页面、调整页面顺序,支持按书签、按页码数量拆分文档
- 页码范围支持负数(从末尾起算)
3. 合并与制作
- 合并多个 PDF 和图片(含 TIFF、JPEG 2000)为新文档
- 保留原文档书签与页面链接,可按文件名生成层级书签
- 指定统一页面尺寸,便于打印
4. 修复与清理
- 去除复制、打印限制,删除打开文档时自动执行的网页等动作
- 清理文档隐藏垃圾数据、删除内嵌 XML 元数据,重新压缩黑白图片
- 替换字体并把字库嵌入文档,消除 Kindle 等无字库设备上的乱码
- 根据文档元数据(标题、作者等)批量重命名文件,输出文件名支持替代符
5. 图片与文字
- 高速无损导出 PDF 内嵌图片,可去重、可合成透明图像
- 将 PDF 页面批量转换为图片,可指定分辨率
- 调用微软 Office 的 MODI 引擎做 OCR,把扫描件目录页转成书签,识别结果可写回 PDF
上手实操:三步跑通第一个任务 🚀
第一步:获取并运行
项目是只读仓库,克隆到本地即可:
git clone https://gitcode.com/GitHub_Trending/pd/PDFPatcher普通用户不必编译——PDF 补丁丁是便携软件,解压后直接运行PDFPatcher.exe即可,卸载时删掉目录就算完事。如果你要改代码,用 Visual Studio 2022 打开PDFPatcher.sln,安装".NET 桌面开发"和"C++ 桌面开发"两个工作负载,运行时要求 Windows 7 以上和 .NET Framework 4.0~4.8。
第二步:第一次操作——编辑书签
打开 PDF 编辑器标签页,拖入文档,左侧是带阅读界面的书签树。点击某条书签就能在右侧页面看到它跳转的位置;批量选中多条后统一改样式或改页码。编辑器的阅读器支持按住 Ctrl 滚轮缩放、F11 全屏,竖排文档可切换从右到左阅读。
第三步:尝鲜进阶——信息文件二次编辑
这是 PDF 补丁丁区别于普通编辑器的杀手锏:在"处理 PDF 文档"界面把文档属性、页码设置、书签、页面链接等导出成一个中文标签的 XML 信息文件;直接在 XML 里修改书签文本、目标坐标、页码编号,再指定输出 PDF 路径,点"生成 PDF 文件",就得到一份按你修改过的结构重新生成的新文档。整条链路的处理逻辑在 App/Processor/ 目录下。
小提示:OCR 功能需要安装 Microsoft Office 2003/2007 的 Document Imaging 组件(MODI),其余功能开箱即用。
效率账本:能省多少时间 ⏱️
以下为典型工作量的经验估算,供参考:
| 任务 | 传统手动做法 | 用 PDF 补丁丁 | 大约提升 |
|---|---|---|---|
| 50 篇论文补书签 | 逐篇打开、找章节、手敲,约 3 小时 | 自动生成书签 + 批量修正,约 15 分钟 | ~12 倍 |
| 20 份合同统一页面尺寸 | 每份单独设置,约 2 小时 | 批量补丁一次处理,约 10 分钟 | ~12 倍 |
| 100 个 PDF 合并并生成卷次目录 | 逐个复制页面,约 60 分钟 | 文件列表 + 文件名书签规则,约 8 分钟 | ~7.5 倍 |
关键不是单次操作多快,而是批处理 + 规则化:文件列表可以保存和复用,处理规则(信息文件、书签筛选条件)可以重复套用,同一套流程跑第二遍时几乎零思考成本。
进阶玩法:三条深挖路径 🔧
1. 模板化工作流把常用配置沉淀下来:导出信息文件改好书签结构存为模板,合并功能的文件列表可保存/加载,自动生成书签的筛选条件也能保存导入;程序选项用 JSON 配置文件持久化(见 App/Options/)。下次处理同类文档,直接套用模板,重复任务变成"选文件 → 点按钮"。
2. 命令行与拖放自动化程序支持通过命令行或把文件拖到主窗体的方式打开 PDF 文档;如果程序已在运行,命令行会复用现有实例并激活主窗体(按住 Ctrl 可强制开新窗口)。这意味着你可以写一个简单的批处理脚本,把每晚的批量文档任务串起来。
3. 拆开 PDF 看内部结构文档结构探查器(App/Functions/DocumentInspector/)用树视图展示 PDF 的每个对象节点,可以编辑节点、查看内容流指令、把文档导出成 XML 甚至二进制文件。内容流的解析器(App/Processor/ContentParser/)对每个 PDF 操作码都做了语义分类,是学习 PDF 1.7 规范(ISO 32000)的好教材。遇到打不开的问题文档,这里也能帮你定位是哪个对象坏了。
项目架构与社区 🤝
代码采用清晰的模块划分,都在App/目录内:
- Functions/:各功能窗体与控件(书签编辑器、合并、探查器等界面)
- Processor/:PDF 处理算法核心,其中
Mupdf/子目录封装了对 MuPDF 的 P/Invoke 调用 - Model/:编辑文档时的高级数据模型;Options/:程序选项;Common/:工具类
- Lib/:第三方组件,底层主力是 iText(解析/生成/修改 PDF)和 MuPDF(渲染位图)
社区参与方式很轻:在仓库提交 issue 反馈问题(记得附版本号、截图,附件尽量小于 10MB,PDF 可以先用"提取页面"功能抽出代表性几页);想写代码可以直接读 App/Processor/ 入手;文档方面可以帮忙完善 doc/使用手册.md。
从一份 PDF 开始 💪
选一份让你头疼的 PDF——没有书签的扫描版也好,页面尺寸五花八门的合同也好——打开 PDF 补丁丁试一次自动书签生成或统一页面尺寸,你会发现"手工折腾"和"规则化批处理"之间差的就是这样一个工具。完整的操作细节在 doc/使用手册.md 里,动手前翻一翻总没错。
关于授权:PDF 补丁丁基于 AGPL 并附带一份"良心授权"——如果你因使用本软件而获益,不妨顺手做一件力所能及的善事,善事无分大小,有心则行;若利用其源代码开发软件并获得收益,按协议应将不低于千分之一(1‰)的金额捐赠给社会弱势群体。
【免费下载链接】PDFPatcherPDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等项目地址: https://gitcode.com/GitHub_Trending/pd/PDFPatcher
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考