壓縮錯誤幾乎都來自同一個地方:工具告訴你它達成了目標,卻從未實際測量它所儲存的檔案位元組數。經驗證的目標大小壓縮顛倒了這個順序。它執行一組短暫、有界限的 JPEG 品質與尺寸設定檔序列,在本機儲存每個候選 PDF,並且只有在候選檔的真實位元組長度小於或等於你輸入的 MB 值時,才會顯示下載連結。如果沒有任何候選通過該檢查,就不會出現下載連結,而工具會說明原因。這項單一的改變——測量已儲存的檔案而非根據來源進行估算——一次就消除了最常見的壓縮錯誤:靜默的品質損失、虛假的大小聲明、意外的上傳,以及無限制的重新編碼迴圈。對於以 JPG 為主的文件,典型的作業流程會挑選第一個符合目標的安全設定檔並停止。對於純文字或向量為主的文件,工具可能會判定目標無法達成,於是完全不產生檔案。在開始之前就了解這點,正是有用結果與徒勞往返之間的差異。

將 PDF 壓縮到指定大小時,讓你付出最多代價的錯誤
大多數壓縮失敗與演算法無關——而是與工具如何回報進度,以及它預設保留了什麼有關。以下是那些浪費時間、損失保真度,或悄悄將私人檔案移出你裝置的反覆出現的錯誤:
- 相信從來源推算的大小估計。一則「已壓縮至約 2 MB」的訊息,是把來源位元組與對輸出的猜測相比較,這跟一個在 Finder 中開啟並顯示 2,048 KB 的檔案並不相同。當影像已經很小、串流被加密,或 PDF 主要是文字而演算法沒有東西可壓縮時,該估計可能會嚴重失準。
- 重新編碼那些從未成為瓶頸的影像。許多壓縮工具會盲目地重新編碼每個嵌入的 JPEG。如果一張影像已經是 60 KB 且保持不變,總檔案大小會稍微縮小。如果工具強迫同一張影像通過較低品質的設定,檔案可能會變大或維持不變,但視覺品質明顯變差。針對性的替換優於全面性的重新編碼。
- 將機密文件上傳到伺服器。稅單、已簽署的合約、病歷與內部報告,經常被送到免費的線上壓縮工具。即使有下載後立即刪除的承諾,檔案仍會經過你無法掌控的基礎設施,而這份工作其實完全可以只在瀏覽器分頁中完成。
- 設定一個無法達成的目標。要求一個 25 MB、只內含一張小型 JPEG 的來源檔案壓縮到 1 MB,保證會犧牲某些與影像無關的東西——字型、向量內容、文件結構。一個好的工具應該禮貌地拒絕,而不是產出一個劣化的檔案,然後宣稱成功。
- 讓壓縮工具迴圈到「收斂」為止。有些工具會無限制地以越來越低的品質重新編碼,直到瀏覽器分頁當機,或檔案實際上反而變大,因為激進的 JPEG 設定會遭遇邊際效益遞減。較安全的模式是執行一組固定的設定檔清單,跑一次,然後停止。
「經驗證的目標大小」真正的含義
一套經驗證的目標大小工作流程,有三條一般壓縮工具會略過的規則。首先,目標會在一個定義好的範圍內進行驗證——對 Compress PDF to Size 工具來說,該範圍是 0.1 到 25 MB,而且目標必須小於來源檔案。其次,每個候選輸出都會作為真正的 PDF 儲存到本機磁碟,並測量其位元組長度。檢查標準是「≤ 目標位元組」,而非「估計可容納」。第三,工具只嘗試一小組固定的 JPEG 品質與最長邊組合,而不是追逐無限制的最佳化。依序使用的四個設定檔如下表所示。
| 設定檔 | JPEG 品質 | 最長邊像素 | 典型用途 |
|---|---|---|---|
| 1 | 0.70 | 1400 | 輕度縮減;適用於接近目標的來源檔案的首次嘗試 |
| 2 | 0.55 | 1000 | 中度縮減;常見於以 JPG 為主的報告與型錄 |
| 3 | 0.40 | 800 | 強力縮減;用於先前的設定檔超過目標時 |
| 4 | 0.30 | 600 | 在有界限的序列中達到最大縮減;視覺保真度較低 |
第一個已儲存 PDF 等於或小於目標的設定檔即為勝出者,而實際的 JPEG 編碼由瀏覽器的 HTML Canvas toBlob 方法處理。在該程序之下還有兩條安全規則。工具只會取代那些未遮罩、屬於 DCTDecode 的 DeviceRGB 或 DeviceGray 影像、且不含解碼參數的嵌入 JPG 串流;其他所有內容——包括向量、字型、表單、註解以及不支援的影像物件——都會原封不動地保留。而如果某個候選重新壓縮會讓單一影像比原始影像更大,該影像會保持不動,因此迴圈絕不會讓結果變差。
如何將 PDF 壓縮到目標大小,而不犯常見的錯誤
此程序直接反映了經驗證目標的契約。沒有上傳步驟、沒有註冊,也不存在「盡力而為」的承諾。
- 在你的瀏覽器中開啟 Compress PDF to Size 工具。
- 選擇一個不超過 25 MB 的本機 PDF。超過 25 MB 的檔案超出支援範圍,應先進行分割或修剪。
- 輸入一個小於來源檔案大小的 MB 目標值。任何介於 0.1 到 25 MB 之間的值都可接受,該目標就是已儲存檔案實際必須等於或低於的大小。
- 選擇Compress to target size。工具會依序執行其有界限的 JPEG 品質與最大尺寸設定檔序列,在本機儲存每個候選檔,並測量其真實位元組數。
- 等待下載連結出現。只有在候選檔的已儲存位元組長度等於或低於你的目標,且頁數與來源相符(以 PDF.js 函式庫驗證)時,連結才會顯示。如果沒有候選符合目標,則不會出現下載連結,工具會說明原因。
- 點擊下載並檢視結果。在你確認已儲存的 PDF 能順利開啟、頁數正確,並在螢幕上呈現可接受的大小之前,請保留你的原始檔案。
操作順序很重要。在選擇檔案之前輸入目標是常見的錯誤,因為驗證機制在不知道來源的情況下無法檢查「小於來源」。先選擇檔案,工具就能在第一時間禮貌地拒絕不可能的目標,而不是在浪費一次壓縮程序之後才告知。
何時目標可以達成,何時無法達成
並非每個 PDF 都能縮減到任何目標,而一個有用的壓縮工具會如實溝通這一點,而不是假裝可以。下方表格顯示,在安全的 JPG 重新壓縮下,不同類型的來源檔案通常會有怎樣的表現。精確的結果取決於檔案中實際的位元組數,因此請將右側欄視為定性指引,而非精確預測。
| 來源 PDF 類型 | 主要影響大小的因素 | 達成激進目標的可能性 |
|---|---|---|
| 以 JPG 儲存的掃描頁面 | 中等品質的嵌入 JPEG 串流 | 高——通常能達成遠低於來源檔案的目標 |
| 以 JPG 為主的報告或型錄 | 混合的 JPEG 影像,搭配部分向量文字 | 中至高——通常能達成遠低於來源檔案的目標 |
| 使用系統字型的純文字 PDF | 字型子集、文字運算子、結構 | 低——沒有大型影像可供壓縮,因此工具可能不傳回任何結果 |
| 以向量為主的設計稿或 CAD 匯出檔 | 向量路徑、圖樣、漸層、字型 | 低至中——只有少數點陣影像會縮減,因此已儲存檔案通常與來源大小相近 |
| 以不支援的影像為主的檔案 | 已遮罩的影像、CMYK、JPEG2000,或含有解碼參數的影像 | 低——這些串流會保持不動,因此工具可能會回報無法安全地達成目標 |
如果你的來源屬於下方幾列之一,而你輸入的目標又過於激進,工具不會無中生有地變出更小的檔案。它會告訴你該目標無法安全達成。若想深入了解為何有些 PDF 即使經過經驗證的壓縮,仍無法達到所要求的大小,請參閱這份關於目標大小可靠性的指南。
壓縮過程中保持不動的內容
使用者最擔心的錯誤之一,就是對文件造成附帶損害。經驗證目標的做法會刻意保護特定的內容。每個頁面上可選取的文字仍保持可選取。內部與外部的連結註解都會保留。表單欄位、簽章以及已扁平的註解會維持原樣。向量繪圖、路徑、漸層與圖樣填充絕不會被點陣化——工具只會替換符合資格的嵌入 JPG 串流,其他一概不動。文件所使用的字型與字型子集不會重新產生。頁數在顯示任何下載連結之前,都會與來源進行比對驗證,因此文件不會無聲無息地遺失或重複頁面。
這裡並沒有籠統的「無損」聲明。如果工具以較低品質的設定檔替換了 JPG 串流,該影像就已經被重新壓縮,在原始列印尺寸下仔細檢視的讀者或許能察覺差異。這份契約對此坦誠以告:它是目標感知的 JPG 重新壓縮,並非神奇的優化器。請將原始檔案視為主要版本,並在刪除任何重要的東西之前,先檢視已儲存的檔案。
全程在本機處理,得以避免的隱私錯誤
PDF 壓縮工具最嚴重的錯誤,是你在 UI 上看不到的那一個:上傳。許多線上壓縮工具會將你的文件序列化、傳送到後端、在租來的基礎設施上執行處理,然後回傳一個連結。即使該連結很快就過期,被處理的位元組仍會經過你無法掌控的伺服器。對於包含個人資料、法律文字,或任何雇主、客戶期望保持私密的內容,那段往返正是最值得避免的部分。
此處使用的經驗證目標工作流程,將 PDF 讀取、JPEG 解碼、編碼、位元組測量與頁數驗證全部保留在瀏覽器分頁內。不會上傳任何資料,常見問題中所謂的「經驗證」,指的是你機器上已儲存的位元組,而非伺服器的回應。這份工作同樣是有界限的:最多一個不超過 25 MB 的來源 PDF、最多 80 張符合資格的影像,以及工具所解碼影像合計不超過 100 百萬像素。這些上限是為了讓本機作業保持流暢,並防止出現無限制的瀏覽器工作階段,因為那本身就可能成為一種可用性錯誤。
設定目標的簡單範例
此工具中的目標是以儲存的位元組數來衡量,因此這些數學計算值得做一次。檔案大小所使用的二進位 MB 慣例為 1 MB = 1,048,576 位元組。假設您的來源 PDF 為 10 MB,而您希望將其壓縮至 2 MB 的電子郵件附件大小限制以內。
- 來源位元組:10 MB × 1,048,576 位元組/MB = 10,485,760 位元組。
- 目標位元組:2 MB × 1,048,576 位元組/MB = 2,097,152 位元組。
- 所需縮減量:10,485,760 − 2,097,152 = 8,388,608 位元組,佔來源的 80%。
此工具會拒絕任何不小於來源的目標,因此這個 2 MB 目標之所以被接受,是因為 2 MB 小於 10 MB。如果來源是以 JPG 為主,有界序列的設定檔組非常有可能在 2,097,152 位元組以下找到一個可用的候選檔案。如果來源僅包含文字,工具可能會回報沒有任何候選檔案通過——而這個答案是正確的,並非失敗。
如果您正在權衡各種選項,紙張尺寸圖表:並列比較各種標準紙張對此有詳細介紹。