上週,我檢查了一份即將發送的 PDF 的中繼資料。裡面仍然有我的全名、公司內部的檔案路徑,以及過去一個月裡每次修改的精確時間戳。

頁面看起來很乾淨。但檔案本身並不乾淨。

大多數人在分享 PDF 之前從來不會打開內容面板。可見的內容吸引了所有的注意力。但檔案本身能透露的資訊遠比頁面上印出的內容多得多,而這個隱藏層正是本文要討論的。

簡短的回答

PDF 中繼資料可能包含你的姓名、使用的軟體、建立和修改時間戳、修訂歷史、批註,甚至嵌入圖片中的 GPS 座標。

移除中繼資料有幾種選擇:

  • 使用中繼資料編輯器或清理工具來剝離特定欄位
  • 使用像 exiftool 這樣的命令列工具來獲得完全控制
  • 將 PDF 轉換為掃描風格的圖像化檔案,這會替換整個文件結構並一次性移除所有隱藏資料

如果文件已經定稿並即將發送到組織外部,最後一種選擇是你能採取的最徹底的單步操作。

PDF 中繼資料到底包含什麼

PDF 可以在頁面可見內容之外攜帶三層資訊。

第一層是文件屬性。這是大多數人想到的中繼資料:作者姓名、標題、主題、建立日期、修改日期以及產生檔案的軟體。在任何 PDF 閱讀器中打開檔案,查看「檔案 > 內容」,你很可能會看到類似「作者:王小明」和「產生器:Microsoft Word 2021」這樣的欄位。這些資訊會隨檔案一起傳播到任何地方。

第二層是 XMP 和嵌入中繼資料。這一層不那麼顯眼,但通常更具揭露性。如果你的 PDF 包含嵌入的圖片,這些圖片可能仍然攜帶原始的 EXIF 資料,包括相機型號、時間戳和 GPS 座標。XMP 中繼資料還可以包含編輯歷史、自訂標籤和字型授權資訊。大多數人不知道這一層的存在,因為標準 PDF 閱讀器不會顯示它。

第三層是隱藏的結構資料。根據 PDF 的建立和編輯方式,檔案可能包含修訂歷史、已刪除但可復原的文字、批註、註解、表單欄位預設值、隱藏圖層、JavaScript 以及嵌入的檔案附件。當這一層洩露時造成的損害最大,因為它可能包含作者以為已經移除的內容。

如果你已經在上傳檔案到線上工具的情境中考慮過這類隱藏資料,線上 PDF 工具處理敏感文件安全嗎?涵蓋了更廣泛的信任模型。

為什麼這比人們想像的更重要

中繼資料洩露並不是戲劇性的。它們是悄無聲息的、具體的,而且一旦檔案被分享就很難撤回。

需要匿名時的作者身分識別。 如果 PDF 是由特定人員建立的,作者欄位或內部檔案路徑可以追溯到他們。這對吹哨者、匿名報告、洩露的文件或任何發送者身分應該保持在檔案之外的情況都很重要。

修訂歷史暴露談判策略。 一份仍然包含修訂追蹤或修訂中繼資料的合約 PDF 可以揭示你的初始立場、你刪除了什麼、以及你在發送最終版本之前軟化了什麼。對方不需要技術能力就能偶然發現這些。一些 PDF 閱讀器會自動顯示修訂資料。

時間戳揭示敏感時間資訊。 建立和修改日期告訴別人文件是什麼時候開始的、什麼時候最後修改的、以及被操作了多少次。在法律、合規或競爭環境中,這類時間資訊可能比內容本身更重要。

嵌入圖片中的 GPS 座標。 如果你把一張照片貼到 PDF 中,而那張照片仍然攜帶 EXIF 位置資料,那麼拍攝圖片的 GPS 座標現在就嵌入了檔案中。大多數人不會想到這一點,因為中繼資料存在於圖像物件內部,而不是在 PDF 內容面板中。

軟體版本暴露內部工具。 像「產生器:Adobe Acrobat Pro DC 24.1.30225」或「建立器:Microsoft Word for Microsoft 365」這樣的欄位會告訴別人你的組織使用什麼工具和版本。對大多數文件來說這無關緊要。但在敏感情境中,這是不必要的資訊洩露。

以上這些都不是假設的情況。它們就是實際發生的那些平淡的中繼資料洩露。

