23. 印刷格物致知
          23.3. PDF
              23.3.4. PDF檔案格式
 23.3.4.8. 壓縮(Compression)

PDF檔案遠小於相同內容的 PostScript 檔案,這是通過更好的資料結構的結果,但最主要的因素是由 PDF 支援的非常有效率之壓縮演算法。

PDF 內的所有文字和 PostScript 運算子都可以使用 LZW 演算法來壓縮,這個基本的壓縮法可以減少 PDF 檔案大小到相同內容的 PostScript 檔案大小之一半。

如果在 Acrobat Distiller 內打開壓縮開關,Distiller 會先對 PostScript 檔案內的所有圖像解壓縮,然後製作 PDF 檔案時重新壓縮它們。

PDF 檔案內圖像可以使用的各種壓縮演算法有:

  • JPEG 與 JPEG2000
  • ZIP
  • CCITT G3/G4
  • RLE
  • Flate
  • JBIG2

以下有這些壓縮演算法的更詳細討論。

如何檢查 PDF 檔案內使用的壓縮

在某些情況下,您可以使用能處理二進制資料的文字編輯器(TextPad, UltraEdit, ...)打開 PDF 檔案,然後搜索“/Filter”關鍵字。

JPEG 壓縮

JPEG 壓縮是用於彩色和灰階圖像,這是一個可以有失真 (lossy) 或無失真 (non-lossy) 的壓縮演算法,在 Acrobat 內只有有失真的 JPEG 壓縮可用,這表示在壓縮的過程中影像的若干細節將消失,壓縮比越高則丟失的細節越多。

更多有關 JPEG 壓縮演算法的信息可在此網頁上找到。

從 Acrobat Distiller 4 起,有五個不同級別的壓縮設定:

  • 最低 (Minimum):除了最苛刻的案件外,其品質的損失程度應該都可被接受,平均壓縮比:1/2
  • 低 (Low)
  • 中 (Medium),低品質的工作可接受,平均壓縮比:1/5
  • 高 (High)
  • 最高(Maximum):印前不太能接受的品質,平均壓縮比:1/10

不要壓縮已經使用 JPEG 壓縮的的圖片,這將導致額外的資料損失;如果 distill 一個包含的 JPEG 壓縮圖像的檔案,Distiller 將先解壓縮然後按照設置重新壓縮,這將導致額外的圖像品質之損失。

一旦 PDF 作好後仍然可以改變其壓縮比,這在要電子郵寄或上載時倘若檔案過大時十分方便,但請記住其缺點:重新壓縮資料會有額外的細部損失!如果可能的話,重新 distill 原始檔案。

  • 在 Acrobat Professional 7 與後來版本內有一個 PDF Optimizer(最佳化 PDF)選單選項,可以重新壓縮 PDF 內的所有資料
  • 若干 Acrobat 插件可以重新壓縮資料,例如 Quite Software 的 Quite-a-box-of-tricks

JPEG2000 壓縮

PDF 1.5(需要 Acrobat 6.0)開始支援這個新的壓縮演算法,在此網頁可以找到更多關於壓縮演算法的資料,雖然它比 JPEG 壓縮更有效率,但因為考慮與舊的系統間的兼容性問題,JPEG2000 還未被廣泛地使用。

ZIP 壓縮

ZIP 壓縮演算法常用於流行的 PC 應用程式,像是 PKzip, WinZip 或 StuffIt,當選擇使用 ZIP 壓縮不表示 Acrobat 將創建一個壓縮檔案,它只是使用該演算法來壓縮灰階或彩色圖像。

ZIP 是一個比 LZW 壓縮更聰明的版本,這是一個無損失演算法,這表示圖像的內容是不會因為壓縮而改變,Acrobat 3 提供 4 位元和 8 位元 ZIP 壓縮, 4 位元 ZIP 壓縮代表 Acrobat 將首先改變顏色每個色盤的數目從 256到 16 個,然後再執行無損失的 ZIP 壓縮,這導致了一個很好的壓縮比,但圖像的品質下降極大,除非您確定結果,盡量避免 4 位元 ZIP 壓縮;8 位元 ZIP 壓縮是完全無損失的,從 Acrobat 4 起 ZIP 壓縮總是使用 8 位元。

CCITT 壓縮

CCITT 壓縮可用於黑白圖像,它是與傳真設備使用的相同壓縮演算法,它是無損失的壓縮,亦即它不會影響圖像的品質。

Acrobat 提供 CCITT group 3 或 group 4 壓縮,似乎大家都同意 CCITT group 4 比較好,所以讓其設定選項是開啟的。

RLE 壓縮

RLE 代表 Run Length Encoding,這是一個無損失的演算法,所以它不會改變圖像的品質,更多關於該演算法的信息可在此網頁上找到。

Acrobat RLE 壓縮可用於黑白圖像,但大多數人似乎寧願使用 CCITT 壓縮而不是 RLE,因為 CCITT 更有效率。

Flate 壓縮

Flate(或有時也被稱為 deflate)是一個相當複雜的壓縮演算法,請讀這個網頁以了解更多關於它的事。

JBIG2 壓縮

JBIG2 是黑白圖像除 CCITT 壓縮外的另一種替代壓縮演算法,從 PDF 1.5(需要 Acrobat 6)起開始支援這個壓縮,它的使用並不多,可能是因為一些用戶的回饋意見指出在 Acrobat 內它比 CCITT G4 壓縮慢得多。

Table of contents