「從 PDF 移除圖片」工具是一款基於瀏器的公用程式,會將 PDF 中每個符合資格的內嵌 JPG 替換為 1×1 白色 JPEG,同時保留每頁的繪圖指令和資源參考,使重新寫入的檔案在重新開啟時仍能正常載入。 它無需將您的文件上傳至伺服器即可完成:檢查、替換、結構驗證與最終下載都在同一個瀏覽器分頁內完成。對於搜尋「how to remove image from pdf nitro」的使用者而言,這項差異正是更換工具的核心價值。Nitro Pro 的 Whiteout(塗白)工具會在區域上方繪製一個不透明形狀。原始圖片的位元組仍保留在檔案中,只是從視覺上被藏起來。這款瀏覽器工具則採取更嚴格的作法:它會逐一檢查頁面內容串流所參考的每個影像 XObject,並直接重寫影像內容本身,因此即使檔案之後在 Nitro 中重新開啟,且有人取消勾選 Whiteout 矩形,原始位元組也不會再用於任何可見頁面。
當目標不只是表面的遮蓋時,這項差異就格外重要。準備對外分享的 PDF、需要更輕量內嵌圖片的草稿,或是不希望內嵌照片隨檔案傳出的掃描文件,都能從物件層級的替換中獲益,而非僅靠圖層堆疊。本文接下來將逐步說明實務細節:工具如何判斷哪些內容符合資格、實際操作步驟、替換後哪些頁面元素保持不變,以及此方法在哪些情境下不再是最佳選擇。

