スポンサーリンク

XMLで大量の画像を一瞬で配置する

XMLで大量の画像をInDesignに一瞬で配置する

XMLデータから画像配置をするときは、配置する画像ファイルのパスを、XMLデータの画像のタグにhref属性として書いて読み込みます。

XML組版をする場合でなくとも、大量の画像をとりあえずドキュメントに貼りたいときにはXMLを利用するのも一つの方法です。
スクリプトも必要ありません。

方法はいくつか考えられますが、今回は、より簡便にXMLデータを読み込んで画像を配置する方法を2通り紹介します。

前準備:XMLデータの作成

以下の構造でXMLデータを作成します。全部で16枚を貼り込みます。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Root><ストーリー><画像 href="file:///リプちん020.jpg"></画像>
<画像 href="file:///リプちん010.jpg"></画像>
<画像 href="file:///リプちん060.jpg"></画像>
<画像 href="file:///リプちん090.jpg"></画像>
<画像 href="file:///アプりん070.jpg"></画像>
<画像 href="file:///アプりん050.jpg"></画像>
<画像 href="file:///アプりん020.jpg"></画像>
<画像 href="file:///アプりん100.jpg"></画像>
<画像 href="file:///リプちん020.jpg"></画像>
<画像 href="file:///アプりん070.jpg"></画像>
<画像 href="file:///リプちん010.jpg"></画像>
<画像 href="file:///アプりん050.jpg"></画像>
<画像 href="file:///リプちん060.jpg"></画像>
<画像 href="file:///アプりん020.jpg"></画像>
<画像 href="file:///リプちん090.jpg"></画像>
<画像 href="file:///アプりん100.jpg"></画像>
</ストーリー></Root>

構造

1行目はxml宣言です。
作成するXMLデータの文字コードをここに書いておきます。”UTF-8″として作成しました。

2行目以降が、InDesignに流し込まれる階層です。
全体を、<Root> </Root> タグで囲み、その中に <ストーリー> </ストーリー> タグを入れます。

<Root>と<ストーリー>は、InDesignのXML構造がデフォルトで割り当てるタグ名です。
<Root>はドキュメントの最上位の階層に割り当てられ、<ストーリー>はテキストフレームに割り当てられます。

画像タグ

<Root> と<ストーリー>で囲んだ中に画像タグを入れます。
この画像タグの要素の中には何も入れず、</画像> として閉じタグを書きます。

画像ファイルのパス

配置する画像ファイルの場所をhref属性で入れます。

下記は、絶対パスで指定した例です。(Windows)

<画像 href="file:///C:¥Users¥~~~¥Links¥リプちん090.jpg"></画像>

絶対パスでも書けますが、配置する画像ファイルと同じフォルダにXMLデータを置けば、ファイル名のみの記述で済みます。

なので今回は、画像ファイルと同じフォルダにXMLファイルを置くことにして、ファイル名のみを記述しています。

このXMLデータを使って、2通りの方法でInDesignに配置します。

スポンサーリンク

方法1:XML構造からドラッグ&ドロップで配置

InDesignドキュメントの準備

マスターページに連結させたテキストフレームを作成し、ページに適用します。

連結したテキストフレームを作成したマスターページ

マスターページを適用したページ

XMLデータの読み込み

構造右上のボタンメニューから[XMLを読み込み…]で、[XMLを読み込み]のダイアログを表示します。

構造パネルからメニューを開く

構造は、メニューから[表示(V)]-[構造(T)]-[構造を表示(S)]で表示できます。

[XMLを読み込み]のダイアログでXMLファイルを選び、[XML読み込みオプションを表示(X)]と[内容を結合(M)]をチェックして、[開く(O)]で次へ進みます。

XMLを読み込みのダイアログ

[XML読み込みオプション]で “既存の構造に一致する要素のみ読み込む(O)” がチェックされていたら、チェックを外します。

モード(M)が[内容を結合]になっていることを確認して[OK]でXMLデータを読み込みます。

XML読み込みオプションダイアログ

構造のRootタグ以下に、XMLデータが読み込まれました。
タグパネルでは、読み込んだデータのタグが表示されているのが確認できます。

この時点では、まだ画像は配置されません。

読み込まれたXMLデータの構造とタグパネル

画像をページに配置する

次に、読み込んだXMLデータの配置です。

ストーリータグを掴んで、先ほど作成したマスターページを適用したページのテキストフレームにドラッグ&ドロップすると配置されます。

構造からRootタグをテキストフレームにドラッグアンドドロップ

マスターページが適用されているので、あふれ処理もされました。

原寸で配置された画像

方法2:あらかじめスタイル設定した画像フレームに配置

画像の配置前には、画像フレームのスタイル設定をしておくほうが、修正時に便利です。

方法2では、縮小率などのスタイルをあらかじめ設定した画像フレームを作成しておいて、その画像フレームをもとにして画像配置をしていきます。

InDesignドキュメントの準備

マスターページに、連結したテキストフレームを作成し、このテキストフレームの中にインラインで画像フレームをひとつ置きます。

マスターページに作成した画像フレーム入りのテキストフレーム

画像フレームは30mm四方にし、フレーム調整オプションで “内容をフレーム合わせる”として、上下左右のセンターに配置するようにしました。

ついでに、”XML画像配置”というオブジェクトスタイルにして適用しました。

オブジェクトスタイルで設定されたフレーム調整オプション

次に、タグパネルで画像タグを作成します。
XMLタグの作成

作成したマスターページを適用したページを作成し、テキストフレームをオーバーライドします。

画像フレームに画像タグを割り当てます。
このときテキストフレームには、自動的にストーリータグが割り当てられます。

ストーリーと画像タグが割り当てられたページ

XMLデータの読み込みと同時に配置

構造の右上のメニュー[XMLを読み込み…]で、[XMLを読み込み]のダイアログを表示します。

構造パネルのメニュー

XMLを読み込みのダイアログで、[XML読み込みオプションを表示(X)]と[内容を結合(M)]をチェックして、[開く(O)]で次へ進みます。

XMLを読み込みのダイアログ

[XML読み込みオプション]で “繰り返すテキスト要素を複製(R)” をチェックします。

モード(M)が[内容を結合]になっていることを確認して[OK]でXMLデータを読み込みます。

XML読み込みオプションダイアログ

この方法では、読み込み前にXMLタグを割り当てていたので、XMLデータが読み込まれたのと同時に画像配置がされます。

読み込まれたページと構造