首页 > 解决方案 > 如何在 macOS 预览应用程序中使用 JavaScript for Automator (JXA) 保存图像?

问题描述

预览应用程序中打开了一张图像,但未保存。

我已经通过在脚本编辑器中构建和运行独立脚本来尝试此代码:

var preview = Application('Preview')
var preview.documents[0].close({ saving: true, savingIn: '/Volumes/USB Drive/Untitled-Image.png' })

我在日志中看到了这个

app = Application("Preview")
    app.documents.at(0).Symbol.toPrimitive()
        --> Error -1700: Can't convert types.
    app.documents.at(0).Symbol.toPrimitive()
        --> Error -1700: Can't convert types.

但是,我不确定我是否正确阅读了文档,也不确定如何进一步调试此代码。一个令人满意的选择是发送一个按键来保存,然后单击保存按钮。

如何将预览中的图像保存到文件中?

标签: javascriptmacosautomatormacos-mojavejavascript-automation

解决方案


可以在 JavaScript 中使用 推测性地声明路径Path('...'),然后使用save命令将图像保存到将在该路径处创建的文件中:

Preview = Application('com.apple.Preview');
ImageFilepath = Path('/Users/CK/Pictures/Preview_SavedImage.jpg');
Preview.documents[0].save({ in: ImageFilepath });

推荐阅读