為何 Nitro 的 Whiteout 只能覆蓋而無法移除
Nitro 的說明文件將 Whiteout 工具描述為以「實體修正液」般的最終性「安全地遮蔽 PDF 文件中的內容」:「當文件中的某個區段被 Whiteout 覆蓋後,該動作便無法復原。」這個說法就視覺遮蔽而言是正確的,但並未觸及多數使用者所說的「從 PDF 移除圖片」的真正意涵。Whiteout 會在影像區域上繪製一個向量矩形或點陣色塊;底層的影像 XObject 仍列於頁面的資源中,也仍會貢獻於檔案序列化後的大小。
在實際工作流程中會浮現三個後果:
- PDF 仍會將原始影像位元組傳送給任何收到檔案的人。收件者若使用支援物件層級檢查的檢視器開啟 PDF,或使用會忽略 Whiteout 圖層的工具,即可擷取被覆蓋的照片。
- 檔案大小幾乎不會改變,因為這項替換純粹是頁面樹中的一個圖層,並未動到資源字典。
- 在 Nitro 中移除 Whiteout 矩形後,原始影像會原封不動地重現,這與「已移除影像的版本」行為恰好相反。
同一份 Nitro 使用者指南的義大利文版將 Whiteout 描述為「eliminare in modo sicuro selezioni di testo, immagini」——即安全地刪除所選的文字與圖片。英文版則使用「securely obscure」(安全地遮蔽),光是這個用詞便是關鍵。「Obscure」意指覆蓋,而非抽離。
本地影像剝離工具的運作方式
「從 PDF 移除圖片」完全在瀏器內執行。您選取的 PDF 從未離開您的裝置:沒有上傳、沒有伺服器端編輯、沒有帳號登入。檔案載入後,工具會逐一檢查 PDF 所宣告的每個間接影像 XObject,並針對每個物件詢問一項資格問題——這是否是一個未加遮罩、採用 DeviceRGB 或 DeviceGray、且不含 DecodeParms 字典的 8 位元 DCTDecode JPEG?
資格門檻刻意設得嚴格。實作上會將每個符合資格的影像串流替換為一個手工建構的 1×1 白色 JPEG,再將該串流寫回原始間接物件的槽位中,使用的是 pdf-lib 函式庫中的 PDFRawStream。原本以名稱參考該影像的頁面圖指令,在重寫後仍會解析至一個有效的物件,因此頁面樹、頁面幾何、文字層、連結註解,以及任何非影像的向量內容均不受影響。
新 PDF 存回您的裝置後,會執行兩項結構檢查。第一項使用 pdf-lib 本身重新開啟檔案,確認頁數以及預期被替換的影像物件數量。第二項使用 PDF.js(與主流瀏覽器相同的檢視引擎)來呈現結果,證明檔案仍能正常載入。若任一檢查結果與儲存前的狀態不一致,便不會顯示下載按鈕。
全有或全無的資格規則正是這套工作流程安全的原因。即使您的 PDF 中僅含一張使用不同濾鏡、軟遮罩、索引色盤、CMYK、JPEG 2000 (JPX)、JBIG2、LZW、FlateDecode,或任何工具無法處理之編碼的影像,整個作業會在產生任何輸出之前被拒絕。這個決定避免了影像剝離最嚴重的錯誤:下載到的 PDF 表面顯示圖片已移除,實際上卻悄悄保留了一張複雜影像。
從 PDF 中剝離內嵌 JPG
瀏覽器中的實際操作步驟刻意設計得很簡短。請在文件的副本上執行,而非唯一的那一份,直到您確認輸出結果符合工作流程的需求為止。
- 選擇一個不超過 25 MB 的本地 PDF。 加密、格式錯誤、已簽署或特殊的 PDF 可能會在替換開始前就被安全規則拒絕,且支援的輸入僅限於單一本地 PDF,檔案大小上限為 25 MB。
- 選擇「移除符合資格的影像」以執行全有或全無的相容性檢查。 瀏覽器會列舉每個影像 XObject,並判斷整份檔案是否通過嚴格的資格規則。即使僅有一張影像不符,也不會提供任何輸出。
- 檢查新的 PDF,並在確認白色替換結果合適後再行下載。 請在您慣用的檢視器(Nitro Pro、Acrobat、瀏覽器內建的 PDF 檢視器)中開啟結果,並在將檔案視為最終版本前,逐一檢查頁面、文字、連結與頁面幾何。
第三步刻意設計的摩擦機制正是其安全防護。由於工具會拒絕不支援的編碼,而非進行猜測,因此檢查步驟正是您判斷白色像素結果是否符合文件用途的關節點。
哪些影像符合資格
下方的資格表說明工具可辨識的類別。任何超出這些列的內容,都會使整個作業變成「拒絕」而非「部分成功」。
| 內嵌影像特性 | 結果 |
|---|---|
| DeviceRGB 中未加遮罩的 8 位元 DCTDecode JPEG | 符合資格——替換為 1×1 白色 JPEG |
| DeviceGray 中未加遮罩的 8 位元 DCTDecode JPEG | 符合資格——替換為 1×1 白色 JPEG |
| 影像帶有軟遮罩或模板遮罩 | 拒絕——整個作業停止 |
| 索引(調色盤)色彩空間 | 拒絕——整個作業停止 |
| CMYK JPEG | 拒絕——整個作業停止 |
| JPEG 2000 (JPXDecode) | 拒絕——整個作業停止 |
| JBIG2、LZW 或 FlateDecode 串流 | 拒絕——整個作業停止 |
| 含有 DecodeParms 字典 | 拒絕——整個作業停止 |
| 行內影像(繪製於內容串流之中) | 本版本未將其列為可移除 |
前兩列涵蓋了大多數直接的內嵌照片與灰階掃描。其餘各列正是那些在較舊的原地編輯器中,當頁面內容串流參考了已不存在的影像物件時,會悄悄產生損壞 PDF 的情況。透過就地替換串流而非刪除物件,重寫作業得以保持每個資源參考的有效性。
替換後哪些內容保持不變
由於重寫作業具有針對性,文件的其他部分得以完整保留。一旦替換通過安全檢查,您可以預期以下項目會與來源檔案中完全一致地保留下來:
- 頁數與頁面順序。 頁面樹中沒有任何內容被動到,只有頁面內容指令所參考的影像 XObject 內容被替換。
- 頁面幾何,包括裁切框與旋轉。 頁面媒體框與旋轉字典與影像串流無關。
- 可選取的文字。 工具不會將任何圖層點陣化,因此每頁上的文字物件與字型均保留原始指令,在來源支援的情況下仍可搜尋與複製。
- 內部與外部連結註解。 註解位於其專屬字典中,並非影像物件替換的一部分。
- 非影像的向量內容。 向量繪圖與線條圖會原封不動地通過此作業。
會改變的是頁面上原先呈現被剝離影像物件之區域的外觀。該區域現在會呈現 1×1 白色 JPEG,並置於原始指令所預期的位置,視覺上是一片白色色塊,但在結構上是與圖層堆繪製截然不同的操作。
此工作流程適用與不適用的情境
這個方法適用於「可接受白色替換結果」且「首要任務是保留影像周邊所有內容」的工作。常見的適用情境包括:分享草稿時不希望夾帶多餘照片、以紙本掃描為主且希望頁面看起來乾淨但不需保留原始紙張瑕疵的文件,以及文字、連結、頁面幾何比內嵌圖片更重要的參考型 PDF。
以下三種情況則需要使用不同的工具。第一種是真正的法律、安全或隱私遮罩:白色矩形替換並非經認證的法律級移除,殘留的中繼資料或無法存取的原始記錄仍可能成為爭議,此時應以專門的遮罩工作流程作為起點。第二種是針對單一影像的精細處理:若您只想刪除某一張特定影像並保留其周邊的所有內容,可讓您選取物件的編輯器(Nitro 的編輯與裁切影像模式、Acrobat 的內容編輯模式,或像素級遮罩工具)會提供更高的控制度。第三種是受密碼保護、加密或已簽署的 PDF:此工具並不會繞過這些文件的密碼保護,未受保護的副本可能需要另外產製。
請保留來源文件。逐一開啟每個輸出頁面。將「白色色塊」的結果視為一種視覺轉換,而非影像在鑑識層面上已被抹除的證據。針對那些用途,正確答案依然是「使用真正的遮罩流程」——但若只是為了把 PDF 中拖累檔案大小的照片與掃描影像剝離後再轉寄他人,這套基於瀏覽器的替換作業便已足夠。
延伸閱讀:如何在 Mac 上的瀏覽器中從 PDF 取圖片。