简短的回答是您无法使用 Scripting Bridge 在 Photoshop 中打开文档。
Apple的文档真的像它一样拼写出来。所有类都必须有一个容器,它是一个可变数组,需要先将它们添加到该容器中,然后才能对其进行操作,如生成的标题中所示...
@interface photoshopCS4Application : SBApplication
- (SBElementArray *) documents;
- (SBElementArray *) fonts;
- (SBElementArray *) notifiers;
...这就是我们可用的顶级容器的完整列表。该open
命令需要生成photoshopCS4OpenOptions
和填充。因为 API 没有公开数组来存储新创建的 photoshopCS4OpenOptions 对象,所以我们不能使用新创建的photoshopCS4OpenOptions
对象。因此,我们无法制作目标文档,并且通过扩展无法使用open
Scripting Bridge 中的命令。所有需要某种选项对象的命令也是如此。
我整理出的唯一解决方法是使用从 Cocoa 或 objc-appscript 调用的本机 Applescript 打开一个文档,然后解析documents
数组以查找刚刚打开的那个。它并不理想,但 Scripting Bridge 也不是,因为它要求应用程序开发人员以一种非 OSA 框架原生的非常特定的方式编写脚本 API。