我想动态更改photoshop中图层的文本并以PNG格式导出。 但是,我无法想出一种方法将参数传递给我的jsx脚本。 我运行以下命令,但参数"图层文本"没有传递给jsx脚本。
arguments.length 始终为 0 。
ExtendScript\ Toolkit -run ps.jsx "layer text"
ps.jsx
#target photoshop
// debug level: 0-2 (0:disable, 1:break on error, 2:break at beginning)
$.level = 1;
var doc = app.open(new File('image001.psd'));
app.activeDocument.artLayers[0].textItem.contents = arguments[0];
var file = new File("./PhotoshopLayers/image.png");
var saveOptions = new PNGSaveOptions();
doc.saveAs(file, saveOptions, true, Extension.LOWERCASE);
答案 0 :(得分:0)
我不知道如何通过estk命令行传递参数
但我偶尔会使用subtleGradient/node-photoshop: Control Adobe Photoshop and After Effects from Node.js来解决类似的问题。
这是一个例子
然后安装nodejs
cd ~/Desktop; mkdir test
$ npm install photoshop
写app.js
// ~/Desktop/test/app.js
function main(){
var doc = app.open(new File('~/Desktop/test/image001.psd'));
app.activeDocument.artLayers[0].textItem.contents = arguments[0];
var file = new File("~/Desktop/test/PhotoshopLayers/image.png");
var saveOptions = new PNGSaveOptions();
doc.saveAs(file, saveOptions, true, Extension.LOWERCASE);
return file
}
var photoshop = require("photoshop");
photoshop.invoke(main, [process.argv[2]], function (e,r) {
if (!e) {
console.log(r);
}
})
$ node app.js "layer text"
谢谢你
毫克