7

Extendscriptスクリプト内から呼び出す必要のあるPythonスクリプトがあります。これを実行できるライブラリ関数はありますか?ドキュメントや他の多くのオンラインリソースで解決策を見つけようとしましたが、これまでのところ何もうまくいきませんでした。どんな助けでも大歓迎です。

4

2 に答える 2

5

ExtendScript File オブジェクトには、すでに Fabian によって示されているように、execute() メソッドがあります。私は .term ファイルについて知らなかったので、代わりに .command ファイルを使用していたでしょう。これは、XML ではなく単純なシェル スクリプトです。

InDesign 内で実行している場合は、Terminal.app をバイパスして AppleScript を使用できます。

myScript = 'do shell script "diff f1 f2 > o" ';
app.doScript(myScript, ScriptLanguage.applescriptLanguage);
于 2013-01-21T18:40:55.143 に答える
5

この例を見てください。スクリプト ファイルの隣に.term
ファイル を作成し、実行します。

これはきれいなバージョンです:

main();
function main() {
  var script_file = File($.fileName); // get the full path of the script
  var script_folder = script_file.path; // get the path from that
  var new_termfile = createTermFile("execute_something", script_folder);
  new_termfile.execute(); // now execute the termfile
}
/**
 * creates a .term file
 * @param  {String} term_file_name --> the name for the .term file
 * @param  {Strin} path --> the path to the script file
 * @return {File}                the created termfile
 */
function createTermFile(term_file_name, path) {
/*
http://docstore.mik.ua/orelly/unix3/mac/ch01_03.htm
1.3.1.1. .term files
You can launch a customized Terminal window from the command line by saving some prototypical Terminal settings to a .term file,
then using the open command to launch the .term file (see "open" in Section 1.5.4, later in this chapter).
You should save the .term file someplace where you can find it later, such as ~/bin or ~/Documents.
If you save it in ~/Library/Application Support/Terminal, the .term file will show up in Terminal's File  Library menu.
To create a .term file, open a new Terminal window, and then open the Inspector (File  Show Info, or -I)
and set the desired attributes, such as window size, fonts, and colors. When the Terminal's attributes
have been set, save the Terminal session (File Save, or -S) to a .term file (for example, ~/Documents/proto.term).
Now, any time you want to launch a Terminal window from the command line, you can issue the following command:
 */
  var termfile = new File(path + "/" + term_file_name + ".term");
  termfile.open("w");
  termfile.writeln(
      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
      "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\"" +
      "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" +
      "<plist version=\"1.0\">\n" +
      "<dict>\n" +
      "<key>WindowSettings</key>\n" +
      "<array>\n" +
      " <dict>\n" +
      "<key>CustomTitle</key>\n" +
      "<string>My first termfile</string>\n" +
      "<key>ExecutionString</key>\n" +
      "<string>python\nprint \"Hello World\"\nexit()</string>\n" +
      "</dict>\n" +
      "</array>\n" +
      "</dict>\n" +
      "</plist>\n");
  termfile.close();
  return termfile;
};
于 2013-01-21T14:32:26.347 に答える