好友
阅读权限25
听众
最后登录1970-1-1
|
本帖最后由 Elaineliu 于 2024-12-10 20:09 编辑
PDF万能水印删除工具,可以去除99.9%的PDF水印。例如:XObject水印(含图片水印)、文本水印、绘图水印/曲线水印、注释水印、工件水印、剪切路径水印等等
本软件是永久免费,无有效期限,无广告,无弹窗,无任何不良信息。
起初是因为用扫描王、夸克之类的app搞出来的pdf都带着logo,所以写了这个软件进行处理。发展到目前的最新版已经可以处理绝大部分pdf水印了。当然,如果进一步学习的话,你也可以用这个软件来随意修改PDF中的文本、颜色、位置、旋转、缩放等等的各种内容参数。
应用场景:
1、删除扫描全能王和夸克扫描生成的pdf中加入的logo和链接。
2、去除XObject水印(含图片水印)、文本水印、绘图水印/曲线水印、注释水印、工件水印、剪切路径水印等等。
3、更改PDF文档结构,可用于去水印、换颜色、换文本、换位置、删权限、去签章等等。
功能:
1、-o参数,分析PDF文档的水印格式。输出Detail文件是PDF原始文件结构信息。Contents文件是PDF文件的内容流,用于查找需要替换的指令(位置、颜色、文本等指令)、Text文件提供抽取的Contents部分常用指令,用于快速定位水印的位置、颜色、文本字节码等信息,方便精确处理水印。Annots文件用于查看注释水印。可配合-p参数自定义分析页码。Operators.txt文件用于计算-e参数需要的长度。
2、-p参数,自定义处理的页码(仅正序,从1开始)。
3、-x参数,删除水印图片绘制指令。默认删除Pdf文件每个页面中的最小尺寸图片的绘制指令。
4、-e参数,在Contents中查找指定的操作符指令(可指定匹配序号),并删除该指令开始的指定长度部分(通过Operators.txt计算删除长度)。通常用于删除曲线水印的指令段。
5、-w、-h参数,指定要删除的水印图片宽高尺寸。
6、-t参数,查找相关的文本(ASCII或16进制字节码)和操作指令(支持?和*通配符,使用!表示跳过的匹配项)。支持多文本。操作指令是PDF文件中用于定义文本/颜色/位置等的规定字符串。
7、-r参数指定替换内容(ASCII或16进制字节码)。支持多文本。
8、-q参数,删除qQ操作符之间的绘图水印,暂不支持嵌套。仅供测试。推荐使用 -e 参数替代。
9、-d参数,删除BDC/BMC操作符的绘图水印或Artifact工件水印。
10、-k参数,自定义跳过的水印序号(从1开始)。
11、-c参数,添加裁剪框,使用裁剪框删除位于页面有效文本区域外(上下左右)的水印。需要指定以左下角为原点的x,y,w,h数值。
12、-i参数,删除Widget。
13、-a参数,删除注释/超链接。
14、-u参数,OwnerPassword权限密码更改为"666",开放全部编辑权限。
15、-s参数,删除文档中的数字签名/签章。
使用方法:
拖拽PDF(碰运气):直接拖拽Pdf文件到软件图标上,可以自动删除每页最小宽高的图片、自动去除简单的绘图水印(曲线水印)、自动去除扫描王的文本水印。
命令行(强烈推荐):
1、进入控制台窗口(按Win-r,输入cmd,确定)。如果PDFCommander.exe在D盘,就输入D:回车,然后输入 cd PDFCommander.exe文件所在的目录,回车。
2、把pdf文件拷贝到PDFCommander.exe文件所在的目录中,然后输入 PDFCommander -f 你的文件.pdf -o ,查看pdf文件的contents和Text信息,分析水印。更多命令看压缩包中的说明。
PDF Commander 命令行参数界面
PDFCommander v1.20 下载 (解压缩密码是软件名) 本软件直接操作PDF流,对PDF无损。速度非常快。运行环境:.Net Framework 4.7.2。支持Windows7及以上操作系统。
更新:
v1.12 增加去除数字签名功能。增加裁剪框去除水印功能。删除-b参数,文本和16进制字节统一用-t参数。-r参数支持多文本(匹配-t的文本数量)。
v1.15 文档分析由-v参数改为-o参数。-p参数改为自定义页码。新增-k参数用于自定义跳过的水印序号。
v1.16 文档分析的-o参数输出增加颜色和位置操作符数据。修复-t参数通配符查找bug。修复-s参数bug。
v1.18 文档分析的-o参数输出增加文本位置数据,可显示大部分PDF文本的位置、16进制数据和文本字符串(不能显示CID->UNICODE映射不正确的文字),方便迅速定位文本水印。修复-o参数bug。-o参数增加PDF文档结构Detail输出。-t参数增加跳过匹配项功能,用!表示不做替换的匹配项。
v1.20 增加-e参数,删除指令段。如果曲线水印无法从正文中区分,可以试试此参数。-o参数增加Operators输出,此文件用于计算-e参数需要的长度。
操作:拖拽Pdf到软件图标(仅针对扫描王或者夸克),或者使用命令行(推荐)。如果要批量处理文件,看 这里。Python批量调用看 这里。
说明:各种繁杂的水印需要使用命令行参数-o 分析Contents和Text,然后使用 -t 、-r 等参数配合才能处理。需要替换的文本以Contents文件输出为准,Text文件输出供精确查看参考。推荐看看压缩包中的命令行说明和测试PDF目录中的一些bat。示例中包括了处理水印的几种思路:删文本、删图片、删绘图指令、改颜色、改位置、添加裁剪框。
提示:查看Pdf文件内部结构,分析水印。请使用命令行 PDFCommander -f 你的文件.pdf -o
PDF格式解析:百度 搜 PDF标准详解、PDF文档结构之类的文章,或者下载pdf_reference_1.7.pdf (官方英文文档)
提示:如果PDF中的正文文本和水印都是用绘图指令绘制的,这种情况无法简单区分水印,自然也不能靠拖拽去除。
此类复杂水印需要分析产生水印相关操作符,并使用命令行参数处理(可以考虑替换颜色、修改绘制位置、设置裁剪框、删除指令段等方法)。
参考效果:
顺便说一下,本软件不提供UI界面,原因是写UI代码时间太长,电费太贵。
*********************************************************************
写这个软件的初衷是学校老师天天发扫描王弄出来的PDF试卷打印,浪费墨水。只好自己写个软件去掉。
至于老师为什么不用BD扫描,那我就不知道了...
关于PDF水印的事,这东西有好多种,文字的,图片的,曲线绘制的等等各种路数。在去水印之前,先弄清楚是哪种水印。
推荐使用-o参数输出Detail、Contents、Text、Annots等内容进行分析,确定水印数据(需要有点PDF解析能力)。
也可以使用PDFPatcher或者PDFBox的debugger分析文档结构,参见示例。
使用说明
如果觉得软件对您有用,请免费评个分,谢谢!
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|