|
OS10.4.11 CS3 OS10.5.8 CS3, CS4 で確認
スクリプティングガイドに記載されているイベントの例文『「beforePrint」eventListener の例』をStartupScripts CSx/Adobe InDesign フォルダに保存してアプリケーションを起動したところ、出るべきダイアログがプリント前に3回出るので困りました。 app.eventListeners.length など逐一覗いてみていると、length=4 となっており、以後プリント作業をするたび4ずつ増加しているようです。 スクリプトパネル上から実行すると期待通りに動作するようです。 原因と対策についてわかる方、教えて頂けると助かります。
例文をペーストしておきます。よろしくどうぞ
//BeforePrint.jsx //An InDesign CS3 JavaScript #targetengine "session" //Adds an event listener that performs a preflight check //on a document before printing. If the preflight check fails, //the script gives the user the opportunity to cancel the print job. main(); function main(){ var myEventListener = app.eventListeners.add("beforePrint", function(myEvent){ //The parent of the event is the document. var myDocument = myEvent.parent; if(myPreflight(myDocument) == false){ myEvent.stopPropagation(); myEvent.preventDefault(); alert("Document did not pass preflight check.Please fix the problems and try again."); } else{ alert("Document passed preflight check. Ready to print."); //myDocument.print(true); } function myPreflight(myDocument){ var myPreflightCheck = true; var myFontCheck = myCheckFonts(myDocument); var myGraphicsCheck = myCheckGraphics(myDocument); alert("Fonts: " + myFontCheck + "\r" + "Links:" + myGraphicsCheck); if((myFontCheck == false)||(myGraphicsCheck == false)){ myPreflightCheck = false; } return myPreflightCheck; } function myCheckFonts(myDocument){ var myFontCheck = true; for(var myCounter = 0; myCounter < myDocument.fonts.length; myCounter++){ if(myDocument.fonts.item(myCounter).status !=FontStatus.installed){ myFontCheck = false; } } return myFontCheck; } function myCheckGraphics(myDocument){ var myGraphicsCheck = true; for(var myCounter = 0; myCounter < myDocument.allGraphics.length;myCounter++){ var myGraphic = myDocument.allGraphics[myCounter]; if(myGraphic.itemLink.status != LinkStatus.normal){ myGraphicsCheck = false; } } return myGraphicsCheck; } }, true ); }
|
No.6309 2011/11/18(Fri) 12:59:24
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4
|
Re: JavascriptでEventListenerでbeforePrint / (z-)  |
|
|
|
…自己解決しました アプリケーションのScriptsフォルダ内に「StartupScripts」フォルダを作成し、その中に置いておく事で正常動作しました。 HDD→ライブラリ→Application Support→Adobe→Startup Scripts CS3→Adobe InDesign 内に入れてました。。 働いておわびします orz
|
No.6312 2011/11/18(Fri) 15:53:25
Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10_4_11; ja-jp) AppleWebKit/533.19.4 (KHTML, like Gecko) Version/4.1.3 Safari/533.19.4
|
|