Skip to main content
peterw8614540
Participant
January 19, 2022
Answered

Need a Script to change a specific color to another

  • January 19, 2022
  • 1 reply
  • 361 views

We have to change dozens of booklets done in Illustrator, each with several pages worth of titles and graphic elements from c0 m75 y64 k9  to  c0 m96 y83 k0,  I can't figure out how to make a script work to change a specific fill color to another? Any help would be greatly appreciated!

This topic has been closed for replies.
Correct answer renél80416020

Bonjour Peter,

Une idée...

// JavaScript Document
// meme_fillColor.js
var CO = [0,75,64,9];
var couleur = macmykColor(0,96,83,0);
var docRef = app.activeDocument;
var pathes = docRef.pathItems;
var titres = docRef.textFrames;

   compar(pathes,CO,0);
   compar(titres,CO,1);
// ----
function compar(tabs,CO,d) {
  var obj, color, cyan, magenta, yellow, black;
  for (var i = 0; i < tabs.length; i++) {
    obj = tabs[i];
        color = d ? obj.textRange.fillColor : obj.fillColor;
        if (color.typename == "SpotColor") {
          color = color.spot.color;
        }
        cyan    = Math.round(color.cyan);
        magenta = Math.round(color.magenta);
        yellow  = Math.round(color.yellow);
        black   = Math.round(color.black);
       if (cyan == CO[0] && magenta == CO[1] && yellow == CO[2] && black == CO[3])
          if (d) obj.textRange.fillColor = couleur;
          else obj.fillColor = couleur;
  }
}
// ----
function macmykColor(c,m,j,n)
 { //crée une nouvelle couleur CMJN
  var cmykColor = new CMYKColor();
    with (cmykColor) {
      cyan = c;
      magenta = m;
      yellow = j;
      black = n;
    }
  return cmykColor;
 }
// ----

De elleere

1 reply

renél80416020
renél80416020Correct answer
Inspiring
January 19, 2022

Bonjour Peter,

Une idée...

// JavaScript Document
// meme_fillColor.js
var CO = [0,75,64,9];
var couleur = macmykColor(0,96,83,0);
var docRef = app.activeDocument;
var pathes = docRef.pathItems;
var titres = docRef.textFrames;

   compar(pathes,CO,0);
   compar(titres,CO,1);
// ----
function compar(tabs,CO,d) {
  var obj, color, cyan, magenta, yellow, black;
  for (var i = 0; i < tabs.length; i++) {
    obj = tabs[i];
        color = d ? obj.textRange.fillColor : obj.fillColor;
        if (color.typename == "SpotColor") {
          color = color.spot.color;
        }
        cyan    = Math.round(color.cyan);
        magenta = Math.round(color.magenta);
        yellow  = Math.round(color.yellow);
        black   = Math.round(color.black);
       if (cyan == CO[0] && magenta == CO[1] && yellow == CO[2] && black == CO[3])
          if (d) obj.textRange.fillColor = couleur;
          else obj.fillColor = couleur;
  }
}
// ----
function macmykColor(c,m,j,n)
 { //crée une nouvelle couleur CMJN
  var cmykColor = new CMYKColor();
    with (cmykColor) {
      cyan = c;
      magenta = m;
      yellow = j;
      black = n;
    }
  return cmykColor;
 }
// ----

De elleere

peterw8614540
Participant
January 19, 2022

Wow René Thank you Very Much!! Merci Gratitude!!