もちろん Illustrator を起動してエクスポートなり別名で保存なりすればいいのだけれど、複数ファイルを頻繁にコンバートしたいときやはり面倒なのでコマンドラインで自動化したい。

今まで .ai ファイルが .pdf 互換ということで、.ai の拡張子だけを変更してコピーするみたいなことをしていたけど、ファイルサイズがかなり大きくなってしまう。PDF として見るだけなら必要ないデータもあるはずなのでお手軽に削減したい。

ghostscript を使う

http://askubuntu.com/questions/113544/how-to-reduce-pdf-filesize に書いてある通りだけどコピペしておく

gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=output.pdf input1.ai input2.ai

こうするとスクリーンをターゲットに最適化される。ベクターデータとかは特にクオリティーは落ちず、余計なデータが省かれるだけになる。入力には .ai ファイルも指定できる。

ビットマップデータはかなり高圧縮になってしまってクオリティがかなり落ちたりするので、そういう場合は -dPDFSETTINGS=/ebook を指定するとサイズが多少増えつつもマシになる。

これ、入力ファイルを複数指定すると結合した1つのファイルができて便利。

こんな感じ

-rw-r--r--@ 1 cho45  staff   1.5M  9  1 20:07 2-block.ai
gs -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=2-block.pdf 2-block.ai
-rw-r--r--@  1 cho45  staff    51K  9  2 22:19 2-block.pdf

_人人人人人_
> 30分の1 <
 ̄Y^Y^Y^Y ̄

ベクターデータだけだと全く見た目には見分けつかない。

  1. トップ
  2. tech
  3. Illustrator で作った .ai ファイルをファイルサイズを減らした .pdf に