你可以在瀏覽器中壓縮 PDF,方法是執行一個本機工具,該工具只會重新編碼檔案內嵌的 JPG 影像,而且只有在新的位元組小於被替換掉的位元組時才會提供下載。檔案全程都停留在你的分頁中:沒有上傳步驟、沒有伺服器端處理,也不需要帳號。這是一種比通用型 PDF 最佳化工具更窄的壓縮形式。工具不會猜測要動哪個串流,而是透過瀏覽器的 PDF 函式庫讀取 PDF 結構,找出 DeviceRGB 或 DeviceGray 色彩空間中未遮罩的 DCTDecode JPG 影像物件,透過瀏覽器內的影像元素解碼每一張,將最長邊縮減取樣至 1400 像素、JPEG 品質 0.70,而且只有在新的承載資料確實更小時才會取代原始檔。每一個其他頁面元素——文字、字型、連結、表單、註解、向量繪圖、中繼資料,以及不支援的影像類型——都會以位元組層級完整保留。由於變動僅限於合格的 JPG,全為文字的 PDF 通常完全無法縮小,而任何縮減的幅度則取決於來源影像與 PDF 開銷的實際狀況。

瀏覽器 PDF 壓縮與線上服務有何不同
「在瀏覽器中壓縮 PDF」這個說法涵蓋一種特定的技術設定:一個工具,其讀取、轉換與寫入步驟全部都在當前的瀏覽器分頁中執行,使用如 Mozilla 的 PDF.js 這類 JavaScript 函式庫進行解析與渲染,再搭配像 pdf-lib 這類低階 PDF 函式庫進行物件操作。當工具完全在用戶端執行時,你選擇的文件永遠不會經過網路傳輸,這消除了大多數「線上壓縮」服務所帶來的隱私與上傳時間成本。這也意味著工具受到與瀏覽器記憶體及 JavaScript 執行環境容量相關的硬性限制:來源檔案上限 25 MB、合格影像物件上限 80 個,以及整個執行過程中解碼後的影像資料約 100 megapixel。這些上限正是為何該工具定位為一次處理一個影像密集型 PDF 的聚焦選項,而非通用型最佳化工具的原因。
這種意義下的瀏覽器壓縮,與那些可以重寫串流篩選器、重新壓縮字型、將物件線性化,並針對歸檔設定檔為目標的重量級桌面 PDF 引擎並不相同。瀏覽器方法只知道如何變更某些內嵌影像串流,並驗證重建後的 PDF 仍可開啟。任何它無法安全變更的內容——文字串流、字型子集、向量運算子、表單小工具、註解、加密承載資料、JPX 影像,以及中繼資料字典——都會保持位元組完全一致。這種較窄的合約,同時也是讓它足以在你不想上傳到別人伺服器的文件上安全執行的原因。
如何在瀏覽器中壓縮 PDF
在你的瀏覽器分頁中開啟 壓縮 PDF 工具。整個流程都在你所查看的分頁中於本機執行,而工具唯一會看到的檔案,就是你從裝置中挑選的那一個。
- 點選檔案輸入欄,並選擇一個本機 PDF。該檔案大小上限為 25 MB,且必須已存在於你的電腦上;工具不會從 URL 拉取任何內容。
- 選擇壓縮 PDF。工具會使用瀏覽器 PDF 函式庫載入檔案,枚舉其影像 XObject,並將其篩選縮減為使用 DeviceRGB 或 DeviceGray 色彩資料、未遮罩的 DCTDecode JPG 串流,且沒有解碼參數者。
- 對於每一張合格的影像,工具會透過瀏覽器影像元素解碼 JPG,將其繪製到畫布上,並將最長邊限制在 1400 像素,再以品質 0.70 匯出為新的 JPG blob。
- 工具會比較候選 blob 的位元組大小與原始影像串流。如果新的位元組沒有更小,原始影像就會保留原樣。不會強制替換任何內容。
- 重建後的 PDF 會在同一個分頁中使用同一個 PDF 函式庫搭配 PDF.js 重新開啟,以驗證頁數並確認結構能乾淨地解析。唯有在通過該檢查之後,才會出現下載選項。
- 查看回報的輸入與輸出大小。如果輸出較小,請點選下載。如果工具回報沒有任何內容變小,則不會提供檔案,這對於沒有任何合格內容可縮減的 PDF 來說是誠實的結果。
此方法會觸碰 PDF 的哪些部分,又會略過哪些部分
「已變更」與「已保留」之間的界線,是任何使用此工具的人都需要理解的核心事實,因為輸出並非文件的全面重寫。
| 來源 PDF 中的元素 | 瀏覽器工具的處理方式 |
|---|---|
| 未遮罩的 DCTDecode JPG,DeviceRGB 或 DeviceGray,無解碼參數 | 解碼後,將最長邊縮減取樣至 1400 px,以品質 0.70 重新匯出,僅在新的串流確實更小時才予以取代 |
| 帶有遮罩、CMYK、Indexed 色彩、ImageMask 或任何解碼參數的 DCTDecode JPG | 完全不更動 |
| JPX(JPEG 2000)影像串流 | 完全不更動 |
| 頁面文字、字型參照、連結、向量繪圖 | 以位元組層級保留 |
| 表單小工具與頁面註解 | 保留 |
| PDF 文件中繼資料 | 保留 |
| 頁數 | 保留 |
由於工具是在相同的間接物件參照處取代影像串流,而非重建頁面,因此重建後的 PDF 會保留原始的版面配置、順序與參照權。取捨在於,任何節省的幅度完全來自合格的影像串流;檔案中的其他內容都不會縮減。
此方法適用與不適用的情況
瀏覽器方法非常適合掃描型 PDF 與相片密集型文件——其體積主要來自大型內嵌 JPG。來自手機的 25 頁掃描、充滿內嵌照片的報告,或是以高解析度 JPG 影像匯出的簡報檔案,正是 1400 px 最長邊搭配品質 0.70 往往能勝過原始檔的情境,有時差距相當懸殊。誠實報錯的行為——在沒有任何內容縮小時拒絕交回檔案——正是你在這些情況下想要的,因為它能防止你儲存一份實際上大小相同甚至更大的所謂「壓縮」副本。
此方法不適合用於純文字 PDF、合約書、沒有影像的表單、純向量插圖,以及印刷就緒檔案。如果一份 PDF 主要由文字字型與向量繪圖組成,工具就沒有任何合格內容可以處理,會回傳錯誤而非下載。對於影像位於 CMYK 色彩空間、使用影像遮罩,或編碼為 JPX 的 PDF,情況也是如此。這些格式是刻意排除在範圍之外的,因為工具無法保證安全地重寫它們,而且工具寧可跳過也不願猜測。對於需要保證無損縮減、歸檔符合性,或印刷色彩管理的文件,瀏覽器方法是錯誤的選擇。
桌面型最佳化工具仍是正確選擇的時機
瀏覽器工具刻意設計得比完整的 PDF 最佳化工具更為狹窄。它不會為了串流播放而將物件線性化、不會重新壓縮字型子集、不會去除重複的相同串流、不會轉換色彩空間,也不會以特定的歸檔設定檔(例如 PDF/A)為目標。它無法給你保證的無損結果,因為 JPG 重新編碼步驟在本質上就是有損的,即使新的承載資料較小也是如此。它也會將你限制為每次執行只能處理一個檔案、大小 25 MB、合格影像物件 80 個,以及解碼後的影像資料約 100 megapixel,因此大型手冊與影像批次需要走不同的路徑。
對於這類工作,請安裝像 Ghostscript 或 qpdf 這類專業的桌面型最佳化工具,或使用能處理印刷色彩管理與歸檔符合性的付費產品。請將原始檔案與瀏覽器壓縮後的副本並存保留,並在分享較小的版本之前先檢視兩者。如此使用時,瀏覽器壓縮與桌面最佳化是互補而非競爭的關係:瀏覽器工具處理的是每日案例中那份只需要降到電子郵件附件上限以下的影像密集型 PDF,而桌面工具則處理更繁重、更嚴格的工作。
如果你正在權衡各種選項,規劃將 PDF 壓縮到指定大小所需的步驟對此有詳細說明。