2017年02月10日

JavaScriptでInDesign上に集合棒グラフを描く

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

先に書いた『JavaScriptでInDesign上に円グラフを描く』『JavaScriptでInDesign上に折れ線グラフを描く』『JavaScriptでInDesign上に積み上げ棒グラフを描く』に続いて集合棒グラフを作成してみました。

2017-0210a.png

使い方は基本的に前回の積み上げ棒グラフと同様です。
なお「【2】最小目盛り」の値を「0」以外にした場合、最小値はY軸の途中(原点の10mm上)に表示されます。また、原点と最小値の間に波線が発生します。

※波線のIllustratorファイル「nami.ai」はテキストファイルと同じ階層に置いておく必要があります。



何か使えそうな場面がありましたらお試しください。

※毎度のことですが、自己責任で慎重にお使いください。


サンプルデータはこちら《minimum_2017_0210b.zip》です。
posted by 照山裕爾 at 17:01| Comment(0) | TrackBack(0) | InDesign-その他の機能 | このブログの読者になる | 更新情報をチェックする

2017年02月01日

必要なページを抜き出してまとめるJavaScript

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

データ結合で作成した複数ページのうち必要なものだけを抜き出してまとめることはできないか……と考えていたところ、たけうととおるさんの「ページを移動」という記事に辿り着きました。ここで紹介されているJavaScriptをベースにすればリストに従ってページを別ドキュメントにまとめることができるのではないかと考え、試してみました。

用意するものは【A】元となるInDesignドキュメント(各ページにコードを配置)、【B】抽出リスト(抽出するページのコードを記したテキストファイル)、そして【C】移動先となるInDesignドキュメント(1ページのみで構成されたもの)です。

【C】を表示してJavaScriptを実行し、元となるInDesignドキュメント【A】と抽出リスト【B】を指定することで【A】からページが抽出されて【C】に複製されます。

※このJavaScriptでは【B】のリストに書かれている文字列を検索することで対象ページを特定します。したがって【B】には必ずしも「a001」のようなコードを書く必要はなく、会社名や商品名などを書いても構いません。


サンプルデータはこちら《minimum_2017_0201.zip》です。
posted by 照山裕爾 at 04:57| Comment(0) | TrackBack(0) | InDesign-その他の機能 | このブログの読者になる | 更新情報をチェックする

2017年01月31日

空のフレームをJavaScriptで削除する

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

要素の多いレイアウトを作成する際(たとえばデータ結合によるレイアウト作成時など)、空のテキストフレームやグラフィックフレームをいくつも削除しなければならないケースがあります。今回は、この作業を効率的におこなうJavaScriptを3パターン考えてみました。

【1】空だったらすべて削除する


1つ目は「テキストフレーム、グラフィックフレームが空だったらすべて削除する」というシンプルなJavaScript群です。

※空のテキストフレームを削除するJavaScriptについては「組版時間を半減する! InDesign自動処理実例集」で紹介されているものをご使用ください。同書にはデータのダウンロード先も示されています。

これらのJavaScriptは、空だったら問答無用で削除する……というものです。また、グループ化されている場合は空でも削除されませんのでご注意ください。

【2】塗り色(スウォッチ)で探し、空だったら削除する


2つ目は、塗り色(スウォッチ)でフレームを探し、空だったら削除するJavaScriptです。
このJavaScriptでは複数のスウォッチを使って削除対象を切り替えることもできます。また、塗り色をオブジェクトスタイルに登録すれば「削除するか否か」を後で簡単に変更することもできます。ただし【1】と同様、グループ化されている場合は削除されませんのでご注意ください。

【3】name属性で探し、空だったら削除する


3つ目は、name属性でフレームを探し、空だったら削除するJavaScript群です。
このJavaScriptは、グループ化されていても削除が可能だという点が魅力です。一方、name属性はオブジェクトスタイルに登録できませんので作業手順をよく考える必要があります。

※name属性を設定したオブジェクトを複製した場合、name属性は引き継がれます。

※name属性の設定/削除はJavaScriptをご使用いただくのが簡単です。

※テキストフレームのnameとグラフィックフレームのnameは異なる名称にする必要があります(同じnameのまま削除を実行するとエラーになります)。


3つのJavaScript群は、それぞれ長所と短所(注意点)があります。作成されるレイアウトによって使い分けるといいでしょう。
なお、いつものことですがJavaScriptが期待通りの結果につながらないことも考えられます。必ずバックアップをとり、慎重にお試しください(何かあっても当方では責任を負いかねます)。
サンプルデータはこちら《minimum_2017_0130b.zip》です。
posted by 照山裕爾 at 00:13| Comment(0) | TrackBack(0) | InDesign-その他の機能 | このブログの読者になる | 更新情報をチェックする