selctPreflight.jsxに「ブックレットをプリント」の動作前にも対応できないか? というコメントが「cymkさん」よりなされて、ちょっと調べてるうちに「コレは!?」と思い、「selctPreflightPlus.jsx」をバージョンアップすることを踏み切りました!
イベントリスナーとメニューイベントリスナー
InDesignのイベントリスナーとは、例えばプリント前を登録するなら下記のようなコードを追加すればいいのです。
app.addEventListener("beforePrint", ☆ファンクション名☆, false);
が、、、「ブックレットをプリント」等々は標準のイベントリスナーが用意されてなく別方法をとらねばなりません。
特定のメニュー実行にイベントリスナーを付ける
メニュー名は「$ID/ブックレットをプリント…」(ちゃんと「…」がいるみたいです)。こういう感じで記述します。
app.menuActions.item("$ID/ブックレットをプリント...").addEventListener("beforeInvoke", ☆ファンクション名☆, false);
日本語なのはご愛嬌ということで、許してください。ちゃんと調べたんですよ!? 出た答えが「$ID/kPrintBooklet」なんですが、何故かInDesignちゃんが受け付けてくれないんですよ(泣)。っというわけで何もかも諦めて日本語で記述しています。誰かご存知の方いらっしゃったら、「テリー先輩、オラに良きアドバイスを!」です
スポンサーリンク
お好みのメニュー動作をArray(配列)に記述できる様に!
で、、、「selctPreflightPlus.jsx」では、お好みのメニュー名をArray(配列)で記述しています。下記のような感じですよ(「selctPreflightPlus.jsx」、「selctPreflightPlus-startup.jsx」ともに15行目です…)。
menuList=["$ID/書き出し...","$ID/ブックレットをプリント..."]
デフォルトで「書き出し」と「ブックレットをプリント」にプリフライトのイベントリスナーを登録してします。追加したい方は「 [ ] 」内に「“$ID/☆メニュー名☆”」を追加して下さい。下記のような感じですね、スプレッド全体表示を行うとプリフライトする様にしてみました。
menuList=menuList=["$ID/スプレッド全体","$ID/書き出し...","$ID/ブックレットをプリント..."]
これで、全体表示(ショートカットキー:Ctrl+Alt+0)を実行する前にプリフライトするようになります。ちなみに「selctPreflightPlus.jsx」と「selctPreflightPlus-startup.jsx」のメニュー動作の配列(Array)が揃ってないと、プリフライトプロファイルの切り替えが上手くいきませんのでご注意を!
ついでにちょっと操作感UP!パネルを出します!
プリフライトエラーが発生して、この後の動作をキャンセルするとプリフライトパネルを表示するようにしました。エラー箇所を探すにはどうせ表示させるので一手間減りました。
ダウンロードはいつものところで
大幅パワーアップを果たした管理型イベントリスナー系プリフライト実行スクリプト「selctPreflightPlus.jsx」。ダウンロードは下記リンクから
→web site:shock tm 「あどびのすくりぷと」ページ
さらに便利になった度 ★★★★☆
自分で使ってる度:★★★★☆
スポンサーリンク
More from my site
スポンサーリンク
ご対応いただきありがとうございます!min7 CC2015.4でバッチリ使えております。
使っていて以下の点に気づきました
・おかげ様でライブプリフライトoffで作業できているため、警告ダイアログでno選択時にプリフライトパネルを表示する際、ついでに該当プリフライトプリセットでonにするとさらに親切かと。
・大量のエラーがあるとダイアログが画面をオーバーフローし、yes、noボタンが見えない(笑
(enter、escキーで対応は可能)
エラそうに申し上げましたが何かのお役に立てれば幸いですm(_ _)m
バッチリ使えてるならよかったです!
該当プリセットをonに、、、
なるほどその方が親切ですね。
ちょっとチャレンジしてみます。
ダイアログは、、、、我慢してください(笑)!