准备:
开发工具:Adobe UXP Developer Tool
ps:2022版本
官方模板:https://github.com/AdobeDocs/uxp-photoshop-plugin-samples
官方文档:Document
【使用UXP所创建的框架开发(包含有效 ID)】
【Plugin指编译后dist文件中的manifest.json】
注意点:
1.报错
Error: error:0308010C:digital envelope routines::unsupported
改用node16+版本
2.新增文件或图层无效:
任何会修改文档或应用程序状态的命令必须使用executeAsModal作为模式执行
async function makeDefaultDocument(executionContext) {
const app = require('photoshop').app;
// 新建文件
await app.documents.add();
}
await require('photoshop').core.executeAsModal(makeDefaultDocument);
3.打包
利用UXP开发工具进行package操作获得.ccx文件,将该文件提交到Creative Cloud 插件市场
例子:批量导出图片demo
function evBatchExport() {
// 通过遍历所有文件进行批量导出图片
const app = require('photoshop').app;
// 获取所有文件
const activeDocuments = app.documents;
activeDocuments.forEach(async (item, index) => {
require('photoshop').core.executeAsModal(async () => {
// 获取当前文档对象
const currentDocument = activeDocuments[index]
// 对系统上的文件或文件夹进行访问
const fs = require('uxp').storage.localFileSystem
// getFileForSaving 保存
let entryJPG = await fs.getFileForSaving(`target_${index}.jpg`);
if (!entryJPG) return
// 保存为高质量的jpg图片
currentDocument.saveAs.jpg(entryJPG, { quality: 12 }, true);
})
})
}