PDF 塗黑

在 PDF 中塗黑文字
在你的瀏覽器中.

輸入要塗黑的詞 — 每一頁的每一處出現都會被覆蓋。無需上傳、無外洩。(視覺塗黑,非鑑識級 — 詳見 FAQ。)

拖放要塗黑的 PDF
我們會以已啟用塗黑對話框的方式開啟編輯器。

親自驗證:開啟 DevTools → Network 分頁 → 拖入一個檔案。你會看到完全沒有任何上傳發生。

輸入即搜尋 · 黑塊 覆蓋每一頁的每一處符合
免費
免註冊
免上傳
輸入即搜尋 · 黑塊
運作方式

三個步驟。檔案永遠不離開此分頁。

1

拖放 PDF

選擇要塗黑的檔案。它會載入瀏覽器記憶體,而非伺服器。

2

輸入樣式

姓名、電子郵件、電話號碼 — 每行一個或以逗號分隔。我們會找出每一處符合。

3

下載塗黑副本

每處符合都會在每一頁以不透明黑色矩形覆蓋。原檔保持不變。

遮蓋你不想分享的文字

對 PDF 進行遮蓋(redact)的理由,通常是把文件的某些部分藏起來,讓其餘部分仍然可讀。一份載有相對方住家地址的合約要送到第三位審閱者那裡,這位審閱者不應看到那地址。一張轉診單要分享給保險公司,病人辨識編號要被遮蓋。一份財報附在董事會的資料夾裡,但單位層級的帳號要遮蓋。一份提案要給候選供應商看,預算行被塗黑,讓他們提案時不被那個數字錨定。這裡的工作很小、也很可預期:輸入要藏起來的字或詞,工具就在每頁每一處出現的地方畫上一個不透明的黑色矩形。

在遮蓋任何敏感內容前請仔細讀這段:這是視覺上的遮蓋,不是司法鑑識級的遮蓋。黑色矩形在螢幕上和列印時蓋住文字,但底下的文字仍留在檔案裡。任何擁有 PDF 工具的人都可以透過複製貼上、搜尋或檢查 content-stream 把它取出來。在「臨時讀者不該看到這段」的情境下適用 — 寄出草稿、把非公開的帳號對同事藏起來、在截圖中把你的電話號碼遮起來。不適合用於依資訊公開法令發布的文件、訴狀,或任何對手會仔細查看的場合。

比對是怎麼運作的

你輸入一個或多個樣式。每個樣式以不分大小寫的 whole-substring 對 PDF 內的文字片段做比對。當某個片段含有你的樣式時,該片段整個 bounding-rect 上會被畫上一個黑色矩形。

實務後果:

  • 子字串比對,不是整字比對。樣式 art 會蓋住「art」「artist」「smart」「martin」。把樣式做得夠具體 — 全名、完整帳號、完整電子郵件。
  • 不分大小寫。樣式 Anna 會蓋住「Anna」「anna」「ANNA」。
  • 不支援 regex,沒有萬用字元。你輸入的字面序列就是要比對的東西。
  • 覆蓋以片段為單位。PDF 把文字儲存成片段,所畫的 bounding rect 會蓋整個片段。如果你的樣式打到含有更多文字的片段裡的某個字,周圍的文字也會一起被蓋。通常這就是你要的;偶爾會看到比預期蓋得多。
  • 跨片段邊界的樣式會錯失。「王小明」在某些 PDF 中是一個片段,在其他 PDF 中是兩個。如果被切開,樣式不會在合併字串上比對成功。把各部分加為各自的樣式:王小明小明

黑色矩形在偵測到的 bounding box 周圍有 1 點的內邊距 — 因為字符在子像素層級的擺放,避免原始文字邊緣有條紋露出。

什麼被藏了 vs. 什麼仍在檔案裡

這一節比其他都重要。黑色矩形是頁面 content-stream 中的一個繪圖指令。原始文字也在 content-stream 裡,在它下面。PDF 閱讀器照順序顯示:先文字,再矩形蓋上去,所以矩形視覺上勝出。但文字本身並沒有被刪除。

具體上的意思是:

  • 複製貼上會把原始文字取回來。在 Adobe Reader 中選取被遮蓋的區域並複製,會得到你想藏起來的字。黑色矩形不能被選取,但底下的文字可以。
  • 搜尋引擎找得到那些文字。如果遮蓋過的 PDF 上傳到網站,以被遮蓋的姓名搜尋會把這份文件浮出來。
  • 用其他 PDF 工具重新存檔可能保留兩層。有些工具會重建 content-stream 並可能丟掉遮蓋;其他工具會保留。
  • 司法鑑識工具很容易就能取出原始文字。任何 PDF 解析器都能列出所有的文字 content-stream。矩形只是另一個獨立的繪圖。

