夜雨聆风学习资料网

ARTICLE · 1322462

PDF脱敏工具:涂黑、打码只是隐藏,真正脱敏处理需要这样做!

PDF脱敏工具:涂黑、打码只是隐藏,真正脱敏处理需要这样做!

先做个实验,三十秒

找一份你以前"涂过黑块"的 PDF——合同、通报、标书、带身份证复印件的那份都行。

打开它,按 Ctrl+A,复制,粘到记事本里。

或者按 Ctrl+F,输入那个你以为已经看不见的号码。

或者把它丢进任何一个"PDF 提取文字"的工具。

——如果那段字出现在结果里,那它从来没有被删掉过。只是被挡住了。


"遮盖"和"删除"是两件不同的事

这是 PDF 最容易被误解的地方。

你在页面上画一个黑矩形,对 PDF 来说只是多了一条"在这里刷一块黑"的指令,底下那行字一个字节都没动。它仍然躺在文件的内容流里,仍然带着完整的坐标、字体、字号——所以阅读器能选中它,搜索引擎能命中它,任何取字工具都能原样把它端出来。

颜色调深一点、透明度调低一点、贴一张图盖住——本质一样。

这些做法防住的是眼睛,防不住复制粘贴。

真正要的效果是:这一串字,在文件里不存在。搜不到、复制不出、拿任何工具抠不出来。

「PDF脱敏」走的就是这条路。

举个栗子如下:框选需要脱敏的信息

框选好之后点击应用就达到脱敏的效果,效果如下:


真删除,动的是一整套东西

删一行字看起来简单,实际上要处理三层,少一层都算没删干净。

第一层:把字从内容流里抠掉。

不是整行划掉——是按字形逐个删除你框住的那几个字。麻烦在于 PDF 排版:一行字是一条连续的推进指令,中间凭空抽掉几个字,后面的字会往左塌、位置全乱。

所以它在删字的位置补回一段等量的推进值:结果是被删的字彻底没了,而它后面那句"金额:壹拾贰万元整"仍然端端正正待在原位,行距、字距、行宽都不变。

第二层:再压一个矢量色块。

删完字,位置上会露出一片空白。它会在页面内容的最末尾追加一个实心色块盖住那里——这一层是排版用的,不是保密用的。字已经在第一层被删掉了。

第三层:整个文件重写一遍。

这一层最容易被忽略,也最要命。PDF 里可能藏着的东西,一份一份数给你看:

  • 文档信息(标题、作者、主题、关键词)——很多人改文件名交出去,忘了 /Info 里还写着"XX银行-内部评审-张三";
  • XMP 元数据;
  • 表单域定义(AcroForm)——你填过的金额、姓名,可能作为字段值单独存着;
  • 页面注释——高亮、便签、打字注释、内部批注、链接;
  • 书签与大纲;
  • 命名目标与附件索引(有人把原始明细表当附件塞在 PDF 里);
  • 可选图层(OCG)——藏在图层里的东西,肉眼看不见,但内容在;
  • 页级的 Metadata、缩略图、PieceInfo。

它的新文件目录只保留页面本身,上面这些一律不进新文件。

还有一点更要紧:它是全量重写,不是增量保存。

PDF 允许"增量更新"——原文件不动,把改动追加在文件尾部,靠一条 /Prev 链把新旧版本串起来。听起来很合理,实际效果是:旧版本整份躺在文件后半段,任何编辑器打开都能翻回你删之前的样子。

脱敏后的文件只有一个指向点、没有 /Prev 链,旧字节不残留。


操作:框选,然后看它把账交给你

① 打开 PDF(全程在你本机,文件不上传)。

② 右侧预览里按住鼠标拖拽框选要删的文字;懒得描边就单击一下,选中整行。

③ 「全文档同串批量标记」默认开着——你只框一个身份证号,它会把这份文件里所有页出现过的同一串全部标记出来,状态行会告诉你"已在全文档追加 N 个相同文字"。

