Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Is there a script to place Used spot colors/WIth name at the bottom of a Artboard?

Advisor ,
Nov 08, 2018 Nov 08, 2018

I may be asking this wrong so i'll attach a picture illustrating what i am looking for. Swatch ID.jpg
Thanks in advance

TOPICS
Scripting
3.2K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Engaged , Nov 08, 2018 Nov 08, 2018

For your convenience....

/////////////////////////////////////////////////////////////////

// Render Swatch Legend v1.3 -- CC

//>=--------------------------------------

//

//  This script will generate a legend of rectangles for every swatch in the main swatches palette.

//  You can configure spacing and value display by configuring the variables at the top

//  of the script.

//   update: v1.1 now tests color brightness and renders a white label if the color is dark.

//   update: v1.2 uses adobe colour

...
Translate
Adobe
Engaged ,
Nov 08, 2018 Nov 08, 2018

You could use this script that is already available... and modify to suit your needs....

Scripting Illustrator: Generate Color Legend from Swatches

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Nov 08, 2018 Nov 08, 2018

For your convenience....

/////////////////////////////////////////////////////////////////

// Render Swatch Legend v1.3 -- CC

//>=--------------------------------------

//

//  This script will generate a legend of rectangles for every swatch in the main swatches palette.

//  You can configure spacing and value display by configuring the variables at the top

//  of the script.

//   update: v1.1 now tests color brightness and renders a white label if the color is dark.

//   update: v1.2 uses adobe colour converter, rather than rgb colour conversion for a closer match.

//   update: v1.3 adds multiple colour space values based on array printColors.

//>=--------------------------------------

// JS code (c) copyright: John Wundes ( john@wundes.com ) www.wundes.com

// copyright full text here:  http://www.wundes.com/js4ai/copyright.txt

//

// Edits by Adam Green (@wrokred) www.wrokred.com

//

//////////////////////////////////////////////////////////////////

doc = activeDocument,

swatches = doc.swatches,

cols = 4, // number of columns in group

displayAs = "RGBColor",  //or "CMYKColor"

printColors = ["RGB", "CMYK", "LAB", "GrayScale"], // RGB, CMYK, LAB and/or GrayScale

colorSeparator = " ", // Character used to separate the colours eg "|" output = R: XXX|G: XXX|B: XXX

textSize = 10, // output text size value in points

rectRef=null,

textRectRef=null,

textRef=null,

swatchColor=null,

w=150;

h=120,

h_pad = 10,

v_pad = 10,

t_h_pad = 10,

t_v_pad = 10,

x=null,

y=null,

black = new GrayColor(),

white = new GrayColor()

;

black.gray = 100;

white.gray = 0;

activeDocument.layers[0].locked= false;

var newGroup = doc.groupItems.add();

newGroup.name = "NewGroup";

newGroup.move( doc, ElementPlacement.PLACEATBEGINNING );

for(var c=2,len=swatches.length;c<len;c++)

{

    var swatchGroup = doc.groupItems.add();

    swatchGroup.name = swatches.name;

    x= (w+h_pad)*((c-2)% cols);

    y=(h+v_pad)*(Math.round(((c)+.03)/cols))*-1 ;

    rectRef = doc.pathItems.rectangle(y,x, w,h);

    swatchColor = swatches.color;

    rectRef.fillColor = swatchColor;

    textRectRef =  doc.pathItems.rectangle(y- t_v_pad,x+ t_h_pad, w-(2*t_h_pad),h-(2*t_v_pad));

    textRef = doc.textFrames.areaText(textRectRef);

    textRef.contents = swatches.name + "\r" + getColorValues(swatchColor);

    textRef.textRange.fillColor = is_dark(swatchColor)? white : black;

    textRef.textRange.size = textSize;

    rectRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );

    textRef.move( swatchGroup, ElementPlacement.PLACEATBEGINNING );

    swatchGroup.move( newGroup, ElementPlacement.PLACEATEND );

}

function getColorValues(c)

{

    if(c.typename)

    {

        if (c.typename == "SpotColor") {

        return getColorValues(c.spot.color);

        };

       

        switch(c.typename)

        {

            case "RGBColor": sourceSpace = ImageColorSpace.RGB; colorComponents=[c.red,c.green,c.blue]; break;

            case "CMYKColor": sourceSpace = ImageColorSpace.CMYK; colorComponents=[c.cyan,c.magenta,c.yellow,c.black]; break;

            case "LabColor": sourceSpace = ImageColorSpace.LAB; colorComponents=[c.l,c.a,c.b]; break;

            case "GrayColor": sourceSpace = ImageColorSpace.GrayScale; colorComponents=[c.gray]; break;

        }

        outputColors = new Array();

        for (var i = printColors.length - 1; i >= 0; i--) {

            targetSpace = ImageColorSpace[printColors];

            outputColors = app.convertSampleColor(sourceSpace, colorComponents, targetSpace,ColorConvertPurpose.previewpurpose);

            for (var j = outputColors.length - 1; j >= 0; j--) {

                outputColors = printColors.charAt(j)+": "+Math.round(outputColors);

                if (j == outputColors.length -1) {

                    outputColors += "\r";

                };

            };

            outputColors = outputColors.join(colorSeparator);

        };

        return outputColors.join("");

    }

    return "Non Standard Color Type";

}

function is_dark(c){

if(c.typename)

{

    switch(c.typename)

    {

        case "CMYKColor":

        return (c.black>50 || (c.cyan>50 &&  c.magenta>50)) ? true : false;

        case "RGBColor":

        return (c.red<100  && c.green<100 ) ? true : false;

        case "GrayColor":

        return c.gray > 50 ? true : false;

        case "SpotColor":

        return is_dark(c.spot.color);

        return false;

    }

}

}

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Nov 08, 2018 Nov 08, 2018
LATEST

I downloaded the ZIP file with all the scripts in it. I am currently Editing this one.  Thank you for this. It seems this will do just what i want it to do.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines