2016年04月07日

データ結合後のレイアウトからテキストを抽出する

DTP作業者にとっての難易度 ★★★★☆(4)

InDesignのデータ結合は、定型フォーマットが並ぶレイアウトを作成する際にとても便利な機能です(データ結合については「定形フォーマットが並ぶレイアウトを作成する(データ結合)」を参照ください)。しかし、残念ながらInDesignにはデータ結合後のレイアウトからデータベースを再生成(書き出し)する機能は存在しません。このため、レイアウトを組んだ後に編集者の方から修正指示が入った場合、元のデータベースの内容とレイアウト上の内容が一致しなくなってしまいます。

私はこれまで、この問題を解決するためには「修正がある場合は元のデータベースを修正し、あらためてデータ結合し直す」か「修正がある場合は元のデータベースとInDesignデータに同じ修正を加える」という2つの方法しかないと思ってきました。しかし前者は、初回のデータ結合後にInDesign上でおこなった文字間調整や画像位置の調整などがすべて破棄されてしまう(データ結合のたびに同じ調整をする必要がある)点が問題です。後者では、元のデータベースとInDesignデータに対しておこなった修正作業が間違いなく同じだという確証が得られません(一方だけ修正される可能性などがあります)。

今回はInDesignの文字スタイル機能、オブジェクトスタイル機能とHTML書き出し機能を使ってデータ結合後のレイアウトからテキストを抽出する方法を考えてみました。
0406.png

以下、動画をご覧ください。

後で取り出せるよう、InDesign上では各テキストに文字スタイルを適用しておきます。「s01_code」などのように文字スタイル名を英数字にしておけば、そのままHTMLのタグに反映されます。なお、グラフィックフレームにはオブジェクトスタイルを適用しておきます。

書き出したHTMLファイルはJeditの複数一括置換で処理してデータベースの体裁に整えています。途中でExcelを使用して縦横を入れ替えています。

※VBAなどを使える方であれば一連の作業をもっと合理的に処理できるようにも思います。今回は私にできる範囲でやってみました。


実際に業務で使用するには、いろいろな検証が必要だと思います。まずは「こんなやり方もある」ということで、何か新しい手法を考える際のヒントにしていただければ幸いです。
サンプルデータはこちら《2016_0406_minimum.zip》です。

【2016.4.7追記】

アンカーされたグラフィックフレーム内の画像や、さまざまなファイル形式の画像に対応するための作業を追加しました。

なお、動画内で触れているAJABONさんのJavaScript(ドキュメント内のアンカーつきオブジェクトを内容の単一リンクファイル名に置換するもの)については【このサイト】の「ドキュメント内のアンカーつきオブジェクトを内容の単一リンクファイル名に置換する」をご覧ください。
サンプルデータ(0407更新版)はこちら《2016_0407_minimum.zip》です。
posted by 照山裕爾 at 00:20| Comment(0) | TrackBack(0) | InDesign-その他の機能 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/436305504

この記事へのトラックバック