首页 > 解决方案 > 我可以使用 Electron 应用程序/JavaScript 控制/编写 InDesign 脚本吗?

问题描述

目前正在研究 Electron,最终目标是控制其他应用程序(如 InDesign)中的动作/脚本。

目前,我的工作流程的一部分使用 Filemaker 来触发控制操作/更改 InDesign 文档的小程序(然后通过 AppleScript 将结果反馈给 filemaker)。

使用 Electron 是否有类似的可能 - 即在 Electron 中触发一个事件(通过用户操作或监视文件夹等),然后使用电子/JavaScript 来“告诉 InDesign”执行一些操作并获得反馈以触发 Electron 中的进一步操作?

标签: javascriptautomationelectronadobe-indesign

解决方案


我没有使用过 Electron,但我们使用nwjs进行了一些开发,这很相似。我们设置它的方式是让 nwjs 执行 VBS 文件(在 Windows 上可以使用命令行可执行 CScript 或 WScript。我不确定 MAC 或 Linux)。VBS 文件要么包含直接在 InDesign 中运行的脚本,要么使用 vbs DoScript 命令来运行外部 jsx 文件,甚至是它们的组合。如果没有 ExtendScript 或 VBS,外部 JSX 文件显然无法直接在 InDesign 中运行。

总之:NWJS -> VBS (-> JSX) -> InDesign。

捕获响应有点麻烦,因为没有直接的方法(我知道)来捕获 jsx 在 InDesign 中运行的时间。但是我们使用了两种不同的方法——一种是在外部数据库中捕获响应(并让 NWJS 读取数据库直到脚本完成),另一种是在 TEMP 位置简单地创建一个文件并让 NWJS 等待它出现。不幸的是,这些都不是异步的,所以如果你需要更动态的东西,它需要更多的工作。


推荐阅读