pdfgray *.pdf → *.gray.pdf
MacOSのプレビューにはPDFグレイ変換オプションがある
ファイル→書き出す→グレイトーン
ところがやってみるとちゃんとグレイ変換されない
なぜか一部だけカラーのまま
これでは使い物にならない
そこでgsによるshellスクリプトの出番
以下のスクリプトを.zprofileに以下を追記するだけ
これでバッチリグレイPDFに変換できる
# pdfgray *.pdf
function pdfgray()
{
local cnt=0
for i in $@; do
gs -sDEVICE=pdfwrite \
-sColorConversionStrategy=Gray \
-dProcessColorModel=/DeviceGray \
-dCompatibilityLevel=1.4 \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=${i%%.*}.gray.pdf ${i} &
(( (cnt += 1) % 4 == 0 )) && wait
done
wait && return 0
}
コンソール上で
pdfgray hoge.pdf
とすれば
hoge.gray.pdf
が出来上がる
$ pdfgray hoge.pdf
[3] 38381
[3] + done gs -sDEVICE=pdfwrite -sColorConversionStrategy=Gray -dCompatibilityLevel=1.4
$ ls
hoge.pdf hoge.gray.pdf
pdfmin *.pdf → *.min.pdf
おなじくプレビューのファイルサイズを減らすもイマイチ
.zprofile
に以下を追記
# pdfmin *.pdf
function pdfmin()
{
local cnt=0
for i in $@; do
gs -sDEVICE=pdfwrite \
-dCompatibilityLevel=1.4 \
-dPDFSETTINGS=/ebook \
-dNOPAUSE -dQUIET -dBATCH \
-sOutputFile=${i%%.*}.min.pdf ${i} &
(( (cnt += 1) % 4 == 0 )) && wait
done
wait && return 0
}
コンソール上で
pdfmin hoge.pdf
とすれば
hoge.min.pdf
が出来上がる
$ pdfmin hoge.pdf
[3] 38523
[3] + done gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE
$ ls
hoge.pdf hoge.min.pdf