2020年05月21日

複数アイテムを別ドキュメントの同じ位置に複製するスクリプト
(データ結合作業を想定)

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

※2020.5.26/サンプルデータを更新しました(二つのドキュメントのページ数が異なる場合でも実行できるよう修正)。


InDesignのデータ結合で頭を悩ませるのが結合後の修正作業です。データベースとレイアウトの双方を修正しなくてはならず、手数がかかる上に思わぬミス(食い違い)が発生する可能性も否定できません。以前、結合後のレイアウトからデータを抽出する方法(レイアウトだけ修正すればデータベースに反映できる)を模索したこともありますが、なかなか使えるものにはなりませんでした。

そこで今回は発想を変え、文字と画像を分けて考えることにしました。多くの場合、文字についてはデータベースを修正し、あらためてデータ結合を実行すれば(さらに一括検索/置換などの処理を行えば)旧レイアウトと同じ体裁を実現することはさほど難しくないからです。

一方、画像は話が違います。データ結合後に手動でトリミング調整をしたり、フレームの寸法を調整したりしていることが多いため、あらためてデータ結合を実行した場合は同じ作業をやり直さなければなりません。この他、手動で画像を追加しているケースなどもあり、全く同じ状態に仕上げることは困難です。そこで考えたのが「画像については旧レイアウトから複製すれば良いのではないか」ということです。もちろん画像の差し替えなどがあれば手動で処理しなければなりませんが、それ以外の画像についてはトリミング調整などの手間がまったくかからなくなります。

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

複雑なテストはしていませんが、画像専用レイヤーがあるのであれば、そのレイヤーだけを対象にしたほうが処理は速くなるように思います。また、画像の入ったフレームのみに絞ることで更に効率的になるのではないでしょうか。

なお、いくつか注意点があります。以下、動画をご覧ください。

※サンプルデータ内にテキストも用意しましたのでご覧ください。


スクリプトの使用にはリスクもあります。必ずバックアップをとった上でお試しください。また、十分にテストした上でお使いいただけますようお願いします。

※2020.5.26/サンプルデータを更新しました(二つのドキュメントのページ数が異なる場合でも実行できるよう修正)。

2020.5.26サンプルデータはこちら《duplicate_objects_2020_0526a.zip》です。
posted by 照山裕爾 at 05:01| Comment(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする

2020年04月15日

索引語リスト(テキストファイル)から索引を生成する

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

※2020.04.16の05:00頃/サンプルファイルを更新しました(用語内にマーカー等が挟まる時の処理を修正、ノンブル表示順の乱れを修正(複数ストーリー時)、先頭ページのノンブルカウントを修正(横組み片起こし時))。


InDesignドキュメントから索引を生成するには、索引ダイアログに手作業で用語を入力する方法(「索引用のExcelファイルを作成する」を参照)や、あらかじめ文字スタイルなどを適用しておいた箇所をスクリプトで索引化する方法(「文字スタイル部分・下線部分などを索引化する【改良版】」を参照)などがあります。

ただ、レイアウトが完成してしまった後に編集者から「これらの用語を索引化したい」と索引語リストを提示された場合、上記のような方法では効率が良くありません。そこで今回は、索引語リスト(テキストファイル)から索引を生成するスクリプトを作成してみました。

0414a.png


使い方は簡単です。以下、動画をご覧ください。

※検索ダイアログの「正規表現」タブの検索設定が使用されます。意図しない設定が残っていないか確認してから実行してください。

※検索機能を使って用語を探しますので、中には不要なものが含まれているかもしれません。生成したテキストファイルは、かならず編集者の方に確認・調整していただきましょう。


いつものことですが、不備があるかもしれません。かならず十分にテストをした上でご使用ください。

※2020.04.16の05:00頃/サンプルファイルを更新しました。

サンプルデータはこちら《createIndex_2020_0416a.zip》です。
posted by 照山裕爾 at 04:09| Comment(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする

2020年03月10日

複数一括置換スクリプト(新)で小数点第二位を四捨五入する

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

InDesignで検索/置換により小数点第二位を四捨五入する方法を考えてみました。置換の回数が多くなるため、テキスト形式の置換リストを使いスクリプトで連続実行します。なお、複数一括置換のためのスクリプトは以前にも公開しましたが不完全な部分もあったため、今回はシンプルなスクリプトをあらためて作りました。

※不備があるかもしれません。お仕事で使う場合は十分にテストを行い必ずバックアップをとってから作業してください。


InDesignで四捨五入する


サンプルデータ内の「説明_0307a.txt」にも書いたように置換は以下のような内容になっています。コツコツ処理しているだけです。
[1行目]小数点第二位が0〜4の場合、切り捨てる
[2〜11行目]小数点第二位が5〜9の場合、切り上げる
(ただし小数点第一位が9の場合は〓0とする/〓は上の位を1増やす準備)
[12〜21行目]小数点第一位が〓の場合、1の位を1加算
(ただし1の位が9だった場合は〓0とする)
[22〜31行目]ある位が〓0の時、上の位を1加算
(ただし上の位が9だった場合は〓0とする)(カンマがあった場合も処理)
以降22〜31行目と同じ処理を繰り返して〓0を上の位にずらしていく
[112行目]いちばん上の位が〓0の場合、10とする

一般的にはスクリプトのround関数で処理すべき作業だと思うのですが、自信がないため今回の方法をとりました(強引だと思います)。時間があったらround関数による処理も試したいと思っています。

Jeditで四捨五入する


InDesignで使用した置換リストとほぼ同じものを使うとJeditでも四捨五入を実現することができます。

文章中の数字を四捨五入して頭に「約」をつける……などという使い方もできますね(InDesignでやっても構わないのですが)。

複数一括置換の際の注意点


◇置換設定を不用意に使わない


置換設定により「文字列が削除されないケース」「置換が実行されないケース」が生じることがあります。使用を避けたほうが賢明だと思います。


◇検索対象が「選択範囲」の際は注意が必要


検索対象が「選択範囲」の場合、置換後に文字列の一部が選択範囲から外れることがあります。そのまま他の置換を連続実行すると意図通りの置換がおこなわれない可能性があるため注意が必要です。


サンプルデータはこちら《multiReplace_2020_0309b.zip》です。

posted by 照山裕爾 at 05:51| Comment(0) | InDesign-書式・スタイル | このブログの読者になる | 更新情報をチェックする