完成执行另一个.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>
希望有帮助吗?
答案 0 :(得分:5)
您可以轻松地包含另一个脚本,该脚本将在您包含它的位置执行:
// ... Do something (will be executed before teardown script)
#include "../path/to/teardown/script.jsx"
// the path can be absolute or relative.
这应该可以在CS3向上的InDesign中使用。
答案 1 :(得分:3)
这是我用来启动其他脚本的一些ExtendScript的片段;我在After Effects中使用它,但它也可能在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 = "";
方法是读取文件并评估它。 (P.S.另一个好的标签是ExtendScript,在这里。)另见:http://omino.com/pixelblog/2007/11/15/binary-files-in-extendscript/