一天一个开源项目(第53篇):PDF 补丁丁 - 功能全面的 PDF 工具箱,编辑书签、解除限制、合并拆分、OCR 识别

引言

"永久免费,绝不过期,无广告,无弹出废话对话框,不窥探隐私。"

这是「一天一个开源项目」系列的第 53 篇文章。今天介绍的项目是 PDF 补丁丁 (PDFPatcher,GitHub)。

需要编辑 PDF 书签、解除复制打印限制、合并拆分文档、提取图片、将图片 PDF 转为可搜索书签?PDF 补丁丁 是一款基于 .NET 框架 的 PDF 工具箱 :支持编辑书签 、剪裁旋转页面 、解除限制 、提取或合并文档 、探查文档结构 、OCR 识别 、字体替换 等,采用 AGPL + 良心授权,永久免费、无广告、无弹窗。

你将学到什么

  • PDF 补丁丁的核心功能与使用场景
  • 技术架构:iText + MuPDF 双引擎
  • 书签编辑器、文档合并、OCR 等特色功能
  • 良心授权协议的含义
  • 与同类 PDF 工具的对比

前置知识

  • 对 PDF 文档有基本了解
  • Windows 系统使用经验(本工具仅支持 Windows)

项目背景

项目简介

PDF 补丁丁 (PDFPatcher)是一款 PDF 处理工具 ,基于 .NET Framework 开发,主要采用 iText 和 MuPDF 两个开源组件。iText 负责解析、生成、修改 PDF 及嵌入字体;MuPDF 负责渲染 PDF 为位图。功能覆盖编辑、制作、拆分、合并、OCR、结构分析等。

作者

项目数据


主要功能

核心功能

类别 功能
修改文档 文档属性、页码编号、页面链接;统一页面尺寸;删除自动打开网页等动作;去除复制及打印限制;设置阅读器初始模式;清理隐藏垃圾;重新压缩黑白图片;旋转页面
书签编辑 带阅读界面(支持竖排从右到左);批量修改书签属性;书签精确定位;查找替换(正则、XPath);自动快速生成书签
制作 PDF 合并 PDF 或图片;保留原书签或挂新书签;根据文件名生成书签;统一页面尺寸
拆分合并 拆分或合并 PDF,保留或挂上新书签
提取导出 高速无损导出图片;页面转图片;提取或删除指定页面;调整页面顺序
高级功能 根据元数据重命名;OCR 识别(调用微软 Office MODI);图片 PDF 目录页转书签;替换字体;嵌入字库到 PDF
结构分析 树视图显示文档结构;编辑修改节点;导出为 XML

使用场景

  1. 电子书整理:合并扫描 PDF、生成书签、统一页面尺寸
  2. 文档去限制:去除复制、打印限制,便于阅读和引用
  3. 批量处理:根据元数据重命名、提取页面、批量导出图片
  4. 图片 PDF 优化:OCR 识别目录页,转为可点击书签
  5. 字体嵌入:嵌入字库到 PDF,解决 Kindle 等设备乱码

快速开始

运行环境:

  • Windows 7 及以上
  • .NET Framework 4.0--4.8
  • OCR 功能需安装 Microsoft Office 2003/2007 的 Document Imaging 组件(MODI)

下载与安装:

从 GitHub Releases 下载最新版,解压即可使用,无需安装。

编译源码(可选):

  • Visual Studio 2022 或更新版本
  • 安装「.NET 桌面开发」和「C++ 桌面开发」工作负载
  • 目标框架建议 .NET Framework 4.8

良心授权

AGPL + 良心授权:软件基于 AGPL,附加条件为「用户每次使用后如有所获益,应行一善事」。善事无分大小,有心则行。若使用源码开发商业软件并产生收益,应将收益中不低于千分之一的金额捐赠给弱势群体。遵循与否全在于良心。

项目优势

对比项 PDF 补丁丁 商业 PDF 工具 在线 PDF 工具
费用 永久免费 订阅制 免费/有限制
广告 无 无 可能有
隐私 本地处理 视产品而定 上传风险
功能深度 编辑、OCR、结构分析 功能全面 基础功能
平台 仅 Windows 多平台 跨平台

项目详细剖析

技术架构

核心组件:

  • iText:.NET 组件,解析、生成、修改 PDF,嵌入 TTF 字体子集
  • MuPDF:C 语言库,渲染 PDF 为位图,通过 P/Invoke 调用(SharpMuPDF)
  • JBig2:JBIG2 图像编码/解码

其他组件:ObjectListView、FreeImage、Cyotek ImageBox、TabControlExtra、HTMLRenderer 等。

源码结构

bash 复制代码
PDFPatcher/
├── App/              # 主程序
│   ├── Common/       # 工具类
│   ├── Functions/    # 功能窗体和控件
│   ├── Lib/          # 第三方组件
│   ├── Model/        # 高级模型
│   ├── Options/      # 程序选项
│   └── Processor/    # PDF 处理算法(含 Mupdf P/Invoke)
├── JBig2/            # JBIG2 编解码
├── doc/              # 使用文档
└── 使用手册.docx

特色功能说明

书签编辑器:支持正则表达式和 XPath 匹配,可快速选择篇、章、节书签,自动生成文档书签。

OCR 识别:调用 Microsoft Office 的 MODI(Document Imaging)组件,识别图片中的文字,将图片 PDF 目录页转换为可点击书签。

字体替换与嵌入:替换文档字体;嵌入字库到 PDF,解决 Kindle 等无字库设备的乱码问题。


项目地址与资源

官方资源

适用人群

  • 电子书整理、扫描 PDF 处理
  • 需要解除 PDF 限制的用户
  • 需要批量合并、拆分、提取页面的用户
  • 需要 OCR 和字体嵌入的用户
  • PDF 格式爱好者、开发者

欢迎来我中的个人主页找到更多有用的知识和有趣的产品

相关推荐
miofly2 小时前
GitHub 日榜趋势速报 | 2026-11-06
开源·github
Bayze14 小时前
开源了一个 MCP 工具:让 Cherry Studio 里的 AI 助理调度多家模型交叉复核
开源
SL_staff15 小时前
从文档工具到知识中枢:基于JVS数字底座构建企业级统一内容管理平台的技术实践
java·开源·全栈
翌日阳16 小时前
二十分之一的压缩比:Spatial Vivid 1.0 把 3DGS 全链路参考实现按 MIT 开源了
3d·开源
fthux18 小时前
Tick Rest,一个休息提醒工具的自我修养
macos·开源·swift
高调的涵涵19 小时前
300MB 预算,解压 2.2GB 的包
开源
AMASENSYS艾马斯20 小时前
矿山变频设备全生命周期管理与配件备件方案
产品·资讯
刘水生1 天前
《你的 AI 为什么总在你没批准的时候动手?》
开源
鶴哥只手遮天1 天前
《Redis 8.10.3 深度剖析》系列 · 第 1 章·全景与源码地图:版本谱系、构建体系、全局状态与启动链路
redis·后端·开源
分布式存储与RustFS1 天前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准