136 lines
4.3 KiB
Python
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);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |