QRコードを一気に作って配置したい第2話(全3話)
QRコードを一気に作って配置したい話の第2話です。
前回はこちら。
.xmlファイルを作ろう
さて、晴れてページ数分のQRコード.aiファイルが完成しました。次は流し込みです。
以降の工程は、全てのファイル(.ai、.indd、.xml、.txt)を同じ階層で用意していただくことをオススメします。
まず、「QRコードを配置するための.xmlファイル」を作成します。
テキストエディタを立ち上げ、
を入力します。QRファイル名の部分はExcelなどで一括で作成してコピペすると速いです。
これを「.xml」の拡張子で保存すると.xmlファイルになります。
また、別のテキストファイルを作成し、「配置するページ数分の改行(10ページなら10改行)」を入力して保存します。このテキストファイルは後の工程でinddに配置します。
.xmlをInDesignに読み込ませよう
続いて、「QRコードを取り出すためのinddファイル」を用意します。
.inddファイルを適当な判型で新規作成し、テキストフレームを一つ作成します。テキストフレーム内にカーソルを立てて、8mm四方のオブジェクトフレームをインラインで流し込みます。
※11mm四方のオブジェクトでQRコードを生成すると、QRコードの塗り部分のサイズが7.965mm四方になるので、近似の整数=8mmにしました。
「ウィンドウ>ユーティリティ>タグ」でタグウィンドウを開きます。右下の「+」から新規タグを作成できるので、テキストフレームには「ストーリー」、画像フレームには「画像」のタグを適用します。
「ファイル>xmlを読み込み」から、上記で作った.xmlファイルを選択してOKをクリックすると、テキスト内に改行で連結されたQRコード.aiが流し込まれます。
後の工程で1フレーム1QRコードで流し込みたいので、テキストフレーム内を全選択して、「検索と置換」で改行(^p)を改フレーム(^R)に置換しておきます。
配置先の.inddファイルでの作業
次に、「配置先の誌面.inddファイル」にQRコードと同じサイズのテキストフレームを用意します。
ここでは『病気がみえる』の本文.inddファイルを使用します。8mm四方のテキストフレームを、マスターページ上(重要!)、見開き左右ページのノンブル上部に配置して連結しました。
マスターページから通常のページに戻り、「ファイル>配置」から先ほど作成した「改行だけのtxtファイル」を選択して、カーソルを8mmフレームの上に置いてShiftキーを押すと、カーソルの形状が曲線の矢印に変化します。
この状態でクリックすると、8mmフレームがマスターからオーバーライドされ、ページ上で(改行だけの)テキストが流し込まれます。この工程がないと、インラインオブジェクトを流し込んでも新たなページが生成されません。改行が多かった場合には削除してください。
この、繋がった8mmフレーム内のテキストを全選択した状態で、「QRコードを取り出すためのinddファイル」からテキストフレーム内を全選択してコピーペーストすると、
1フレームに1つのQRコードがインラインオブジェクトとして流し込まれます!
各ページに正しいQRコードが流し込まれているかどうかは、「リンク」ウィンドウまたはお手持ちの端末のQRコードリーダーで確認してみてください。最初と最後のページを確認して問題なければOKかと思います。
あとはパッケージするなり、QRコードaiファイルを必要な「Links」フォルダに手動で移すなりして、リンクが切れないようにしてください。
この方法では1つの.inddファイルに対して1つの.xmlファイルを作成し、QRコードを流し込む必要がありますが、手動でリンク配置するよりは正確性が上がるかな〜と思います。
実際の工数と感想
というわけで、JavaScriptを使わず、データ結合とXML組版を活用してQRコードを生成&流し込む方法の紹介でした。
『病気がみえる』シリーズの新刊『からだがみえる』(本文約800ページ)で実際に行った結果、
QRコード.aiの生成:約1時間
QRコード全ページ流し込み:約1人日
という工数でした。
今回は、「QRコードを生成する部署と流し込む部署が違っても対応できるように…」ということでこのような手順にしましたが、2022年秋以降はChatGPTの登場によって非プログラマーが比較的容易にスクリプトを作れるようになったため、現在はJavaScriptによるQRコード配置、もしくは直接生成を行っています。次回(最終回)ご紹介したいと思います。
追記)最終話を公開しました。下のリンクからどうぞ!
本記事の作成にあたっては、下記のページを参考にさせていただきました。
IllustratorやInDesignでQRコードを扱う
※QRコードは(株)デンソーウェーブの登録商標です。