abox.tools

语言: 简体中文

怎么把 PDF 涂黑,让文字真的消失

压在一个姓名上的黑块,和一个被删掉的姓名,在屏幕上一模一样。其中一个,选中复制之后还活着。这就是那个区别,那些藏着词却根本不在页面上的地方,以及一个三十秒的检查,它会告诉你手上的是哪一种。

打开PDF 涂黑 字从文件里删掉,然后再搜一遍这个文件来证明。

以 Markdown 查看

先说结论

打开 PDF 涂黑,把文档放进去,打上要消失的词,勾上你确实要的那些,按「拿掉」。字会从绘制这一页的指令里删掉,同样的词也会从书签、批注、表单域和文档属性里拿走,而做好的文件在交给你之前,会当着你的面重新打开、重新搜一遍。

下面所有内容都在说,为什么最后那半句才是要紧的,以及怎么看出你手头在用的那个工具能不能说出同样的话。

这里说的是哪种失误

在 PDF 阅读器里给一个姓名画一个黑块。你看见的是一个盖着黑块的姓名。而多数阅读器存下来的,是一份含着那个姓名的文档,外加一个另存的方块,它有位置、有大小、有颜色。

这样画出来的方块是一个批注:一个有位置的对象,存在页面旁边,而不是页面里面。它下面的文字分毫未动。谁把那块区域选中按复制、谁拿任何一个文本提取器过一遍、谁把文件在一个批注画法不同的程序里打开,姓名就回来了。屏幕上没有任何东西能把它跟真正的涂黑区分开,而这恰恰是为什么这种事在雇着律师的机构里也一再发生。

它让法院文书、情报评估、合同,以及 2025 年 12 月美国司法部大批文件里被涂黑的姓名公之于众,而那些姓名在公布后几小时之内就被读了出来。套路每次都一样:方块是批注,而批注从来就不是文字。

真正的涂黑做的是什么

PDF 的一页是一串指令:设这个字体,把笔挪到这里,画出这些字形。页面上的词只存在于一个地方,就是这些绘制指令的操作数:

BT /F1 12 Tf 72 700 Td (致张伟先生) Tj ET

把这个姓名涂黑,意思是把那些字符从那条指令里删掉,再把这一页写回去。此后没有什么可以恢复,不是因为文件藏得好,而是因为那些字符不在文件里。这里没有哪个方块底下还压着东西,因为底下什么都没有。

有一样东西必须放回去,不然结果一眼就看得出不对。文字是靠一支笔在页面上往前推着画出来的,所以删掉五个字符,就会把这一行剩下的部分往左拽五个字符:表格的列不再对齐,合计滑到了别的表头下面。一个把这件事做对的工具,会量出被删部分本该让笔前进多远,再把那个距离作为一条字距指令放回去,而那条指令只挪笔,不画任何东西。

那个黑块,如果有的话,是之后画在一处早就空了的位置上的。它是给读文档的人的一点礼貌,是「这里拿走过东西」的记号,而不是涂黑本身。一句话就能说清这个区别:真的涂黑里,方块是装饰;假的涂黑里,方块就是涂黑。

查找卡片:填了两个词,旁边是命中次数和它们在文档中每一处出现位置的列表。
该消失的是什么由你说,工具负责把每一处都找出来,包括第三页那处谁也没想起来的。

词藏身的四个地方,而它们都不是页面

这一段专治那些前半截做对了的人。一份 PDF 同时在好几个地方带着文字,而阅读器会把它们全都显示、搜索、复制出来。把姓名从页面上拿掉、却留在其中任何一处,就不算拿掉。

附件是第五处。一份 PDF 可以在自己内部装下整个的别的文件,而你对页面做什么都碰不到它们。

页面卡片:某一页的正文被提取出来且可以选中,命中的词已经高亮。
让人吃惊的正是这一部分。PDF 不是一张图:里面的字,任何拿到它的人都能选中、搜索和复制。