如何檢查你的 PDF 包含哪些中繼資料

在移除任何東西之前,先看看檔案中實際有什麼。

PDF 閱讀器內容對話框。 在大多數 PDF 閱讀器中,「檔案 > 內容」或「文件內容」會顯示基本欄位:作者、標題、主題、建立日期、修改日期和產生應用程式。這能捕捉到第一層,但幾乎遺漏了其他所有內容。

命令列中的 exiftool。 執行 exiftool document.pdf 會顯示所有內容:文件屬性、XMP 資料、嵌入圖片的 EXIF 以及自訂欄位。這是最完整的檢查方法,但需要熟悉終端操作。如果你以前從未使用過,僅僅為了看看一個 PDF 能包含什麼,也值得安裝它。

線上中繼資料檢視器。 一些網站允許你上傳 PDF 來檢查其中繼資料。如果你檢查中繼資料的原因就是隱私,那麼將檔案上傳到第三方服務來檢查它是一個值得懷疑的做法。你正在試圖查明檔案是否洩露資訊,而第一步就是把它發送給一個陌生人。

一旦你知道檔案中有什麼,問題就變成如何移除它。

移除 PDF 中繼資料的方法

沒有單一的最佳方法。正確的選擇取決於你需要保留什麼以及需要多徹底。

Adobe Acrobat(清理文件)

Acrobat Pro 包含「移除隱藏資訊」和「清理文件」功能,可以剝離中繼資料、隱藏文字、批註、表單資料、附件和其他不可見內容。如果你需要保持文字層完整且檔案可搜尋,這是最完整的方法之一。

限制是它需要付費的 Acrobat Pro 授權。如果你已經有了,這是一個很好的選擇。如果沒有,這種問題本身不足以證明訂閱的合理性。

exiftool 和其他命令列工具

exiftool 可以精確地移除特定的中繼資料欄位,或一條命令剝離 PDF 中的所有內容。它是免費的,可以在任何平台上執行,並且可以精確控制移除的內容。

限制是技術門檻。它還側重於中繼資料欄位而非結構性隱藏資料。如果 PDF 包含修訂歷史、隱藏圖層或嵌入物件,exiftool 不會捕捉到這些。它在其擅長的領域做得很好,但不能涵蓋每一層。

線上中繼資料移除工具

一些網站允許你上傳 PDF、剝離中繼資料,然後下載清理後的版本。工作流程簡單,不需要安裝任何軟體。

限制應該很明顯。你正在將文件上傳到第三方伺服器以解決隱私問題。這有點像把日記交給一個陌生人,讓他幫你撕掉寫有地址的那一頁。

如果檔案是低風險的,這可能是一個可以接受的交換。如果你移除中繼資料的原因是文件敏感,這種方法恰恰引入了你試圖避免的那種暴露。關於這種權衡的更多討論,線上 PDF 工具處理敏感文件安全嗎?有詳細介紹。

列印為 PDF

透過虛擬印表機重新列印 PDF 會建立一個新檔案,通常會剝離一些中繼資料並扁平化某些元素。它是免費的,內建在大多數作業系統中。

結果是不一致的。有些虛擬印表機會在輸出中注入自己的中繼資料。有些會剝離 XMP 資料,有些則不會。嵌入圖片的 EXIF 可能會也可能不會在這個過程中存活下來。如果你使用這種方法,一定要驗證結果而不是假設它是乾淨的。

轉換為掃描風格的 PDF

這種方法將 PDF 的每一頁轉換為圖像,然後將這些圖像包裝成一個新的 PDF。因為整個文件結構被替換了,所有隱藏資料都被移除了:中繼資料、文字層、批註、修訂歷史、嵌入檔案、表單欄位、JavaScript,一切。輸出是一個只包含渲染後頁面圖像的新 PDF。

代價是檔案不再可文字搜尋。它的行為就像每一頁的圖片。對於已經定稿並即將發送到組織外部的文件,這個代價通常是值得的。對於仍需要搜尋、引用或在下游編輯的文件,則不值得。

這正是 Look Scanned 所做的工作。它在瀏覽器中本地將 PDF 轉換為掃描風格版本,因此檔案永遠不會離開你的裝置。結果是一個乾淨的圖像化 PDF,沒有隱藏資料、沒有文字層、沒有來自原始檔案的中繼資料,也不需要擔心伺服器端處理。

