Files
DP/tempdemo/psmark/JSX20.py

136 lines
4.3 KiB
Python

dxf20_jscode = """
function 混排通码延申导出() {
var 主文档 = app.activeDocument;
var 主文档路径 = 主文档.path;
var 新文件夹 = (主文档路径 + "/小片裁片"); // 在桌面上创建一个名为"导出目录"的文件夹
var 导出目录 = Folder(新文件夹);
if (!导出目录.exists) {
导出目录.create();
}
var doc = app.activeDocument;
// 获取所有图层
var layers = doc.layers;
// 存储符合条件的图层组
var matchingLayerSets = [];
// 遍历每个图层
for (var i = 0; i < layers.length; i++) {
var layer = layers[i];
// 如果是图层组,检查名称是否包含 "大货裁片"
if (layer.typename == "LayerSet" && layer.name.indexOf("大货裁片") !== -1) {
matchingLayerSets.push(layer);
// 输出图层组名称
$.writeln("图层组名称:" + layer.name);
图层组名称=layer.name
// 输出图层组内子图层的名称
for (var j = 0; j < layer.layers.length; j++) {
var subLayer = layer.layers[j];
$.writeln(" 子图层名称:" + subLayer.name);
子图层名称=subLayer.name
子图层名称分割=子图层名称.split("-")
素材图名称=子图层名称分割[0]
空白裁片模板 = app.activeDocument.layerSets.getByName(图层组名称).layers.getByName(子图层名称);
app.activeDocument.activeLayer = 空白裁片模板;
载入选区()
素材名称 = app.activeDocument.layers.getByName(素材图名称);
app.activeDocument.activeLayer = 素材名称;
添加图层蒙版()
新建文档()
当前花样图层 = app.activeDocument.activeLayer
app.activeDocument.crop( 当前花样图层.bounds, 0);
var 文件路径 = 导出目录 + "/" + 子图层名称 + ".tif";
tiffOptions = new TiffSaveOptions();
app.activeDocument.saveAs(new File(文件路径), tiffOptions);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
app.activeDocument=doc
历史记录回退3()
}
}
}
// 输出符合条件的图层组数量
//$.writeln("符合条件的图层组数量:" + matchingLayerSets.length);
}
function 载入选区() //载入选区
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putProperty(stringIDToTypeID("channel"), stringIDToTypeID("selection"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("transparencyEnum"));
d.putReference(stringIDToTypeID("to"), r1);
executeAction(stringIDToTypeID("set"), d, DialogModes.NO);
}
function 添加图层蒙版() //添加图层蒙版
{
var d = new ActionDescriptor();
d.putClass(stringIDToTypeID("new"), stringIDToTypeID("channel"));
var r = new ActionReference();
r.putEnumerated(stringIDToTypeID("channel"), stringIDToTypeID("channel"), stringIDToTypeID("mask"));
d.putReference(stringIDToTypeID("at"), r);
d.putEnumerated(stringIDToTypeID("using"), stringIDToTypeID("userMaskEnabled"), stringIDToTypeID("revealSelection"));
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
function 新建文档() //复制图层
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putClass(stringIDToTypeID("document"));
d.putReference(stringIDToTypeID("null"), r);
var r1 = new ActionReference();
r1.putEnumerated(stringIDToTypeID("layer"), stringIDToTypeID("ordinal"), stringIDToTypeID("targetEnum"));
d.putReference(stringIDToTypeID("using"), r1);
d.putInteger(stringIDToTypeID("version"), 5);
executeAction(stringIDToTypeID("make"), d, DialogModes.NO);
}
function 历史记录回退3() //
{
var d = new ActionDescriptor();
var r = new ActionReference();
r.putOffset(stringIDToTypeID("historyState"), -2);
d.putReference(stringIDToTypeID("null"), r);
executeAction(stringIDToTypeID("select"), d, DialogModes.NO);
}
"""