2011-01-14 11 views
5

एक और .jsx स्क्रिप्ट निष्पादित करते समय मेरी .jsx स्क्रिप्ट कैसे हो सकती है?एडोब इनडिज़ीन .jsx स्क्रिप्ट निष्पादित .jsx स्क्रिप्ट

हो सकता है कि इस बात को समझ मैं क्या करने की कोशिश कर रहा हूँ में मदद मिलेगी:

// WebCard.jsx file 

function mySnippet(){ 
    //<fragment> 
    var myPageName, myFilePath, myFile; 
    var myDocument = app.documents.item(0); 
    var myBaseName = myDocument.name; 
    for(var myCounter = 0; myCounter < myDocument.pages.length; myCounter++){ 
     myPageName = myDocument.pages.item(myCounter).name; 
     app.jpegExportPreferences.jpegExportRange = ExportRangeOrAllPages.exportRange; 
     app.jpegExportPreferences.resolution = 96; 
     app.jpegExportPreferences.pageString = myPageName; 

      switch(myPageName) { 
     case "1" : myPageName = "EN FRONT WebCard"; 
      docType = "Web/Web Cards" break; 
     case "2" : myPageName = "EN BACK WebCard"; 
      docType = "Web/Web Cards" break; 
     case "3" : myPageName = "ES FRONT WebCard"; 
      docType = "Web/Web Cards" break; 
     case "4" : myPageName = "ES BACK WebCard"; 
      docType = "Web/Web Cards" break; 

    } 
     fileName = group + " " + myPageName + " " + date + ".jpg"; 

     myFilePath = dirPath + docType + "/" + fileName; 
     myDocument.exportFile(ExportFormat.jpg, File(myFilePath), false); 
    } 
    //</fragment> 
} 
//</snippet> 
       // execute PrintCard.jsx file 


//<teardown> 
function myTeardown(){ 
} 
//</teardown> 

आशा है कि मदद करता है?

उत्तर

3

यहां कुछ स्क्रिप्ट्स लॉन्च करने के लिए उपयोग किए गए कुछ विस्तारक स्क्रिप्ट का एक खंड है; मैं में प्रभाव के बाद यह का उपयोग किया है, लेकिन यह शायद, बहुत InDesign में काम करते हैं:

var theScriptFile = new File("/path/to/file.jsx"); 

var oldCurrentFolder = Folder.current; 
Folder.current = theScriptFile.parent; 

theScriptFile.open(); 
var theScriptContents = theScriptFile.read(); 
theScriptFile.close(); 

gCurrentScriptFile = theScriptFile; 

if(doDebug) 
    debugger; 

// You have entered the debugger in Launcher... 
// to debug the script you've launched, step 
// into the eval() function below. 
// 
eval("{" + theScriptContents + "}"); 

Folder.current = oldCurrentFolder; 
gCurrentScriptFile = ""; 

दृष्टिकोण फ़ाइल को पढ़ने और यह eval है। (पी एस एक और अच्छा टैग यहाँ ExtendScript किया जाएगा।) यह भी देखें: http://omino.com/pixelblog/2007/11/15/binary-files-in-extendscript/

+0

मुझे पढ़ने में कुछ परेशानी हो रही है, मैं उस स्क्रिप्ट को कहां रखूंगा जिसे मैं लॉन्च करना चाहता हूं (PrintCard.jsx)? – jmituzas

+0

var theScriptFile = नई फ़ाइल ("/ पूर्ण/पथ/से/PrintCard.jsx"); लेकिन ... आपको पूर्ण पथ की आवश्यकता हो सकती है ... एडोब ऐप्स सापेक्ष पथों के बारे में अलग व्यवहार कर सकते हैं; यह देखने के लिए कि क्या आप नई फ़ाइल ("../ PrintCard.jsx") या इसी तरह की कर सकते हैं, आपको इनडिज़ीन के साथ प्रयोग करना होगा; यदि संभव हो, तो मुझे लगता है कि पूर्ण पथ से बचने की कोशिश करें। –

+0

हाहाहा मुझे इसे फिर से पढ़ना चाहिए क्योंकि आपने कहा था: नई फ़ाइल ("/ path/to/file.jsx"); - इसके बारे में खेद है ... – jmituzas

5

आप आसानी से एक और स्क्रिप्ट और इस बिंदु पर निष्पादित किया जाएगा शामिल कर सकते हैं, जहां आप इसे में शामिल हैं:

// ... Do something (will be executed before teardown script) 


#include "../path/to/teardown/script.jsx" 
// the path can be absolute or relative. 

इस InDesign में काम करना चाहिए सीएस 3 ऊपर से।

+0

मेरे लिए पूरी तरह से काम करता है! धन्यवाद! – Syjin

संबंधित मुद्दे