求Adobe Illustrator CC图层内对象按字母排序脚本
Adobe Illustrator 对象按字母排序脚本解决方案
需求说明
- 对Adobe Illustrator中选中的同层级对象(路径、复合路径、组)按字母排序
- 适用场景:单个图层,所有待排序对象处于同一层级(如地图矢量图)
- 解决痛点:此前找到的社区脚本运行报错,无法自行修复
可用脚本代码
将以下代码保存为.jsx格式文件(例如SortObjectsByName.jsx):
// Adobe Illustrator 选中对象按字母排序脚本 #target illustrator try { var doc = app.activeDocument; var selectedItems = doc.selection; if (selectedItems.length === 0) { alert("请先选中需要排序的对象!"); exit(); } // 按对象名称字母排序(忽略大小写,如需区分可删除toLowerCase()) selectedItems.sort(function(a, b) { var nameA = a.name.toLowerCase(); var nameB = b.name.toLowerCase(); if (nameA < nameB) return -1; if (nameA > nameB) return 1; return 0; }); // 将排序后的对象重新排列顺序 var parent = selectedItems[0].parent; for (var i = 0; i < selectedItems.length; i++) { selectedItems[i].move(parent, ElementPlacement.PLACEATEND); } alert("排序完成!"); } catch(e) { alert("运行出错:" + e.message); }
使用步骤
- 打开目标Illustrator文件,选中所有需要排序的对象
- 点击菜单栏「文件」→「脚本」→「其他脚本」,选择保存好的
.jsx文件 - 等待脚本运行,完成后会弹出提示,对象已按名称字母顺序排列
注意事项
- 确保选中对象处于同一层级,否则排序结果可能不符合预期
- 脚本默认按忽略大小写的字母顺序排序,如需区分大小写,可删除代码中
.toLowerCase()部分 - 运行前建议保存文件,避免意外数据丢失
内容的提问来源于stack exchange,提问作者dorky
相关产品推荐
相关产品推荐

