如何使用Illustrator Script将swatch设置为Global?

时间:2019-01-15 18:57:43

标签: javascript adobe-illustrator extendscript

我需要添加一个与pathItem紧密链接的色板。但是只有色板为Global才有可能。我需要特殊打印机,该特殊打印机使用特殊墨水在此色板中打印所有pathItem。特殊色板是白色的。而且我无法删除其他白色色板,因为我不需要所有用特殊墨水打印的白色区域。 (我知道我可以手动执行,但我们需要脚本)所以...有人知道如何使用脚本使swatch Global吗?谢谢。

1 个答案:

答案 0 :(得分:0)

我想出了解决方法。它必须是称为Spot的分离对象。 我的代码更加复杂,因此我将粘贴在Adobe论坛上找到的代码,它会更短。 您可以跳过色板的创建,新色板将自动添加与newSpot相同的名称。您可以将色板的颜色分配给pathItem(而不是直接分配给newSpot),现货将链接到pathItem的颜色。

addSpot ('FOIL', 10, 0, 100, 0);  

function addSpot(name, c, m, y, k) {  
    try {  
        swatch = app.activeDocument.swatches[name]; // if swatch exists....  
        addSpot (name+='1', c, m, y, k); // ...add 1 to swatch name  
    }  
    catch (e) {  
        var newSpot = app.activeDocument.spots.add();  
        newSpot.name = name;  

        var newColor = new CMYKColor();  
        newColor.cyan = c;  
        newColor.magenta = m;  
        newColor.yellow = y;  
        newColor.black = k;  


        newSpot.colorType = ColorModel.SPOT;  
        newSpot.color = newColor;  
        var newSpotColor = new SpotColor();  
        newSpotColor.spot = newSpot;  
    }  
}