这个开关很关键。手工框选最大的事故不是漏字,是漏页:同一个账号在正文出现 3 次、表格出现 5 次、脚注出现 1 次,人只会记得前两处。

④ 处理方式选「🗑 真删除(推荐)」。

⑤ 先点「检查并预览」,别急着保存。

这时候出来的东西,是我觉得这个功能最实在的部分——一张审计清单:

按页列出「删除字符串数 / 删除字形数 / 扩删整块数」,下面用 🧹 明明白白写着这次将移除哪些隐藏结构:文档元数据、XMP、表单域定义、页面注释几条、书签大纲、命名目标与附件索引。

如果有情况它处理不了,不会给你一个假装安全的文件:要么标 ⚠️(例如原件字宽信息不可信,它会把整个文本块删掉并写明"因字宽不可信扩删整块"——删多了会告诉你),要么直接 ⛔ 拒绝并说明原因。

⑥ 核对完,点「保存脱敏副本」,拿到 原名_已脱敏.pdf。

顺带说一句选区管理:每一段选中会变成一个可撤销的小条(写着前 24 个字和所在页码),点 × 只取消这一段,点「清除全部」重来。涉及哪几页也会一行汇总出来,方便你对着原件核。


「仅遮挡」这个模式,是给你排版用的

面板上第二个选项是「⬛ 仅遮挡」,它选下去之后那行说明会变黄:

只在文字上覆盖不透明色块,内容流原样保留。肉眼看不见,但原文仍可用复制、检索、取字工具取出——只适合排版预览,不适合对外交付。

保存时它还会再提醒一次:⚠️ 已生成仅遮挡副本(原文未删除)。

一个功能愿意在界面里把自己的弱点写清楚,比喊十句"安全可靠"有用。


有几种文件,它会直接拒收

这些情况它不做,而且做之前就告诉你:

  • 加密的 PDF——脱敏必须重写全文,硬来会产出一份未加密副本、权限语义全变。它让你先用「PDF解密」存一份无保护版再回来。
  • 带 DocMDP 认证签名的 PDF——任何字节改动都会让签名失效,还可能构成违约。这种文件该走签署流程,不该拿脱敏工具改。
  • 文字装在 Form XObject 里的、Type3 字形或已转曲成图形的、非 Identity CMap 的 Type0 字体、旋转或斜排的文字——这些情况下它没法可靠反推字符位置。原则写在代码里:宁可不改,也不能猜。
  • 纯扫描页——那一页只有像素,没有可删除的字形。版本说明里写得很干脆:**扫描型未做,不做 OCR 猜测,直接拒绝。**猜着删比不删更危险。

顺带说明适用面:文本型(带 ToUnicode 的文本 PDF)可用。

被拒是好事。最怕的工具不是不能干的,是明明没删干净还给你盖个"已完成"的。


用之前,三件事得知道

一、真删除会把结构一起带走。书签、表单域、批注、元数据都会没——这是"不留痕"必须付的代价。所以内部留一份原件,外发用脱敏副本;别拿脱敏版当归档版。

二、发出去之前自己抽查一遍。打开结果文件,Ctrl+A 复制粘到记事本、Ctrl+F 搜那几个关键词、用别的取字工具再抠一次。花你一分钟。凡是它标了 ⚠️ 扩删或 ⛔ 拒绝的页,重点复查。

三、别指望它替你判断什么算敏感。它删的是你框住的字。哪些号码、哪些人名、哪张附件表不该出去,这个决定只能你自己做。


最后说一句最要紧的:这活儿全程在你自己的电脑里完成,断网也能用。

要销毁敏感内容的文件,本来就不该先上传到别人的服务器上"处理一下"。


关注公众号「CarvePDF」,回复 PDF,即可拿到最新版下载地址与解压码。

感谢喜欢此工具的朋友,请点个「❤️」和👍,或者转给同样天天跟 PDF 打交道的同事呗。

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料