不行。移除 PDF 註解工具並不是機密遮蔽或清理產品,不應用於準備對外揭露、依資訊自由法(FOIA)釋出、提交法院存檔,或任何目標在於證明敏感內容已從檔案的每個位元組中永久移除的工作流程。這個工具唯一的工作就是從每個頁面字典中刪除 Annots 項目,藉此移除互動式的頁面物件,例如連結區域、文字註解、彈出式註解、標註、圖章、附件註解,以及表單欄位小工具。任何不是頁面註解的內容,仍然可能存在於下載的檔案中:已攤平的高亮標示、已繪製的表單值、嵌入的影像、文件中繼資料、檔案附件、JavaScript、可選內容圖層、可復原的來源資料流,以及先前的修訂歷史紀錄,全部都位於頁面註解陣列之外,並不會被動到。產品文件明確指出,刪除頁面參考並不能證明被參考的物件、先前修訂、中繼資料、附件、指令碼、隱藏圖層、嵌入檔案,或可復原的來源資訊已從每個位元組中清除,並建議針對任何敏感揭露作業,使用專為此目的設計的遮蔽工作流程。這個建議就是對此搜尋問題的答案,本文其餘部分將說明適用範圍、限制,以及正確的做法。

工具實際上做了什麼
移除 PDF 註解工具會檢查您從裝置載入的單一 PDF,計算其在頁面樹狀結構中找到的註解項目數量,然後在您確認後,從每個頁面字典中刪除 Annots 鍵,再將新的本機副本序列化輸出。頁數、頁面順序、頁面框線、旋轉角度,以及現有的內容資料流都會保留,因此先前已作為正常頁面內容繪製的文字、影像和向量形狀都會保持在原位。整個工具透過 pdf-lib 等程式庫,完全在您的瀏覽器內執行,因此文件在載入、檢查、修改或產生下載時,都不會上傳到伺服器。輸出檔名會在您原始的基礎檔名後加上 -annotations-removed,原始檔案絕不會被覆寫,而當您選擇新的輸入檔時,先前的物件 URL 會被撤銷。
這個適用範圍刻意設計得很小,而正是這種小範圍讓此工具無法用於遮蔽作業。頁面註解是一種附加於頁面的特定結構性物件;它是超連結的可點擊區域、是便利貼註解的彈出視窗、是驅動圖章的字典、是讓表單欄位具有互動性的 widget,以及類似的結構。相比之下,遮蔽作業必須抹除的是底層內容本身,而不僅僅是讓它具有互動性的外層包裝。
註解移除與遮蔽之間的差距
機密遮蔽作業有幾項不可或缺的要求,是註解移除無法達到的。其中有三項特別值得注意。
- 可見內容必須確實被銷毀。移除連結註解會刪除可點擊的區域,但會留下已經繪製到頁面中的藍色底線文字。移除高亮註解會清除標註物件,但如果高亮在上傳前就已被攤平到內容資料流中,它仍然以彩色像素的形式存在。移除表單 widget 會移除互動欄位,但若該值在填寫表單時已被繪製到頁面上,現在就會與一般圖稿無法區分,也不會被動到。
- 隱藏的結構必須被清除。PDF 文件可能夾帶中繼資料、嵌入的檔案、JavaScript、可選內容圖層,以及仍含有先前內容的遞增式修訂紀錄。移除 PDF 註解工具對這些項目完全不主張能處理,其規則(刪除 Annots 鍵)也觸及不到這些。
- 結果必須可被驗證。遮蔽工作流程的最終產出是一份經過驗證的(最好也經過人工審查的)副本,審查者能夠確認敏感的位元組已經消失。註解移除的最終產出則是一個下載檔案,您被告知要開啟該檔案,並在您選擇的檢視器中確認確切的視覺結果。
頁面註解與已繪製頁面內容的差異
頁面註解與已繪製頁面內容之間的區別,是對任何提出此問題的人來說最重要的概念,因為它解釋了為什麼這個工具能夠乾淨地移除註解,卻仍會讓相同的資訊留在表面上。當新增註解、高亮標示或表單值時,檢視器通常會建立一個指向頁面某區域的註解物件。當相同內容被攤平(通常是將文件列印為新的 PDF,或執行專門的攤平作業)後,註解就消失了,而相同的視覺結果現在成為頁面一般繪製指令的一部分。隨後執行的註解移除動作找不到可移除的項目,因為這些視覺標記已不再是註解;它們只是內容資料流中的文字和形狀。這就是為什麼對相關問題「它會抹除可見的高亮標示或表單值嗎?」的已驗證答案是:「只有在它們仍以註解形式存在時才會。已經被攤平或繪製到頁面中的內容會保留下來。」
同樣的原理也適用於連結註解。超連結註解會在一般頁面內容之上定義一個可點擊的矩形;可見的連結文字是由頁面本身繪製的。移除註解會刪除該矩形及其點擊行為,但頁面仍會繪製藍色底線的字形,因此開啟產出檔案的讀者會看到一個看似正常運作的連結,實際上卻沒有任何互動功能。如果目標是要從可見頁面中抹除一個連結,就必須在內容資料流層級變更其底層的文字和顏色,這已超出本工具的適用範圍。
如何將移除 PDF 註解用於其預期目的
如果您真正的目標是停用連結區域、清除審閱註解,或從您所掌控的文件中移除表單小工具,那麼這個工作流程相當簡單。
- 在瀏覽器中開啟移除 PDF 註解工具,並從您的裝置中選擇一個非空白的 PDF。該檔案必須是真正的 PDF,不得加密,且大小不得超過 25 MiB。
- 等待本機檢查完成。工具會回報找到的註解項目數量,以及包含至少一個註解項目的頁數。如果找不到任何註解,則不會產生替換檔案。
- 選擇「移除頁面註解」,以刪除每個頁面的 Annots 項目,並序列化產生一個新的 PDF,原始基礎檔名後會附加 -annotations-removed 尾碼。
- 下載新檔案,並在對您而言重要的檢視器中開啟它。確認您想要移除的互動行為已經消失,並仔細檢查任何工具刻意不會去動的可見殘留物(藍色連結文字、已繪製的高亮、已填入的表單值)。
- 選擇不同的輸入檔會清除先前的檢查與下載狀態,任何較早的物件 URL 都會被撤銷,因此不會有過時的非同步作業取代較新選擇的風險。
一個簡短的範例可以說明檔案大小限制是如何設定的。此工具接受一個大小上限為 25 MiB 的 PDF。將 mebibyte 換算為 byte 使用的關係是 1 MiB = 1,048,576 位元組,因此可接受的最大大小為 25 × 1,048,576 = 26,214,400 位元組。一個大小為 30,000,000 位元組的 30 MB(十進位 megabyte)檔案會超過該位元組數,但二進位與十進位前綴在較大的輸入上會出現差異,因此您應該一律以 25 MiB 的上限來衡量您的文件,而不是用概略的「25 MB」估計值。
| 在可用於遮蔽的工作流程中的任務 | 移除 PDF 註解 | 專為遮蔽設計的工具 |
|---|---|---|
| 刪除連結的可點擊區域 | 可以 | 可以 |
| 移除審閱註解與彈出視窗 | 可以 | 可以 |
| 抹除註解所指向的可見文字 | 不行 | 可以 |
| 移除已繪製到頁面中的攤平高亮標示 | 不行 | 可以 |
| 清理中繼資料、嵌入檔案與 JavaScript | 不行 | 可以 |
| 產生經過驗證、由審查者確認過的最終檔案 | 不行 | 可以 |
何時您需要真正的遮蔽工作流程
如果文件包含姓名、地址、帳號、醫療細節,或任何其他絕不能在揭露後仍存留的資訊,那麼正確的工具是專為 PDF 遮蔽設計的產品,最好是能在內容上繪製不透明的遮蔽方塊、從內容資料流中移除底層文字和影像、清理中繼資料與嵌入檔案,並產生驗證報告,或至少能讓人工審查者確認被遮蔽的文字已無法再被搜尋的產品。移除 PDF 註解工具無法做到上述任何一項,而這個差距是結構性的,而非表面上的。
在機密工作流程中,一個有用的下一步是在遮蔽之前,先使用 攤平 PDF 來攤平已填寫的表單欄位,讓可見的值穩定下來,並使用 PDF 中繼資料編輯器 在本機清除文件中繼資料,避免審查者和作者資訊透過檔案屬性外洩。略過任何一個步驟,即使經過仔細的視覺審查,仍可能讓敏感細節從被遮蔽的檔案中被還原。加密文件不會被此工具略過,因此受密碼保護的輸入檔必須透過其他方式先解除保護,才能開始進行遮蔽作業。
誠實的總結很簡單。移除 PDF 註解是針對「在私密的本機工作流程中,從其他方面維持不變的 PDF 移除頁面層級註解陣列」這項特定工作的正確工具,而且它把這件工作做得很好。但它不適合用於機密遮蔽,不論輸出看起來多麼乾淨,把它這樣使用都是文件、法務與安全性上的錯誤。
若想進一步了解,請參閱在不破壞檔案的情況下從 PDF 中移除影像。
若想進一步了解,請參閱移除 PDF 註解時避免犯錯。