Pages

Tuesday, 20 June 2023

PDFpatcher宣布开源,完全免费的PDF文档编辑工具



PDF格式的文档在我们日常的工作学习中经常可以使用到,由于它稳定可靠的特性我们再对PDF文档操作时,比如文档编辑、文档合并/拆分、文档压缩。

往往都需要使用更专业的工具,而这些PDF文档处理的工具大部分都是付费或者免费有限制。那么有没有完全免费的呢?

近期一款拥有12年历史的PDF处理工具,作者将其在GitHub进行了开源,永久免费使用。

PDF补丁丁是一个Windows端多功能的 PDF 文档工具箱,拥有12的历史,别看界面有些简陋,功能还挺多的。
带有一个强大的 PDF 书签编辑器(可自动生成书签),有超快的从 PDF 文档里无损提取图片的能力,又可以合并图片和 PDF 文档,统一页面尺寸,清除文档的打印和复制限制、OCR 文字识别等功能。


去年12月份PDF 补丁丁的源代码(除第三方组件外)将完全开放,供有心人学习 PDF 文档处理技术之用。

并且软件及源代码采用“良心授权”协议,用户每次使用本软件后如有所获益,应行一善事;如使用源代码开发了新的软件并获得收益,应将收益中不低于千分之一的金额捐赠给社会的弱势群体。

自动识别书签
在PDF文档中的标题上进行右键,设置自动书签的标题标题格式,即可自动根据你的文档生成对应的书签,方便你阅读文档。书签文档支持导出、导入~

批量修改文档
支持批量修改文档属性、页码编号、页面链接、页面尺寸;删除自动打开网页等动作,去除复制及打印限制;设置阅读器初始模式;支持优化PDF体积

无损提取图片
支持一键导出PDF文档内所有图片,JPEG图片支持无损合并为PNG图片。

软件详细功能
    修改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爱好者分析、调试之用。
    永久免费,绝不过期,无广告,无弹出废话对话框。

最后,该工具看着挺简陋的和Adobe、福昕等大厂的工具肯定没办法比,但工具小巧免费,任何广告,里面的功能也都是日常能用到的。

如果你有更多的需求,感兴趣的小伙伴可以试试Adobe Acrobat Dc.

--------------------------------------------------------------------------

PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等.

pdfpatcher.cnblogs.com/ 

PDF 补丁丁(PDFPatcher)

感谢您关注 PDF 补丁丁,请在使用软件或源代码前阅读本说明和授权协议。本软件及源代码采用 AGPL+“良心授权”协议——用户每次使用本软件后如有所获益,应行一善事;如使用源代码开发了新的软件并获得收益,应将收益中不低于千分之一的金额捐赠给社会的弱势群体

功能简介

PDF 补丁丁是一个 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 爱好者分析、调试之用。
  • 永久免费,绝不过期,无广告,无弹出废话对话框,不窥探隐私。

授权协议

《PDF 补丁丁》软件(以下简称本软件)受著作权法及国际条约条款和其它知识产权法及条约的保护。 本软件对于最终用户免费。由于本软件使用了带有 AGPL 条款的第三方开源组件,因此,本软件及其源代码的使用协议也基于 AGPL。另外还带有如下附加条件。在遵守本软件的前提条件下,你可以在遵循本协议的基础上自由的使用和传播它,你一旦安装、复制或使用本软件,则表示您已经同意本协议条款。如果你不同意本协议,请不要安装使用本软件,也不应利用其源代码。

附加条件: 每一个使用本软件的用户,如果本软件帮助了您,每使用本软件后,您应当做 1 件善事。善事无分大小,有心则行。例如:

  1. 如果您的父母在身边,你可以为您的父母做一顿美味的饭菜,或者为他们按摩、洗脚;如果他们身处远方,你可以向他们发起通话,问候他们的健康和生活。
  2. 在大雨滂沱的时候,如果您有雨伞,可与同路的人共享;在烈日当空的时节,如果您看到环卫工人太阳下工作,您可以为他们买一瓶水送给他们;在拥挤的公共交通工具上,或在公共场合排队等候之际,如果您有座位,可以让给老人、孕妇或提着重物的人就坐。
  3. 您可以用您擅长的技能,为身边的人排难解困;您可以将您的知识,分享给其他人,让他们有所获益;您可以向比您困难的人捐资赠物
  4. 如果您觉得这个软件真的好用,请将它的使用方法介绍给别人,让别人也通过使用本软件而得到好处;或者将其它您觉得好用的软件介绍给别人。

如果您无法做到使用本软件后做 1 件善事,请记在心中。在有机会的时候,多行善积德。本用户协议之遵循与否,全在于您的良心。是为“良心授权”。

