想必不少小伙伴平时都要用PDF文件进行各种处理,TJ君印象中,使用PDF文档,最大的麻烦就是对其中的内容进行编辑,往往因为各种原因导致编辑失败、无法编辑。
但是今天,TJ君就要和大家分享一个不错的PDF小工具,PDF工具箱,也称作PDFPatcher,更有一些铁粉称之为PDF补丁丁!(丁丁?哪种丁丁?)
PDFPatcher的主要功能可能有以下几点:
- 修改PDF文档:这个可能是大家最需要的一个功能,工具可以支持修改文档属性、页码编号、页面链接;统一页面尺寸;删除自动打开网页等动作;去除复制及打印限制;设置阅读器初始模式;清理文档隐藏垃圾数据;重新压缩黑白图片;旋转页面。基本上来说,你能想到的对PDF文件进行的编辑操作他都支持。
- PDF书签编辑器:除了基础的修改功能,工具还可以可批量修改 PDF 书签的属性(包括书签颜色、样式、目标页码、缩放比例等),可以使书签可精确定位到页面中间;在书签中执行查找替换(支持正则表达式及 XPath 匹配、可快速选择篇、章、节书签),自动快速生成文档书签。
- 合并新的PDF文件:合并已有的多个PDF文件或图片,生成新的PDF文件;合并后的PDF文档可以带有原文档的书签,还可挂上新书签(或根据文件名生成),新书签文本和样式可自定义;合并的 PDF 文档可指定统一的页面尺寸,以便打印和阅读。
- 拆分PDF文件,有合并有分,除了合并,工具也可对PDF进行拆分并保留原文件的书签或挂上新的书签。
- 高速无损导出PDF文档的图片。
- 将PDF页面转换为图片。(终于不用一个个放到word里面转换了,唔。。曾经TJ君就是这么傻的操作。。。)
- 提取或删除PDF文档中指定的页面,调整PDF文档的页面顺序。(TJ君曾经也是用WORD进行人工操作转换。。。)
- 替换字体:可以替换文档中使用的字体;嵌入字库到 PDF 文档,消除复制文本时的乱码,使之可在没有字库的设备(如 Kindle 等电子书阅读器)上阅读。
- 分析文档结构:以树视图显示 PDF 文档结构,可编辑修改 PDF 文档节点,或将 PDF 文档导出成 XML 文件,供 PDF 爱好者分析、调试之用。
最后一点,可能也许是最重要的一点,就是工具:永久免费,绝不过期,无广告,无弹出无用对话框,不窥探用户隐私。
同时,作为一款开源软件,PDFPatcher使用AGPL+“良心授权”协议,什么是良心授权协议?可能很多小伙伴还不是很清楚,所谓良心授权,是指:
用户每次使用本软件后如有所获益,应行一善事;如使用源代码开发了新的软件并获得收益,应将收益中不低于千分之一的金额捐赠给社会的弱势群体。
作者还对这些善事进行了提示,例如:
- 如果您的父母在身边,你可以为您的父母做一顿美味的饭菜,或者为他们按摩、洗脚;如果他们身处远方,你可以向他们发起通话,问候他们的健康和生活。
- 在大雨滂沱的时候,如果您有雨伞,可与同路的人共享;在烈日当空的时节,如果您看到环卫工人太阳下工作,您可以为他们买一瓶水送给他们;在拥挤的公共交通工具上,或在公共场合排队等候之际,如果您有座位,可以让给老人、孕妇或提着重物的人就坐。
- 您可以用您擅长的技能,为身边的人排难解困;您可以将您的知识,分享给其他人,让他们有所获益;您可以向比您困难的人捐资赠物。
- 如果您觉得这个软件真的好用,请将它的使用方法介绍给别人,让别人也通过使用本软件而得到好处;或者将其它您觉得好用的软件介绍给别人。
是不是觉得每一件事都是自己力所能及的小事?这些事情是否能做到,全凭使用者自己的良心,所以是良心授权
源代码的组织构成如下:
- App 目录:PDF 补丁丁主程序
- Common:一些常用的工具类
- Functions:用于呈现软件各类功能的窗体和控件
- Lib:程序使用的第三方组件
- Model:编辑文档时所用的高级模型(基础数据模型由 iText 和 MuPDF 的类实现)
- Options:程序的选项
- Processor:处理 PDF 文档的算法(其中 Mupdf 目录里放置了 P/Invoke 调用 MuPDF 的类)
- doc 目录:放置程序的使用文档
- JBig2 目录:放置 JBIG2 图像的编码和解码库代码
需要运行的话,需要首先安装.NET Framework4.0 到 4.8 版本,然后编译程序源代码,安装“.NET 桌面开发”和“C++ 桌面开发”两个工作负载即可。
TJ君其实早在年初就下载了源码进行使用,一开始因为开发语言的关系,没有推荐给大家,但用了颇久主要是觉得类似的PDF工具的确不多见,所以现在思前想后还是推荐给大家,感兴趣的小伙伴赶紧来试试看吧。PDFPatcher2022项目地址: