AI脚本绘制专色色标.jsx 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // AI脚本绘制专色色标.jsx By 捞鱼吧 bbs.lyvba.com
  2. // 获取当前文档
  3. var doc = app.activeDocument;
  4. // 当前图层
  5. var currentLayer = doc.activeLayer;
  6. // 创建 白颜色
  7. var mm = 25.4 / 72; // pt 和 mm 转换系数
  8. var myFont = textFonts.getByName("MicrosoftYaHei");
  9. var white = new CMYKColor();
  10. // 准备绘制的位置
  11. var xOffset = 0;
  12. var yOffset = 0;
  13. var blockWidth = 120;
  14. var blockHeight = 30;
  15. var spacing = 10;
  16. // 排除的注册色
  17. var excludedColorName = "[套版色]"; // 可根据需要修改
  18. // 遍历文档颜色盘
  19. for (var i = 0; i < doc.swatches.length; i++) {
  20. var swatch = doc.swatches[i];
  21. // 检查是否是专色且不是注册色
  22. if (swatch.color.typename === "SpotColor" && swatch.name !== excludedColorName) {
  23. // 创建一个矩形
  24. var rect = currentLayer.pathItems.rectangle(yOffset, xOffset, blockWidth, blockHeight);
  25. // 填充专色
  26. rect.fillColor = swatch.color;
  27. // 添加文本
  28. var txt = currentLayer.textFrames.add();
  29. txt.contents = swatch.name; // 使用专色名称
  30. txt.top = yOffset - 2; // 设置文本位置
  31. txt.left = xOffset + 3; // 与色块对齐
  32. txt.textRange.fillColor = white; // 设置文本填充白 颜色
  33. txt.textRange.characterAttributes.textFont = myFont;
  34. // 更新 xOffset 以便绘制下一个色块
  35. xOffset += blockWidth + spacing;
  36. // 如果超出画布宽度,则换行
  37. if (xOffset > doc.width - blockWidth) {
  38. xOffset = 0;
  39. yOffset -= (blockHeight + spacing + 15); // 额外留出空间给文本
  40. }
  41. }
  42. }
  43. // 提示用户完成
  44. // alert("专色色块及其色号已绘制完成。");