基于illustrator的jsx脚本,用于更改编组名称

较之前版本优化:

  1. 提取字符串前4位作为编组名称;
  2. 编组内文本自身只有编号的作为编组名称;
var doc = app.activeDocument;
var layers = doc.layers;
for (var i = 0; i < layers.length; i++) { // 遍历所有图层
var layer = layers[i];
     if (layer.name){
        var GItems = layer.groupItems; // 获取图层中的所有编组对象
        for (var j =0 ; j < GItems.length; j++){  
            gItem=GItems[j]
            if (gItem.typename == "GroupItem") {    
                var textFrames = gItem.textFrames; 
                for (var m = 0; m < textFrames.length; m++) { 
                        var textFrame = textFrames[m];
                        var text=textFrame.contents;
                               if(text.charAt(4) ==" "){
                                var gtext=text.substring(0,text.indexOf(" ")); 
                                      gItem.name = gtext;
                                      }
                              else 
                                {gItem.name = text;}
                }
            }
        }
    }
}

//仅方便具体工作而作,若有不同需求@微信号:ygy623885

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Python和win32com库填充颜色的示例代码: ```python import win32com.client # 创建Photoshop应用程序对象 ps_app = win32com.client.Dispatch("Photoshop.Application") # 打开指定的PSD文件 ps_doc = ps_app.Open("C:\\path\\to\\file.psd") # 获取当前文档的图层 ps_layers = ps_doc.Layers # 获取第一个图层 ps_layer = ps_layers[0] # 选择图层 ps_layer.Select() # 填充图层颜色 ps_app.ActiveDocument.Selection.Fill(win32com.client.constants.solidColor) # 保存并关闭文档 ps_doc.Save() ps_doc.Close() ``` 以下是使用JavaScript代码填充颜色的示例: ```javascript // 创建Photoshop应用程序对象 var ps_app = new ActionReference(); ps_app.putClass(charIDToTypeID("capp")); // 执行Photoshop应用程序对象 var ps_app_desc = executeActionGet(ps_app); // 获取应用程序ID var ps_app_id = ps_app_desc.getInteger(stringIDToTypeID("result")); // 创建打开文档命令对象 var open_cmd = new ActionReference(); open_cmd.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt")); // 执行打开文档命令对象 var open_cmd_desc = executeActionGet(open_cmd); // 获取当前打开的文档ID var open_doc_id = open_cmd_desc.getInteger(charIDToTypeID("null")); // 创建文档对象 var ps_doc = new ActionReference(); ps_doc.putIdentifier(charIDToTypeID("Dcmn"), open_doc_id); // 执行文档对象 var ps_doc_desc = executeActionGet(ps_doc); // 获取文档的图层集合 var ps_layers = ps_doc_desc.getObjectValue(stringIDToTypeID("layers")); // 获取第一个图层 var ps_layer = ps_layers.getList(charIDToTypeID("Lyr "))[0]; // 选择图层 var select_layer = new ActionReference(); select_layer.putIdentifier(charIDToTypeID("Lyr "), ps_layer.getObjectValue(charIDToTypeID("layerID"))); var select_desc = new ActionDescriptor(); select_desc.putReference(charIDToTypeID("null"), select_layer); executeAction(charIDToTypeID("slct"), select_desc, DialogModes.NO); // 填充图层颜色 var fill_color_desc = new ActionDescriptor(); fill_color_desc.putEnumerated(charIDToTypeID("Usng"), charIDToTypeID("FlCn"), charIDToTypeID("Clr ")); executeAction(charIDToTypeID("Fl "), fill_color_desc, DialogModes.NO); // 保存文档 var save_desc = new ActionDescriptor(); var save_ref = new ActionReference(); save_ref.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt")); save_desc.putReference(charIDToTypeID("null"), save_ref); executeAction(charIDToTypeID("save"), save_desc, DialogModes.NO); // 关闭文档 var close_desc = new ActionDescriptor(); close_desc.putBoolean(charIDToTypeID("Svng"), false); close_desc.putEnumerated(charIDToTypeID("DlgC"), charIDToTypeID("YesN"), charIDToTypeID("N ")); executeAction(charIDToTypeID("Cls "), close_desc, DialogModes.NO); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值