三十秒检查一个文件

任何你要发出去的东西都这么过一遍,不管它是哪个工具做的。这是那个能把已知的每一次失误都逮住的检查。

  1. 打开做好的文件,按 Ctrl+F(Mac 上是 Cmd+F)。搜你拿掉的那个词。真的涂黑什么都搜不到。要是阅读器跳到了一个黑块上,那个词还在里面,方块只是压在它上面。
  2. 把涂黑的那块区域选中复制。在方块上拖过去,按 Ctrl+C,粘到任何一个文本框里。只要有东西粘出来,你就是从另一头逮住了同一个失误。
  3. 把整份文档选中,也复制一遍。Ctrl+A 然后 Ctrl+C,粘到任何一个文本编辑器里,读一读出来的东西。这一条在三条里远远最有用,因为它把文档按一个文本提取器看到的样子摊给你,其中还包括你压根不知道存在的文字,而这在扫描件上很常见。
  4. 看看属性,多数阅读器里是「文件 → 属性」,再看看书签那一栏。这两处都是一次在页面上做得完美的涂黑之后,姓名照样活下来的地方。

PDF 涂黑会替你跑其中第一条和第三条,并且把数量给你看。因为一个工具声称自己拿掉了什么算不上证据,而在做好的文件里搜一遍算。

扫描出来的文档是另一回事

扫描件是一页纸的照片。上面的词是像素,不是文字,你在文字层上怎么折腾都碰不到它们,因为要么根本没有文字层,要么有的那一层是在描述这张图,而不是这张图本身。

如今多数扫描仪和 PDF 工具会在图上面加一层看不见的文字,由光学字符识别写出来,好让这一页可以搜索。那一层是真文字,拿得掉。也值得拿掉:搜索、复制,以及每一个自动读文档的系统,找到的正是它。图一点不变,对着页面看的人,那些词照样清清楚楚。

所以对一份扫描件,诚实的顺序是这样:先把词从文字层里拿掉,再单独处理那张图,也就是去覆盖像素。做这件事的是图片涂黑,而它旁边那篇指南讲了为什么对文字来说,模糊或者马赛克都不够。

为什么不干脆打印出来再扫一遍

因为这么做确实管用,代价是别的一切。把涂黑过的一页打印出来再扫回去,确实得到一份没有文字层可漏的文档,同时也得到一份谁也搜不了、任何屏幕阅读器都读不了、大小翻五到五十倍、清晰度全看办公室扫描仪心情的文档。这一招还建立在一个前提上:这一页是照着它看上去的样子打印的。批注可以被标成只在屏幕上显示、不随纸打印,而如果你那个黑块正好是这一种,打印机吐出来的那张纸上就印着姓名。

「拼合成图像」也是同一个道理,有些工具把它当成涂黑来提供。它把每一页变成这一页自己的照片。如果那些词是被盖住而不是被删掉的,那么现在这层盖子确实永久了,但文档的其他一切也跟着一起没了,而你发出去的是一份谁也没法用的文件。

为什么这是最不值得上传的一件事

一个涂黑服务必须拿到还没涂黑的那份文件。整笔交易就是这样:私密的那一版先完完整整地到了那边,而留在别人硬盘上的也正是那一版。隐私政策上怎么写都好,这个先后顺序没得辩:你小心对待的那份文档,正是你亲手交出去的那份。

再想想人们都拿什么去涂黑,事情比听上去更糟:证人证言、诊断书、要交给房东的银行流水、带着一个客户名字却要发给另一个客户的合同、写着家庭住址的申请材料。那些才是这里说的文档,而这恰恰是为什么处理它们的工具,另一头不该有服务器。

本站这个涂黑工具里的一切都发生在你自己的浏览器里:文件在你的机器上读取、修改、写出、核对,而你搜的那些词也从不离开这个标签页。断网之后它照样能用,而这正是「什么都没往外送」的最简单证明。一次上传实际上意味着什么,看上传文件安全吗。