プログラム

[イラストレーター]複数ページのアートボードをPDFで分割出力するスクリプト

code coding computer cyberspace

アートボード毎にPDFファイルを書き出しをしたい!

こんにちは。ADOBEスクリプト初心者の田坂です。
2020年の12月からスクリプト開発に取り組みはじめて、1年間で25個の開発を行ないました。(ほとんど社内向けの特殊なものばかりです。)

2020年末からイラストレーターのスクリプトを使えるようになるために、JavaScriptの勉強を続けてました。
ようやく誰かの役に立てるんじゃないかと思うスクリプトができたので、公開してみることにしました。

あなたはイラレのアートボード毎に個別でPDFファイルに出力できたらいいのにと思ったことはありませんか?

僕はめっちゃありました。

どんな時にあったのかと言うと、例えば名刺のデータを画像のように全員分の名刺と裏面のデータをアートボードで管理していました。(ぼかしですみません。)

アートワークスの全員分の名刺です。

.aiや.eps形式だと個別に保存することはできます!でも僕がやりたいのはPDFなんです!

なぜPDFにしたいかというと、溶剤の大判プリンターや、フラットベッドのUVプリンターで印刷する時に必要なんです。

理由は分かりませんが、.eps形式で業務用プリンターにファイルの取り込みを行うと、0.2mmぐらいのズレがでちゃうんですよね。なので、どうしてもPDFファイルで出力がしたかったんです。

イラストレーターからPDF保存すると、全ページが繋がったPDFファイルになってしまいます。
いろいろ試しましたよ。。。


全ページ繋がったPDFをAcrobat で開いてページ分割したり。。。
.ai形式で分割したファイルをアクションでPDFファイルに保存し直したり。。。

。。。

。。。

めんどくさいっ!!!!

答えはスクリプトにありました。スクリプトならPDFファイルをアートボード毎に1枚ずつ書き出すことができるんです。

スクリプト初心者の僕としてはコードが書けた時はかなり感動しましたし、こんなにラクになると思っていなかったので、勉強してよかったと思いました。

短いコードですが、いろいろ理解するには結構な時間がかかりました。

全国の「全アートボードを個別のPDFで書き出したい」皆さん(そんなにいないかもですが)の役に立てれば幸いです。

仕様

  • イラレのファイルと同じ階層にPDFが出力されます
  • ファイル名は`イラレのファイル名_アートボード名`です。
  • すべてのアートボードが書き出されます。※途中のページだけなどはできません。

イラストレーターのスクリプトは、アクションでは対応できない細かいところまで手が届きます。今では会社の業務改善でいろいろできるようになったので、楽しくてたまりません。私が勉強した方法については、簡単ですが、次に書かせていただきました。

イラレのスクリプト勉強法

もし自分でもイラストレーターのスクリプト開発をしたい方は以下の書籍がおすすめです。(というかほとんど書籍はないのですが・・・)ひとつひとつ動きを確認しながら行うと少しずつ分かるようになりました。
Adobe JavaScriptリファレンスは使用できる関数の説明などがあります。(イラレ以外のadobeソフトでも応用がききます。私はPhotoshopでも作りました。)
Illustrator自動化基本編 はイラレのみで色んなサンプルコードが載っています。
※どちらもkindle unlimitedに加入していたら無料で読めますよ。(2021年11月時点)

あとは英語で少しハードルが高いように思いますが、adobeの公式リファレンスガイドが役立ちます。オブジェクトの種類によって使える関数など決まっているので、手元には必ず置いておきたい一冊です。私はiPadのGoodNoteに入れて使っています。
https://www.adobe.com/content/dam/acom/en/devnet/illustrator/pdf/Illustrator_Scriptin_Reference_JavaScript_cc.pdf