DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

dragonsummer1 /

dragonsummer1/dsh-watermark-remover

Verified

DSH 插件:结构级无损移除 PDF / Word 水印(探测 Form XObject 图层与文字块,不改动正文与分辨率)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@8fbdd871

文档去水印 · dsh-watermark-remover

给 DSH 用的 PDF / Word 去水印工具。结构级、无损:不栅格化、不重绘、不 OCR —— 文字还是文字,图片还是图片,被拿掉的只有水印那一层。

它怎么做的

水印在文件里通常不是"一层滤镜",而是具体结构。本插件按结构识别、按结构移除:

PDF

  • 跨页共享的 XObject(Form / Image)水印层 —— 典型特征:同一对象绘制在每一页、盖在全部文字之后、带极低不透明度的 SMask
  • 内容流里直接绘制的文字水印(BT..ET 块)
  • 移除方式:从内容流剥掉 /Name Do、删除 Resources 引用,再回收失去引用的间接对象 —— 水印图像像素真的不在输出文件里,不是被隐藏

Word(.docx)

  • 页眉里的 VML 艺术字水印(v:textpath)
  • wp:anchor behindDoc="1" 衬于文字下方的图形、w:background 背景
  • 移除方式:整 run 摘除(优先摘整个 <w:r>,摘不干净才退到元素本身)

两步走:先看,再删

步骤 工具 作用
分析 analyze 列出候选 id 与置信度(xobj:21、text:内部资料 …),不改文件
移除 remove 按 id 执行;不传 targets 时只动高/中置信度候选;输出新文件,原件不动

对 agent 直接说话就行:"看看这个 PDF 的水印,能去就去掉"。

置信度与防误删

跨页重复是主要证据,但重复不等于水印——正文在每一页也会重复。所以文字候选只有命中水印词表(水印 / 内部 / 机密 / DRAFT / CONFIDENTIAL / SAMPLE …)才会升到中/高置信度,其余一律 low 且不参与自动移除。

实测例子:一份 2 页中文 PDF,正文用 CID 子集字体编码,解码出来是「盩」「盯」「%^」这类乱码、且跨页重复 —— 修复前会被判成 132 个 medium 候选(自动模式会把正文全删),修复后是 {medium: 1, low: 132},自动模式只动那一个真水印。

能做到 / 做不到(不吹牛)

情况 结果
PDF 整页水印层(XObject) ✅ 无损移除
Word 页眉艺术字水印 ✅ 无损移除
扫描件、图片内部的水印像素 ❌ 无法无损去除(属于内容像素)
CID/子集字体编码的文字水印 ⚠️ 字节不可读、无法按文本匹配;这类水印多以 XObject 承载,通常会被 XObject 候选覆盖
加密 PDF ❌ 拒绝(请先解密)

安装

dsh plugin --profile web add dsh-watermark-remover

依赖

pdf-lib(PDF 解析/重写)、adm-zip(docx 解包重打包)。无原生模块,不需要编译工具链。

许可

BSD-3-Clause

—/ 5

No ratings yet

Verified DSH bundle

Commit 8fbdd871f150

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout