2024-05-14 04:29:07 发布
网友
小结:
有没有一种方法可以使用execute()函数将参数传递给Python脚本,并让Python脚本在执行过程中使用该参数,然后将结果返回到ExtendScript?在
上下文: 我正在为Illustrator构建一个脚本,它必须查询web服务,处理结果XML文件,并将结果返回给用户。如果我使用一个支持套接字特性的应用程序,这将很容易,但是Illustrator不支持,我的下一个想法是,我可以用Python实现HTTP请求和XML解析。我不知道如何把两者联系起来。在
我不得不做这样的事情来运行一个外部的PNG处理器从Photoshop和Illustrator。这两个应用程序都不能从ExtendScript执行外部程序。(参见选项2。)adobebridge的app对象有一个system方法,可以在系统shell中执行命令。使用BridgeTalk对象,可以从Illustrator远程调用该方法。不过,你只会得到退出代码作为回报。所以您需要将程序的输出重定向到一个文件,然后在脚本中读取该文件。在
app
system
BridgeTalk
下面是一个使用BridgeTalk和Adobe Bridge运行外部程序的示例:
var bt = new BridgeTalk(); bt.target = 'bridge'; bt.body = 'app.system("ping -c 1 google.com")'; bt.onResult = function (result) { $.writeln(result.body); }; bt.send();
我后来发现的,不敢相信我错过了。File类有一个打开或执行文件的execute实例方法。这可能对你有用,尽管我自己还没试过。在
File
execute
Extendscript不支持套接字,下面是代码片段
reply = ""; conn = new Socket; // access Adobe’s home page if (conn.open ("www.adobe.com:80")) { // send a HTTP GET request conn.write ("GET /index.html HTTP/1.0\n\n"); // and read the server’s reply reply = conn.read(999999); conn.close(); }
选项1(BridgeTalk)
我不得不做这样的事情来运行一个外部的PNG处理器从Photoshop和Illustrator。
这两个应用程序都不能从ExtendScript执行外部程序。(参见选项2。)adobebridge的app
对象有一个system
方法,可以在系统shell中执行命令。使用BridgeTalk
对象,可以从Illustrator远程调用该方法。不过,你只会得到退出代码作为回报。所以您需要将程序的输出重定向到一个文件,然后在脚本中读取该文件。在下面是一个使用
BridgeTalk
和Adobe Bridge运行外部程序的示例:专业人士
缺点
方案2(文件.prototype.execute)在
我后来发现的,不敢相信我错过了。
File
类有一个打开或执行文件的execute
实例方法。这可能对你有用,尽管我自己还没试过。在专业人士
缺点
Extendscript不支持套接字,下面是代码片段
相关问题 更多 >
编程相关推荐