InDesignドキュメントにXMLデータを使って画像配置をするときは、配置する画像ファイルのパスを、XMLデータの画像のタグにhref属性として書いて読み込みます。
XML組版をする場合でなくとも、大量の画像をとりあえずドキュメントに貼りたいときにはXMLを利用するのも一つの方法です。
スクリプトも必要ないので簡単です。
方法はいくつか考えられますが、今回は、より簡便にXMLデータを読み込んで画像を配置する方法を2通り紹介します。
公式サイト Adobe InDesignを詳しく見てみる
前準備: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>
XMLデータの構造
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読み込みオプション]で “既存の構造に一致する要素のみ読み込む(O)” がチェックされていたら、チェックを外します。
モード(M)が[内容を結合]になっていることを確認して[OK]でXMLデータを読み込みます。

すると下記のように、画面左側の構造のRootタグ以下に、XMLデータが読み込まれました。
タグパネルでは、読み込んだデータのタグが表示されているのが確認できます。
この時点では、まだページ上には画像は配置されません。

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

マスターページでテキストフレームを連結しておいたので、あふれ処理がされて、全ての画像が配置されました。

方法2:あらかじめスタイル設定した画像フレームに配置
画像の配置前には、InDesign上で画像フレームのスタイル設定をしておくほうが、修正時に便利です。
この方法では、縮小率などのスタイルをあらかじめ設定した画像フレームを作成しておいて、その画像フレームにXMLデータを配置します。
InDesignドキュメントの準備
InDesignのマスターページに、連結したテキストフレームを作成し、このテキストフレームの中にインラインで画像フレームをひとつ置いてあります。

画像フレームは30mm四方とし、フレーム調整オプションで “内容をフレーム合わせる”として、上下左右のセンターに配置するようにしました。
ついでに、この設定を”XML画像配置”という名前でオブジェクトスタイルを作成し、適用しておきました。

次に、タグパネルで<画像>という名前のXMLタグ(XMLファイルのタグ名と同じ名前)を作成します。

作成したマスターページを適用したページを作成し、テキストフレームをオーバーライドします。
画像フレームに画像タグを割り当てます。
このときテキストフレームには、自動的にストーリータグが割り当てられ、作成してあるXMLデータの階層とも合致しました。

XMLデータの読み込みと同時に配置
構造の右上のメニュー[XMLを読み込み…]で、[XMLを読み込み]のダイアログを表示します。

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

[XML読み込みオプション]で “繰り返すテキスト要素を複製(R)” をチェックします。
モード(M)が[内容を結合]になっていることを確認して[OK]でXMLデータを読み込みます。

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

公式サイト Adobe InDesignを詳しく見てみる
コメント