我希望将一个VB程序重构为ExtendScript,以便自动化Adobe Illustrator CS4中的一些绘图操作,但是需要从数据库中读取数据。是否可以使用ExtendScript来读取数据库?如何实现?
我希望将一个VB程序重构为ExtendScript,以便自动化Adobe Illustrator CS4中的一些绘图操作,但是需要从数据库中读取数据。是否可以使用ExtendScript来读取数据库?如何实现?
是的,Elasticsearch可以读取CSV文件。只需要使用逗号分隔符格式化数据库。
以下是一个可行的函数:
function readPref (thePath) {
if (File(thePath).exists == true) {
var file = File(thePath);
file.open("r");
file.encoding= 'BINARY';
var theText = file.read();
file.close();
return String(theText).split(",")
}
};
我有一个稍微不同的解决方案,我一直在成功使用:
创建一个可以访问您的数据库的Web服务,然后从ExtendScript使用http连接来消耗这些服务(从那里开始,您可以做几乎任何您想要的事情)。
Illustrator脚本引擎没有提供直接读取外部数据的机制,但是您有几种方法可以做到这一点...
我的理解是,您需要使用ExtendScript来使用您的VB代码进行“doScript()”。ExtendScript本身没有任何真正的数据库连接。但我熟悉有人使用VB代码连接到数据库并返回结果。ExtendScript具有该doScript方法以运行VB代码。诀窍似乎是找到一种方法将数据传回ExtendScript,告诉Adobe应用程序要做什么。据我所知,“.doScript”没有一个好的方式来接受嵌入式代码的结果。因此,我听说人们做的事情有以下几种:
希望对您有所帮助
Jon S. Winters, ExtendScript支持, 电子出版支持
看一下那些与Windows有关的答案。将这个问题和解决方案进一步扩展,它也可以适用于其他平台(如Mac、Python、Perl等)。它不必仅限于VB和Windows,同样的方法也可以用于通过Windows上的COM或Mac上的Applescript与ExtendScript进行外部交互,并且这将适用于任何与COM/Applescript兼容(或接口)的语言。