對於底下文字必須真正消失的情況 — 依透明度法律的公開、法院的證據、所有交給對手的資料 — 你需要不一樣的工作流程:把原始文件以已刪除敏感文字的版本重新匯出,或把該頁轉成圖片再做一次 OCR(這樣會永久移除文字層)。

什麼會留下,什麼不會

  • 頁面的可見內容保持不變。沒有比對到的部分都會原樣保留 — 同樣的字型、同樣的版面、同樣的影像。
  • 書籤、註解、連結、表單欄位 — 都會留下。矩形是新增的繪圖;其他都不會被重建。
  • 原始文字會被保留在底下。請見上一節。這是最核心的限制。
  • 數位簽章會失效。對文件的任何修改,包括加上矩形,都會打斷簽章的綁定。
  • 加密的 PDF 必須先解鎖。在遮蓋之前先用密碼通過 unlock-pdf

如果有什麼看起來不對

  • 「At least one redaction pattern required」。樣式清單是空的。至少輸入一個字或詞。
  • 樣式比對到了,但蓋的文字比預期多。PDF 把那一行存成單一片段,矩形以片段為單位。多半可接受;若是問題,需要把原始檔以正確刪除過文字的版本重新匯出。
  • 樣式沒有比對到我預期的東西。常見三種原因:(1) 文字在掃描影像裡,不在文字層 — 工具看不到影像中的文字;先用 pdf-to-txt 或專用工具做 OCR。(2) 樣式跨越多個片段 — 拆成更短的樣式。(3) PDF 使用編碼有問題的非拉丁字元;從檢視器複製出來看裡面究竟是什麼,是最快的診斷。
  • 我做了遮蓋,但同事透過複製貼上把文字取出來了。跟文件描述一致 — 只是視覺遮蓋。要真的移除,從原始檔重新匯出。

實務筆記

  1. 用於視覺隱藏,不要用在對抗情境。把姓名藏在要寄給朋友的草稿中、那位朋友不會去取出:沒問題。把姓名藏在訴狀中、對造會跑司法鑑識工具:不行。
  2. 具體樣式優於泛用樣式。遮蓋 +886-2-555-0123,而不是 0123。遮蓋 [email protected],而不是 jane。具體樣式較少過度覆蓋,且同樣能藏住你想藏的東西。
  3. 用複製來驗證。遮蓋後,把結果在檢視器中打開,選取被遮蓋的區域,複製。若取出的是原始文字,你已確認限制 — 只有在視覺隱藏夠用時才繼續。
  4. 要持久移除,就用原始檔。若文件來自 Word,編輯 Word 重新匯出。若來自資料庫,把敏感欄位拿掉再查一次。PDF 遮蓋工具是給沒有原始檔時用的。
  5. 原檔案保持不變。下載的是新的遮蓋過 PDF;磁碟上的原檔不會被動到。

你的檔案在這之中發生了什麼

遮蓋作業在你的瀏覽器內執行。你輸入的樣式以及檔案內容從不離開這個分頁。打開 DevTools,在執行期間觀察 Network 分頁 — 不會有夾帶檔案內容或樣式的對外請求。PDF 留在磁碟上;遮蓋過的版本是它旁邊的新下載。

FAQ

常見問題

會塗黑每一處出現嗎?

會 — 我們會掃描每一頁,並覆蓋你輸入的每個樣式的每處符合。沒有「只第一處」模式;塗黑為整份文件全域處理。

這是鑑識級的塗黑嗎?

不是。我們的 MVP 在每處符合上畫不透明矩形 — 視覺已塗黑,但底層文字仍存在於 PDF 流之中。若需鑑識級塗黑(從檔案中徹底移除文字而非僅隱藏),請使用 Adobe Acrobat Pro 之類的桌面工具。我們對此取捨保持透明。

那為何採用視覺塗黑?

多數情境 — 分享範本合約、在截圖中遮蔽電話、在作品集中抹除姓名 — 視覺塗黑就足夠,且比啟動 Acrobat 快得多。只是別用於對方會抽取文字的文件。

可以塗黑特定區域而非文字嗎?

區域選取塗黑(在頁面上拉一個矩形)已在規畫中。現有版本為輸入即搜尋,最適合電郵、姓名、電話與任何字串樣式。

我的檔案會傳到哪裡?

哪裡也不傳。塗黑完全在此分頁內進行。可在 DevTools → Network 中驗證:不會發生上傳。