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-その他の機能 | このブログの読者になる | 更新情報をチェックする

2017年01月13日

JavaScriptでInDesign上に折れ線グラフを描く

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

※2017.1.12の1時8分頃、サンプルデータを更新しました(折れ線の線端形状と角の形状を丸めました)。

※2017.1.13の14時40分頃、サンプルデータを更新しました(楕円に罫線がつかないよう修正・楕円が折れ線の前面になるよう修正)。

※2017.2.6の22:50頃、サンプルデータを更新しました(凡例表示を追加)。

※2017.7.6にサンプルデータを更新しました(線・円にオブジェクトスタイルが適用されるように改良)。

※2017.7.7にサンプルデータを更新しました(ダイアログに前回の値が残るように改良)。


先に『JavaScriptでInDesign上に円グラフを描く』を書きましたが、その際に「折れ線グラフのほうが簡単なのでは?」と思ったので今回作ってみました。
0112.png

実際に作ってみると円グラフよりも要素が多く数値の範囲が確定できないこともあり、難しい点が多々ありましたが、何とか形にすることができました。
では、動画をご覧ください。

※y軸には「最大値」「最小値」「ゼロ」しか表示されません。間の値が必要な場合は、お手数ですが「最大値」などを複製して作ってください。


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

※円グラフの際は、修正したテキストデータの内容を反映するJavaScriptにもチャレンジしましたが、残念ながら今回はあきらめました。


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