若要在不損失品質的情況下從 PDF 擷取影像,就要匯出文件中儲存的影像資料,而不是對算繪後的頁面擷取螢幕截圖。瀏覽器工具 Extract Images from PDF 支援的內嵌物件可完成這項操作:DCTDecode JPEG 串流會以儲存的 JPG 位元組下載,而簡單的 8-bit RGB 或灰階 FlateDecode 影像則會在本機解碼並匯出為 PNG。PDF 絕不會離開你的裝置。

這個差異對內嵌於文件中的照片、標誌、掃描件或圖形而言十分重要。頁面快照會一次擷取所有可見內容,但也會包含文字、向量插圖和頁面版面;擷取出的素材則不會。如果交付項目是完整可見的頁面,請改用 PDF to PNG 等頁面算繪工具。內嵌影像工作流程適合重複使用影像物件本身。

extract images from pdf without losing quality
Extract Images From PDF Without Losing Quality: JPG or PNG

「不損失品質」的真正含義

「不損失品質」並不是一概保證每個 PDF 中的每個物件都能以原始來源格式還原。PDF 儲存的是經過編碼的影像,不一定是放入文件前可編輯的照片或標誌檔案。可取得的最佳輸出,取決於該 PDF 中儲存的編碼方式。

對於 DCTDecode,也就是內嵌 JPEG 串流所使用的 PDF 篩選器名稱,此工具會直接匯出儲存的 JPEG 串流。下載的 JPG 是文件中儲存的影像內容;它並非算繪到頁面後再重新壓縮。這能保留編碼後的 JPEG 位元組,但無法還原在建立 PDF 之前就已降低品質的母版。

對於使用 8-bit DeviceRGB 或 DeviceGray 色彩的簡單 FlateDecode 影像,瀏覽器會解壓縮具有界限的原始像素串流,將像素置於本機畫布上,再編碼為 PNG。之所以使用 PNG,是因為原始 Flate 串流並非一般應用程式可開啟的獨立影像檔案。像素資料不會再經過另一個有損的 JPEG 步驟轉換,但可下載的檔案是 PNG 匯出結果,不一定能還原最初用來建立 PDF 的原始影像檔案。

PDF 影像物件 結果 品質行為
DCTDecode JPG 儲存的 JPEG 串流會在未經算繪或重新壓縮的情況下匯出。
使用 8-bit DeviceRGB 或 DeviceGray 的簡單 FlateDecode PNG 原始像素會在本機解壓縮並編碼為 PNG。
不支援的編碼、色彩空間、遮罩或篩選器鏈 略過並回報 此工具不會猜測色彩,也不會傳回損毀的檔案。

實務上的重點是依據儲存的編碼方式和匯出的像素判斷品質,而不是只看「原始」這個字眼。此工作流程可以完整保留支援的 JPEG 串流,而支援的原始 RGB 或灰階串流則會依其解碼後的像素製成 PNG。

內嵌素材與頁面快照解決不同的工作需求

PDF 頁面是一種組合。它可以將影像置於標題下方、將該影像與向量圖表結合,也可能包含根本不是影像物件的文字。擷取支援的內嵌物件時,只會傳回掃描器能辨識的素材,不會將完整組合內容轉換成單一檔案。

這個差異決定適合的任務。當宣傳冊中有需要獨立檔案的標誌、手冊中有儲存的照片,或表單中有可重複使用的圖形素材時,內嵌擷取就很有用。如果需要包含說明文字、標籤、線條和其他非影像內容的視覺紀錄,頁面算繪才是正確選擇。若要取得完整的頁面快照,PDF to PNG 會擷取完整可見頁面,包括文字和向量插圖;PDF to JPG 則適合需要包含完整可見頁面的 JPG 檔案時使用。

任務 內嵌影像擷取 頁面算繪
還原支援的儲存照片或標誌 產生個別的 JPG 或 PNG 素材。 顯示包含頁面其餘內容的快照中的影像。
擷取文字和向量插圖 不包含完整頁面組合。 包含可見文字和向量內容。
保留頁面版面 無法呈現完整版面。 以算繪頁面保留可見配置。
主要交付項目 可重複使用的獨立影像素材。 完整 PDF 頁面的影像。

