使用Illustrator为色卡册创建CMYK色卡的脚本需求
Illustrator 脚本实现色卡Y值批量修改与自动生成
一、修改现有图形中所有色块的Y值至指定数值
以下脚本可遍历当前文档中的所有填充色块,保留原有C、M、K数值,仅将Y通道替换为指定数值(需在脚本中修改targetYValue变量):
// 定义目标Y值(范围0-100) var targetYValue = 50; var doc = app.activeDocument; // 遍历所有页面 for (var i = 0; i < doc.pages.length; i++) { var page = doc.pages[i]; // 遍历页面内所有路径项 for (var j = 0; j < page.pageItems.length; j++) { var item = page.pageItems[j]; // 仅处理带CMYK填充的色块 if (item.filled && item.fillColor.typename === "CMYKColor") { var cmyk = item.fillColor; cmyk.yellow = targetYValue; item.fillColor = cmyk; } } } alert("所有色块Y值已修改为" + targetYValue + "%");
使用步骤:
- 打开目标色卡文档,打开「窗口 > 扩展功能 > 脚本」,新建脚本
- 将代码粘贴后,修改
targetYValue为你需要的数值 - 运行脚本完成批量修改
二、自动生成100页Y值递增1%的色卡册
以下脚本基于现有模板页面,自动生成100页文档,每页Y值从0%到99%逐页递增1%:
var sourceDoc = app.activeDocument; var sourcePage = sourceDoc.pages[0]; // 创建新文档存储生成的色卡 var newDoc = app.documents.add(); newDoc.name = "Y值递增色卡册"; // 生成100页,Y值从0%到99% for (var y = 0; y < 100; y++) { var newPage = newDoc.pages.add(); // 复制模板页面的所有元素 sourcePage.pageItems.duplicate(newPage, ElementPlacement.PLACEATBEGINNING); // 修改当前页面所有色块的Y值 for (var j = 0; j < newPage.pageItems.length; j++) { var item = newPage.pageItems[j]; if (item.filled && item.fillColor.typename === "CMYKColor") { var cmyk = item.fillColor; cmyk.yellow = y; item.fillColor = cmyk; } } } alert("100页色卡册已生成,Y值从0%到99%递增");
使用步骤:
- 先准备好一页包含固定C、M、K色块的模板文档
- 运行脚本,自动生成新文档及100页递增色卡
- 脚本会保留模板色块的位置、尺寸等属性,仅修改Y通道数值
注意事项:
- 脚本仅处理带填充的路径项,若色块为复合形状等特殊类型,可调整判断逻辑适配
- 运行前建议备份原文档,避免意外修改
内容的提问来源于stack exchange,提问作者Trevor H
相关产品推荐
相关产品推荐

