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 工具會在圖上面加一層看不見的文字,由光學字元識別寫出來,好讓這一頁可以搜尋。那一層是真文字,拿得掉。也值得拿掉:搜尋、複製,以及每一個自動讀文件的系統,找到的正是它。圖一點不變,對著頁面看的人,那些詞照樣清清楚楚。

所以對一份掃描檔,誠實的順序是這樣:先把詞從文字層裡拿掉,再單獨處理那張圖,也就是去覆蓋畫素。做這件事的是圖片塗黑,而它旁邊那篇指南講了為什麼對文字來說,模糊或者馬賽克都不夠。

為什麼不乾脆列印出來再掃一遍

因為這麼做確實管用,代價是別的一切。把塗黑過的一頁列印出來再掃回去,確實得到一份沒有文字層可漏的文件,同時也得到一份誰也搜不了、任何螢幕閱讀器都讀不了、大小翻五到五十倍、清晰度全看辦公室掃描器心情的文件。這一招還建立在一個前提上:這一頁是照著它看上去的樣子列印的。註解可以被標成只在螢幕上顯示、不隨紙列印,而如果你那個黑塊正好是這一種,印表機吐出來的那張紙上就印著姓名。

「拼合成影像」也是同一個道理,有些工具把它當成塗黑來提供。它把每一頁變成這一頁自己的照片。如果那些詞是被蓋住而不是被刪掉的,那麼現在這層蓋子確實永久了,但文件的其他一切也跟著一起沒了,而你發出去的是一份誰也沒法用的檔案。

為什麼這是最不值得上傳的一件事

一個塗黑服務必須拿到還沒塗黑的那份檔案。整筆交易就是這樣:私密的那一版先完完整整地到了那邊,而留在別人硬碟上的也正是那一版。隱私政策上怎麼寫都好,這個先後順序沒得辯:你小心對待的那份文件,正是你親手交出去的那份。

再想想人們都拿什麼去塗黑,事情比聽起來更糟:證人證言、診斷書、要交給房東的銀行流水、帶著一個客戶名字卻要發給另一個客戶的合同、寫著家庭住址的申請材料。那些才是這裡說的文件,而這恰恰是為什麼處理它們的工具,另一頭不該有伺服器。

本站這個塗黑工具裡的一切都發生在你自己的瀏覽器裡:檔案在你的機器上讀取、修改、寫出、核對,而你搜的那些詞也從不離開這個分頁。斷網之後它照樣能用,而這正是「什麼都沒往外送」的最簡單證明。一次上傳實際上意味著什麼,看上傳檔案安全嗎。