在瀏覽器中擷取支援的影像

  1. 開啟 Extract Images from PDF 工具,並選擇一個不超過 25 MB 的本機 PDF。保持原始檔案不變,以便稍後與擷取結果比較。
  2. 選擇 Extract images 開始瀏覽器掃描。此工具會檢查具有界限的內嵌影像物件;不會將每個頁面都轉換成螢幕截圖。
  3. 檢查結果,並確認每種格式和尺寸。支援的 DCTDecode 物件會顯示為 JPG 下載項目,支援的簡單 FlateDecode 物件則會顯示為 PNG 下載項目。不支援的物件會被略過並回報。
  4. 使用各自的下載連結下載每張支援的影像。不要預期被略過的物件會出現在結果中。
  5. 開啟每個下載的檔案,比較其尺寸和可見內容與預期素材是否相符,再用於其他文件或工作流程。

掃描、解碼、PNG 編碼和下載作業都會在目前的瀏覽器分頁中完成,因此不會上傳任何檔案。當你選擇其他檔案或離開工具時,暫時的下載連結就會失效。請先完成並檢查所有下載項目,再變更檔案或關閉分頁。

影響結果的格式與限制

支援範圍刻意設得很窄。第一種情況是 DCTDecode。第二種是使用 8-bit DeviceRGB 或 DeviceGray 且沒有 DecodeParms 的簡單、未遮罩 FlateDecode 影像。以 JPX、JBIG2、LZW、索引式調色盤、CMYK、柔和遮罩、影像遮罩、預測器或多個串接篩選器為基礎的物件,都不在支援範圍內。此工具會略過這些物件並回報略過訊息,而不會以錯誤色彩解碼或產生損毀的下載檔案。

在配置大型輸出緩衝區之前,會套用數項安全限制。輸入為一個不超過 25 MB 的本機 PDF。候選項目數量設有上限;單張影像的任一維度不得超過 12,000 像素或 40 百萬像素,像素總預算為 100 百萬像素,解碼後的 Flate 影像資料上限為 100 MB。這些是可處理內容的硬性界限,因此即使 PDF 未超過檔案大小限制,仍可能包含超出影像預算的素材。

重複的間接影像參照只會檢查一次,避免同一個儲存素材顯示成一組令人混淆的重複下載項目。受密碼保護、格式錯誤或異常複雜的 PDF 仍可能處理失敗。此工具不會略過加密、修復損壞檔案、驗證簽章,也不會保證來源文件值得信任。遇到略過或失敗時,應將其視為檢查 PDF 的理由,而不是使用推測性轉換的邀請。

重複使用前先驗證下載項目

擷取後,請驗證檔案,不要假設每張可見圖片都會變成下載項目。先從結果中顯示的格式和尺寸開始檢查:DCTDecode 結果應為 JPG,支援的 FlateDecode 結果應為 PNG。開啟每個檔案,確認其顯示的是預期的照片、標誌、掃描件或圖形。

  • 將下載項目的像素尺寸與工具列出的尺寸比較。
  • 對照來源 PDF 檢查邊緣、色彩和可見細節。
  • 在獨立檔案通過檢查前,保留原始 PDF。
  • 將擷取輸出視為素材,而非 PDF 頁面的完整算繪結果。

若要提出最強的保留主張,請使用 DCTDecode 方式:其 JPG 會保留儲存的 JPEG 串流。FlateDecode 方式產生的 PNG 是解碼後像素值的無損容器,但它仍是新的 PNG 匯出結果,不一定是原始來源檔案。當影像將用於印刷、放入其他文件或與無瑕母版比較時,請牢記這項差異。

選擇符合交付項目的方法

最簡單的決策方式如下:若要取得支援的獨立素材,請選擇內嵌擷取;若頁面本身才是主題,請選擇頁面轉換。如果想重複使用照片或標誌,且不需要周圍的標題、說明文字和向量插圖,內嵌擷取就是正確選擇。如果省略文字或圖表元素會使結果不完整,頁面轉換就是正確選擇。

先使用本機擷取工作流程,檢查格式和尺寸,並保留原始檔案,直到下載項目與素材相符為止。如果某個物件被略過,誠實的結果就是這種 PDF 編碼需要使用不同的工作流程;此工具不會將無法安全解碼的資料偽裝成無損版本。

若想深入了解,請參閱 Extract Pages From PDF on Chromebook。

若想深入了解,請參閱 Extract Links from PDF on Android: Local Browser Steps。