简而言之,您无法使用Scripting Bridge在Photoshop中打开文档。
苹果的文档真的拼出来就像它一样。所有的类必须具有容器,该容器是一个可变的阵列,它们需要被添加到它们可被作用之前,如图生成的头...
@interface photoshopCS4Application : SBApplication
- (SBElementArray *) documents;
- (SBElementArray *) fonts;
- (SBElementArray *) notifiers;
...,这是我们提供的顶级容器的完整列表。要生成并填充open
命令需要 a photoshopCS4OpenOptions
。由于API不公开阵列以存储新创建的photoshopCS4OpenOptions对象,因此我们无法使用新创建的photoshopCS4OpenOptions
对象。因此,我们无法创建目标文档,并且扩展名不能在脚本桥中使用open
命令。所有需要某种选项对象的命令都可以这样说。
我已经解决的唯一解决方法是打开一个文本,其中包含从Cocoa或objc-appscript调用的本地AppleScript,然后解析documents
阵列寻找刚才打开的文件。这并不理想,但之后也不是Scripting Bridge,因为它要求应用程序开发人员以非OSA框架本身的特定方式编写脚本API。
很酷,这是另一种可以说比我提出的更好的方式。需要注意的是,如果打开成功,OP仍然需要通过`documents`数组来查找刚才打开的文件。 – 2011-01-21 15:31:17