對比

方法移除文件屬性移除隱藏圖層移除圖片 EXIF保持文字可搜尋需要上傳費用
Adobe Acrobat(清理)取決於設定付費
exiftool / 命令列部分免費
線上中繼資料工具通常是通常不是有時免費
列印為 PDF部分部分有時通常是免費
掃描風格轉換(如 Look Scanned)否(本地瀏覽器)免費

沒有哪一行適用於所有情況。問題始終是:對於這個特定的檔案,哪些權衡是重要的。

每種方法適用的場景

文件仍在編輯中。 使用 Acrobat 或 exiftool 剝離中繼資料。保留文字層。此階段的中繼資料移除是日常維護,不是主要事件。

文件已定稿並將發送到組織外部。 如果可搜尋性不關鍵,掃描風格轉換是最徹底的單步操作。它一次性移除所有內容。如果檔案仍需可搜尋,改用 Acrobat 的清理功能,並驗證結果。

文件高度敏感。 組合使用多種方法。先進行適當的塗黑處理,然後清理中繼資料,最後進行掃描風格轉換。每個步驟涵蓋不同的層。如果塗黑是你工作流程的一部分,黑條不等於塗黑解釋了為什麼視覺遮蓋是不夠的。

你不確定檔案中有什麼。 先用 exiftool 或內容面板檢查。然後根據你發現的內容和檔案的去向做出決定。在了解需要移除什麼之前就選擇移除方法,要麼過度要麼遺漏資料。

如果你正在權衡掃描風格的 PDF 是否適合你的情況,掃描版 PDF 與可編輯 PDF:你應該發送哪一種?更廣泛地涵蓋了這個決策。

我實際使用的工作流程

  1. 先完成文件內容。不要在仍在修改的檔案上清理中繼資料。
  2. 檢查最終匯出檔案的中繼資料。至少查看「檔案 > 內容」。如果重要的話,使用 exiftool。
  3. 根據發現的內容和目的地的敏感程度進行移除或清理。
  4. 如果檔案要發送到外部且不需要可搜尋,我會將其轉換為掃描風格的 PDF。Look Scanned 在瀏覽器中處理這一步,無需上傳檔案。
  5. 在新的閱讀器中打開結果並驗證。檢查內容,嘗試選取文字,搜尋應該已經消失的內容。

最後一步能捕捉到比人們預期更多的殘留資料。

如果扁平化對你的情況已經足夠,而你不需要完整的掃描風格轉換,發送前如何扁平化 PDF涵蓋了這個中間方案。

常見問題

轉換為掃描版 PDF 會移除所有中繼資料嗎?

是的。轉換為圖像化 PDF 會替換整個檔案結構。結果不包含文字層、沒有隱藏物件、沒有來自原始檔案的文件屬性,也沒有嵌入的檔案中繼資料。輸出是一個只包含渲染後頁面圖像的新 PDF。

有人能從掃描風格的 PDF 中復原中繼資料嗎?

不能從 PDF 本身復原。原始結構已經消失。新檔案中唯一的中繼資料是轉換工具寫入的內容,例如它自己的產生器標籤。如果轉換在瀏覽器中本地進行,也不存在伺服器端的副本。

移除中繼資料和塗黑是一回事嗎?

不是。中繼資料移除剝離的是隱藏屬性和文件級別的資料。塗黑移除的是頁面上的可見內容。如果你需要從頁面本身移除姓名、數字或文字,這是一個單獨的步驟,必須在中繼資料清理之前完成。黑條不等於塗黑解釋了為什麼僅靠視覺遮蓋是不夠的。

我應該對每個發送的 PDF 都移除中繼資料嗎?

不一定。對於已經公開或低風險的常規文件,中繼資料是無害的。當文件敏感、接收者是外部人員或作者身分應該保持在檔案之外時,這個問題才變得重要。

最後的想法

大多數人在發送 PDF 之前從來不會檢查檔案透露了關於他們的什麼資訊。

檔案可能是乾淨的。或者它可能包含你的姓名、你的修訂歷史以及你上週二在咖啡店編輯時的 GPS 座標。

如果文件重要到需要謹慎分享,那就重要到需要檢查。而如果檢查發現的比你預期的多,在你點擊發送之前有直接有效的方法來修復它。