浏览器家园·资讯

展开

13年历史的国产开源PDF神器:PDF补丁丁

编辑:浏览器知识

PDF补丁丁是一个多功能的 PDF 文档工具箱,在 2009 年开始,我开始了该程序的开发,到现在也已经有十三年了。它致力于解除 PDF 文档的烦恼,带有一个强大的 PDF 书签编辑器(可自动生成书签),有超快的从 PDF 文档里无损提取图片的能力,又可以合并图片和 PDF 文档,统一页面尺寸,清除文档的打印和复制限制,这些功能都是这些年来一直为用户所喜爱的。对于高端开发者,又提供了文档结构探查器等一系列功能。

根据前一篇文章的预告,从今天开始,PDF 补丁丁的源代码(除第三方组件外)将完全开放,供有心人学习 PDF 文档处理技术之用。请使用者留意的是本软件及源代码采用“良心授权”协议——用户每次使用本软件后如有所获益,应行一善事;如使用源代码开发了新的软件并获得收益,应将收益中不低于千分之一的金额捐赠给社会的弱势群体。

官方及下载链接:https://github.com/wmjordan/PDFPatcher

 

软件界面很简单。

常用的 PDF 开源组件简介

PDF 文档的规范(ISO 32000-1:2008 《Document management — Portable document format — Part 1:PDF 1.7》)可从网上找到,一般来说,它是 PDF 处理程序开发者的必读文献。
PDF 文档格式中涉及印刷领域的多项技术,并有其独特的文档结构,还使用了多种数据压缩算法。要从零开始编写 PDF 文档的处理程序,对于一般人而言,通常是困难而不太现实的。PDF 补丁丁使用 .NET Framework 开发,主要采用 iText 和 MuPDF 这两个开放源代码的组件库来处理 PDF 文档。

前者是 .NET 组件,与 PDF 主程序具有较好的互操作性,并且在解析、生成和修改 PDF 文档,以及嵌入 TTF 字体子集这些功能上,优胜于后者。

后者采用 C 语言开发并编译,与前者相比,其最大的优点是具有渲染 PDF 文档为位图的功能。MuPDF 编译出来的动态组件库可在我另一个开放源代码库 https://github.com/wmjordan/SharpMuPDF 下载。PDF 补丁丁通过 P/Invoke 技术调用该组件库的功能。

除了 PDF 开源组件之外,程序还使用了其它优秀开源组件。例如 ObjectListView 这个强大的列表控件、FreeImage 来读取和解码各种类型的点阵图像文件、Cyotek 的 ImageBox 用于显示渲染好的 PDF 文档页面、TabControlExtra 用于构建选项卡式文档界面、HTMLRenderer 用于显示 HTML 网页界面等等。

PDF编辑页面也很清晰明了,鼠标悬停在具体的功能上会有文字说明其内容,非常友好,也能通过移动鼠标查看字体等。
像常规的合并、拆分PDF等功能这里就不再赘述了,文字识别应该算是一个亮点功能,并且可以通过设置准确定位范围。

源代码的结构

App 目录:PDF补丁丁主程序
Common:一些常用的工具类
Functions:用于呈现软件各类功能的窗体和控件
Lib:程序使用的第三方组件
Model:编辑文档时所用的高级模型(基础数据模型由 iText 和 MuPDF 的类实现)
Options:程序的选项
Processor:进行 PDF 文档处理的算法(其中 Mupdf 目录里放置了 P/Invoke 调用 MuPDF 的类)
doc 目录:放置程序的使用文档(暂缺)
JBig2 目录:放置 JBIG2 图像的编码和解码库代码
编译环境
Windows 10,Visual Studio 2019
工作负载:.NET 桌面开发、C++桌面开发(带 Windows 10 SDK)

PDF补丁丁功能特性

修改 PDF 信息:修改文档属性、页码编号、页面链接、页面尺寸;删除自动打开网页等动作,去除复制及打印限制;设置阅读器初始模式。
PDF 书签编辑器:带有阅读界面(具有便于阅读竖排文档的从右到左阅读方式),可批量修改 PDF 书签属性(颜色、样式、目标页码、缩放比例等),在书签中执行查找替换(支持正则表达式及 XPath 匹配、可快速选择篇、章、节书签),自动快速生成文档书签。
生成 PDF 书签:无需手工输入,自动识别正文标题或目录,为PDF文档生成书签。
制作 PDF 文件:合并已有 PDF 文件或图片,生成新的 PDF 文件。合并后的PDF文档带有原文档的书签,还可挂上新书签(或根据文件名生成),新书签文本和样式可自定义。
拆分或合并 PDF 文件,并保留原文件的书签或挂上新的书签。
高速无损提取导出 PDF 文档的图片。
提取或删除 PDF 文档中指定的页面,调整 PDF 文档的页面顺序。
根据 PDF 文档元数据重命名 PDF 文件名。
调用 微软 Office 的图像识别引擎分析 PDF 文档图片中的文字;将图片 PDF 的目录页转换为 PDF 书签。识别结果可写入 PDF 文件。
替换字库:替换文档中使用的字体库;嵌入字库到 PDF 文档,消除复制文本时的乱码,使之可在没有字库的设备(如 Kindle 等电子书阅读器)上阅读。
分析文档结构:以树视图显示 PDF 文档结构,可编辑修改 PDF 文档节点,或将 PDF 文档导出成 XML 文件,供 PDF 爱好者分析、调试之用。
永久免费,绝不过期,无广告,无弹出废话对话框。

文章TAG:历史  国产  开源  pdf  13年历史的国产开源PDF神器:PDF补丁丁  

加载全部内容

相关教程
猜你喜欢
大家都在看