相关定义:

  1. 软件:软件是指《PDF 补丁丁》软件以及它的更新、产品手册,以及在线文档等相关载体。
  2. 限制:你可以使用本软件的源代码开发应用程序(自由、共享或商用),也可以任意方式分发数量不限的本软件的完整拷贝,但前提是: ① 你分发软件时必须提供本软件的完整版本,未经许可不得对软件乃至它的安装程序做任何修改; ② 你分发软件时不能更改本授权协议; ③ 你如果在商业性宣传活动、产品中附加本软件,应当获得著作权人的书面许可; ④ 你如果利用本软件的源代码编写了其它软件,并且产生了销售收入,应当将该软件销售收入不低于千分之一的金额捐献给社会上的弱势群体。
  3. 支持:软件会由于用户的需求而不断更新,著作权人将提供包括用户手册、电子邮件等各种相关信息支持,但软件不确保支持内容和功能不发生变更。
  4. 终止:当你不同意或者违背本协议的时候,协议将自动终止,你必须立即删除本软件产品。
  5. 版权:本软件及源代码受著作权法及国际条约条款和其它知识产权法及条约的保护。
  6. 免责:对于本软件安装、复制、使用中导致的任何损失,本软件及著作权人不负责任。

常用的 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 编译出来的动态组件库可在作者另一个开放源代码库 SharpMuPDF 下载。PDF 补丁丁通过 P/Invoke 技术调用该组件库的功能。

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

源代码的结构

  • App 目录:PDF 补丁丁主程序
    • Common:一些常用的工具类
    • Functions:用于呈现软件各类功能的窗体和控件
    • Lib:程序使用的第三方组件
    • Model:编辑文档时所用的高级模型(基础数据模型由 iText 和 MuPDF 的类实现)
    • Options:程序的选项
    • Processor:处理 PDF 文档的算法(其中 Mupdf 目录里放置了 P/Invoke 调用 MuPDF 的类)
  • doc 目录:放置程序的使用文档
  • JBig2 目录:放置 JBIG2 图像的编码和解码库代码

运行环境

  • Windows 7 以上版本的操作系统。
  • .NET Framework 4.0 到 4.8 版本。
  • 使用文字识别功能需要安装 Microsoft Office 2003(或 2007)的 Document Imaging 组件(MODI)。
  • 编译程序源代码,建议使用 Visual Studio 2019 或更新版本,并安装“.NET 桌面开发”(用于编译 PDF 补丁丁源代码)和“C++ 桌面开发”(用于编译 JBIG2 编码组件)两个工作负载。如使用 Visual Studio 2022,可能会遇到项目“面向不再受支持的 .NET Framework”、需要“将目标更新为 .NET Framework 4.8”的问题。简单方法是将目标更新为 .NET Framework 4.8,如不更新目标,请参考这篇文章介绍的方法

from https://github.com/wmjordan/PDFPatcher

https://github.com/wmjordan/PDFPatcher/releases/download/v1.0.0-beta2/PDFPatcher.1.0.0.4134.7z 

------------------------------------------

良心免费开源多功能 PDF 工具:PDF 补丁丁

PDF 文档是现在很常用的格式,有时候需要把 PDF 文档转换成图片或文档、合并内容、甚至编辑内容等,都需要借助相关软件。然而目前有些 PDF 软件要么需要付费,又或者功能比较零散单一。
不过最近有一款超级良心完全免费的多功能 PDF 工具箱宣布开源了,它就是 "PDF 补丁丁"。据作者介绍,在 2009 年就开发了这个软件,到今年有 12 年了。所以在没有任何盈利的情况下,能坚持维护开发这么久实在难能可贵。
20220113
另外作者也表示开源是为了供有心人学习 PDF 文档处理技术之用。同时使用者也需要留意源代码采用“良心授权”协议;如使用源代码开发了新的软件并获得收益,应将收益中不低于千分之一的金额捐赠给社会的弱势群体。

PDF补丁丁介绍

PDF 补丁丁虽然界面看起来有点 "历史感" 不过功能一点都不弱,下面给大家介绍几个重点不错的功能。
识别图像文本:目前不少 OCR 软件需要付费,这里支持把原始 PDF 文件里面的图像文本识别并支持写入到 PDF 文档。功能方面也支持文本排版方向、纠正、删除汉字间空格等等。
20220113-1
识别书签:支持对 PDF 文档的标签进行编辑,支持自动根据你的文档生成对应的书签、导出/导入书签文档、更改页码、合并标签、设置标签格式等。
20220113-2
提取页面:对 PDF 文档页面进行提取,可以选择需要保留的内容,包括有书签、属性、限制等。
20220113-5
批量修改文档:可以批量去除 PDF 打印限制、复制限制,修改文档属性、页码编号、页面链接、页面尺寸、优化体积、删除自动打开网页等。
20220113-4
提取图片:对 PDF 文档里面的图片批量导出,可以设置需要提取的页码范围、图片合并为PNG、导出批注内的图片、文件重命名等多种设定。
20220113-3

功能特色

  • 修改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爱好者分析、调试之用。

总结

作为个人作品能把功能开发到这种程度很不容易了,无论你是偶尔/经常用到 PDF 编辑软件,这款 PDF 补丁丁都非常值得收藏备用。另外因为项目开源了出来,相信后续会有更多基于 PDF 补丁丁开发的版本。

下载

  • 下载:
    https://xia1ge.lanzout.com/iPbZ5yot2sh
  • 项目地址:
    https://github.com/wmjordan/PDFPatcher

 

 

 

No comments:

Post a Comment