知識 · 圖片與檔案
我的 PDF 為什麼這麼大?
簡答
多數過大的 PDF 都是圖片造成的:原始解析度的照片,或以弱壓縮儲存的掃描頁面。其他原因包括完整內嵌的字型(尤其是中日韓字型)、增量儲存保留的編輯紀錄、重複的圖片,以及附加檔案。把圖片降低取樣到適合螢幕閱讀的 150 PPI、重新壓縮,再另存一份乾淨的副本,通常能讓檔案縮小一半以上。
開啟壓縮 PDFPDF 裡真正佔空間的是什麼
PDF(標準為 ISO 32000)是由物件組成的集合:頁面描述、字型、圖片和中繼資料,每個物件都可選擇壓縮。文字和向量圖形非常小,一整頁文字往往只要幾 KB。檔案過大的問題來自那些笨重的物件。
| 原因 | 常見影響 | 成因 |
|---|---|---|
| 相機原始解析度的照片 | 每張 1–10 MB | 把 1200 萬像素的照片放進只需要其中一小部分像素的頁面 |
| 掃描頁面 | 每頁 0.5–5 MB | 即使只有黑色文字,每頁都是一張全彩圖片 |
| 內嵌字型 | 數十 KB 到 20 MB 以上 | 內嵌整個字型檔,而不只是用到的字元 |
| 增量儲存 | 每次編輯都變大 | 變更附加在檔案後面,物件的舊版本仍留在檔案中 |
| 重複的圖片 | 圖片大小成倍增加 | 同一個標誌每頁各存一次,而非共用 |
| 附件、圖層、表單 | 不一定 | 內嵌檔案、隱藏圖層和表單指令碼 |
掃描頁面:算一算就知道
一張以 300 PPI 掃描的 A4 頁面是 2480 × 3508 = 8,699,840 像素。彩色每像素 3 個位元組,未壓縮時每頁約 26.1 MB。
- 灰階(每像素 1 個位元組)時,同一頁未壓縮約 8.7 MB。
- 黑白(每像素 1 位元)時降到約 1.09 MB,若再用 CCITT Group 4 或 JBIG2 等二值壓縮,一頁文字常常只剩幾十 KB。
- 彩色版本以 JPG 壓縮通常每頁 1–3 MB,所以 20 頁的彩色掃描很容易超過 20 MB。
掃描文字文件時,用 300 PPI 的灰階或黑白,而不是 600 PPI 的彩色,是掃描檔最能省空間的做法。
PDF 壓縮如何運作
PDF 的資料串流會宣告一個篩選器(filter),說明它如何被壓縮。壓縮工具就是靠改用更好的篩選器,或以更強的設定重新壓縮來縮小檔案。
| 篩選器 | 方式 | 用途 |
|---|---|---|
FlateDecode | 無失真(zlib/deflate,與 PNG、ZIP 相同) | 文字、向量圖形、無失真圖片 |
DCTDecode | 失真 JPEG | 照片 |
JPXDecode | JPEG 2000 | 高品質圖片、典藏用掃描檔 |
JBIG2Decode | 二值,無失真或失真 | 黑白掃描檔 |
CCITTFaxDecode | 二值傳真壓縮 | 較舊的黑白掃描檔 |
PDF 1.5 也引入了物件串流和交互參照串流,可壓縮檔案的內部結構。以較新的 PDF 版本儲存就會啟用它們。
如何縮小 PDF
- 降低圖片取樣:螢幕閱讀和電子郵件用 150 PPI 就夠,列印用 300 PPI。
- 把照片以中等品質重新壓縮為 JPG;文字掃描檔轉成灰階或黑白。
- 使用「另存新檔」或最佳化指令,而不是「儲存」,這樣會重寫整個檔案並捨棄舊的增量更新。
- 內嵌字型子集(只含用到的字元),而非完整字型。
- 移除不需要的附件、隱藏圖層、縮圖和未使用的表單資料。
- 若單一檔案還是太大,就分割成幾份,或只傳送需要的頁面。
計算範例:一份 30 頁、含十張 4 MB 手機照片的報告約 40 MB。把這些照片依印出寬度約 6 英吋(900 像素)降到 150 PPI,並以 80% 品質存成 JPG,通常每張可壓到 200 KB 以下,整個檔案約 2–3 MB。
需要注意的地方
過度壓縮是有代價的。取樣低於 150 PPI 會讓圖片中的小字難以閱讀;失真 JBIG2 過去也曾在掃描的數字中,把相似的數字互相替換,所以發票和合約使用無失真模式比較保險。
許多電子郵件服務的附件上限約為 20–25 MB,有些上傳表單只接受 2–5 MB,決定要壓縮到什麼程度前,請先確認限制。
常見問題
壓縮 PDF 會降低品質嗎?
移除舊物件、壓縮結構等無失真最佳化不會。降低取樣和重新壓縮圖片則會減少圖片細節,但在螢幕上以 150 PPI 觀看通常看不出來。
只有幾頁的 PDF 為什麼這麼大?
幾乎可以肯定裡面有大型圖片、以全彩儲存的掃描頁,或完整內嵌的字型。單純文字只佔很少空間。
為什麼 PDF 每存一次就變大一點?
許多編輯器使用增量儲存,把變更附加到檔案末端,同時保留舊物件。用「另存新檔」或最佳化選項另存一份新副本,就能把它們清掉。
PDF 裡的圖片該用多少解析度?
在螢幕上閱讀或以電子郵件寄送的文件約 150 PPI,專業印刷用 300 PPI。更高的數值大多只會增加檔案大小。