透過事務機掃描紙本文件產生出來的PDF檔案太大,可以用imagemagick來幫它減肥。

我們知道經由事務機掃描產生出來的PDF文件,其內容幾乎就是已圖檔的方式儲存。所以PDF文件檔案通常大小都蠻大的,如果想要用壓縮軟體來將它壓縮使它的檔案大小變小似乎是起不了什麼作用。印象中壓縮工具對文字型態的檔案擁有非常大的壓縮比例,但如果是檔案的資料內容幾乎是資料串流格式的話,壓縮前後檔案大小根本就差不了多少。既然已經知道內容都是圖檔格式,那我們就將PDF內的圖檔先抓出來並做圖檔壓縮,之後在將壓縮後的圖檔重新轉換成新的PDF檔案。

要使用的工具:ImagemagickGhostScript

imagemagick 有專為windows提供安裝執行檔讓安裝的步驟更為簡單,至於GhostScript是為了要讓Imagemagick可以將圖檔抓出來所以才要安裝的函式庫。

使用1:

  1. cmd叫出命令模式,切換到我們要操作的PDF所在的目錄下。
    • cd PDF/File/Path/
  2. 執行convert 指令讓PDF抓出圖檔並壓縮圖檔
    • convert -density 150 origin.pdf test.jpg
  3. 合併所有圖檔生成一個新的PDF檔案
    • convert test*.jpg new.pdf

使用2:

  • convert -density 300×300  -compress jpeg -quality 5 input.pdf output.pdf
  •  -density 代表 DPI 、-compress jpeg 壓縮為圖片格式 、-quality 5 壓縮品質數值越高較不失真但相對產出的檔案容量較大。

P.S:

  1. 路徑或是檔名請不要使用中文字(Windows 作業系統上會有這樣的限制)。
  2. density參數是指定轉出圖檔的DPI,數字越大檔案越大。
  3. 如果多頁的PDF會轉出多個圖檔。

發表留言