InDesign で自動組版【FileMaker でコマ作成編】

こんにちは、スクリプト担当Fです。

先日、大型の自動組版案件が完了しスクリプトをいくつか作成しました。苦労することも多々ありましたが、AppleScript ならではの自動化ソリューションができましたので実績紹介も兼ねて紹介していこうと思います。今回は FileMakerPro から InDesign でコマを作成するスクリプトについてです。

● 自動組版とは

そもそも自動組版とはなんでしょうか? あまりポピュラーなキーワードではないかもしれません。DTP でいう「組版」とは簡単にいうとカタログや書籍など印刷物の誌面(版)を、レイアウトソフトを使って作成する(≒組む)ことです(このレイアウトソフト、かつてはQuark社の QuarkXpress がメジャーでしたが、今では Adobe 社の InDesignにその座を奪われています)。このレイアウト作業をプログラムを使うことによって、手動作業ではなく自動で行うことを自動組版といいます。

なおタクトシステムではInDesign(または Illustrator)と、Microsoft Excel や FileMakerPro などのデータベースソフトを連動させた定型レイアウト作成ソリューションを、自動組版としてサービス展開しております。

macOS 環境で AppleScript を活用した組版データ作成を弊社では得意としております。

● FileMakerPro データベースと InDesign コマ

今回は FileMakerPro データベースをもとに InDesign で商品カタログ用のコマを作成するスクリプトについて紹介します。コマとはカタログによくある商品ごとのカセットです。

コマのイメージ

コマのイメージ

FileMakerPro からこのコマと呼ばれるファイルを InDesign で作成します。FileMakerPro は AppleScript のコマンドが非常に充実しているので、アプリケーション間でダイレクトにデータを渡すことは得意とするところです。まさに AppleScript との連動は自動組版で活用するためにあるような組み合わせです。

AppleScript で FileMakerPro と InDesign を連動

AppleScript で FileMakerPro と InDesign を連動

今回の案件では、FileMakerPro データベースはクライアントから提供されておりました。データベースには商品に関するスペックがレコードごとに格納されています。

● 自動組版の動き

実際の動きは、スクリプトをクリックすると FileMakerPro のレコードごとに InDesign テンプレートの該当する箇所にテキストや画像がセットされるという流れ作業です。この作業をレコードのぶんだけ繰り返し行います。下の GIF 動画はデータベースから自動組版が行われる様子です。FileMakerPro は表示していませんがデータを直接 InDesign へ渡し、コマのレイアウトを調整しています。レコードごとにファイルを作成するという流れになっています。

自動組版の動き

自動組版が行われる様子(イメージ)

InDesign での自動組版というと標準機能でデータ結合 XML の読み込みがありますが、複雑な体裁や自由度を効かせたい場合はあまりうまく処理できません。そんな時に AppleScript が威力を発揮します。

今回の自動組版開発で最も複雑だった処理が表組の作成でした。商品名やキャッチコピーなどは InDesign のテキストフレームへテキストをそのまま入れるので単純な処理なのですが、表組は項目内容も行数も列のサイズもコマごとに違います。データベースの内容に合わせて表組を柔軟に変化させなくてはいけません。

表組はコマごとに体裁が違う

表組はコマごとに体裁が違う

というわけで、データベースの表組に合わせてコマでも列を作成し左右幅に合わせてサイズを自動調整する仕組みを考えてみました。

InDesign で表組を自動調整

InDesign で表組を自動調整

上の GIF 動画は1行と4行2種類の表組を作成する様子です。

  • ・価格はセルの中央になるように位置を調整しています。
  • ・1列目と価格列は固定幅なのでそれ以外の列で調整しています。また、列項目が増えた場合は追加も行います。
  • ・上下でセルの内容が同じであれば結合処理を行ってします。
  • ・表組を含んだテキストフレームの位置は、表組下部の商品説明文から行数を計算しコマの下に移動しています。

● コマ作成にかかった時間

今回作成したコマは約700個で、作成にかかった時間は約2時間でした。だいたい1コマ10秒の計算です。スクリプトを実行したら放っておくだけで作業が勝手に終了し、あとは若干の微調整は必要ですがそれでも手作業に比べたら圧倒的な時間短縮となります。

実際は、コマ自体のサイズもいくつか種類があったり、画像ファイルを複数配置したりともっと複雑な仕様だったのですがここでは割愛します。
次回はこの作成されたコマをもとに台紙に自動でレイアウトするスクリプトについての紹介です。