Mac 作業系統提供一個自動化的應用程式 Automator ,可以將一系列動作組合成一個工作流程。搭配 Ghostscript 來進行 pdf 檔案的壓縮,設定完成後不需要再記住複雜的指令。又可免費壓縮 pdf 檔案。
是一套建基於Adobe、PostScript及可移植文件格式(PDF)的頁面描述語言等而編譯成的自由軟體。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null
brew install ghostscript
安裝完Ghostscript之後,可利用指令gs來進行PDF檔案壓縮
Ghostscript command line 參考資料
壓縮PDF檔案的指令(參考)
gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/screen -dCompatibilityLevel=1.4 -sOutputFile=output.pdf input.pdf
執行指令時需注意檔案路徑的設定, 另外輸入、輸出的檔案不要使用中文檔名
是蘋果公司為他們的Mac OS X系統開發的一款軟體。只要通過點擊拖拽滑鼠等操作就可以將一系列動作組合成一個工作流程,從而幫助你自動的(可重複的)完成一些複雜的工作。Automator還能橫跨很多不同種類的程序,包括:Finder、Safari、iCal或者其他的一些程序。它還能和一些第三方的程序一起工作。
系統要安裝Ghostscript
開啟Automator.app, 建立新的"服務"
參考下圖設定,並且新增"過瀘Finder項目"設定只允許pdf檔案進行轉換
新增"執行 Shell 工序指令",將下方的shell script貼到指令區塊,並且將"傳遞輸入"改為"作為引數使用"
for f in "$@"
do
INPUTFILE="$f"
INPUTDIRNAME=$(dirname "$INPUTFILE")
FINALFILENAME="${${INPUTFILE##*/}%.*}"
RENAMEINPUTFILENAME="$INPUTDIRNAME"/"$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)".pdf
OUTPUTFILENAME="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)".pdf
OUTPUTFILE="$INPUTDIRNAME"/"$OUTPUTFILENAME"
FINALOUTFILE="$INPUTDIRNAME"/"$FINALFILENAME"_compressed.pdf
cp "$INPUTFILE" "$RENAMEINPUTFILENAME"
/usr/local/bin/gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/screen -dCompatibilityLevel=1.4 -sOutputFile="$OUTPUTFILE" "$RENAMEINPUTFILENAME"
rm -f "$FINALOUTFILE"
mv "$OUTPUTFILE" "$FINALOUTFILE"
rm -f "$RENAMEINPUTFILENAME"
osascript -e 'tell app "System Events" to display dialog "PDF已產生!['$FINALOUTFILE']" default button 1 buttons {"OK"}'
done
設定完成畫面
設定完成後存檔即可使用,儲存的檔名即為在"服務"看到的名稱。在pdf檔案上按右鍵開啟功能選單,並且開啟"服務"即可看到該功能。按下後就會開始執行產生壓縮後的pdf檔案,依據上方提供的script產出的pdf檔案會是原檔名+"_compressed"。(執行時間會因為pdf檔案的大小有所不同,請耐心等待)
原本10.3MB的檔案壓縮後只剩下1.2MB
~ End ~