Auto update colors (from custom swatch library) in documents..

Hi all,
I searched the forums for all I could, but found no solution for this one...
So here goes.
Is there a way to use a 'user defined' swatch library to (auto)update colors in several artworks/files that use that specific swatch library.
I know I could reload and 'merge' all the swatches from the library with the ones used in the file (with the same name).
Select the one you want to keep and then the one you'd like to overwrite, merge!
But here's what I tried and what I think should be possible..
I have twelve files that all use colours from one 'user defined' swatch library ['Human'], so all twelve files have the same 'skin' colour where needed.
Now I need the 'skin' colour (in alle twelve files) to be a shade darker...
My idea was to open the swatch library 'Human' in Illustrator, change the swatch called 'skin' and save.... Presto! All twelve files using this 'skin'colour should now be one shade darker...
But this doesn't seem to work...
Swatches are set to 'global'..
What am I missing or will this be in the 'features requests' part of these forums next?
Oh and I'm working in:
Illustrator CS5, windows 7, 64 bit
Kind regards,
Erik

As far as I know color swatches are referenced from the file itself, they are not like a linked image that can update all files using it. So, with swatches you have to apply the change to each file. Probably should be possible to automate this with a script.

Similar Messages

  • Custom swatch library isn't updating in CC

    I have a big custom swatch library that I'm continually making additions and corrections to. I have it set as persistent, and the library works fine, but it doesn't update when I make changes to it. As far as I can tell, it's still stuck at the point where I upgraded to CC a few months ago. I've tried unchecking persistent, closing the library and Illustrator, then reopening and reinstalling the library, and it's still reverting to the old version.
    Anyone else having this problem?
    I've just upgraded to 17.1 on a Windows 7 Pro machine.

    Hi OuraySportswear,
    Do you have this library file outside of presets folder? Currently this feature sync these libraries from presets folder only.
    Sanjay.

  • Edit custom swatch library

    Hi All,
    This may be a stupid question:
    Once I have created and saved a custom swatch library - lets call it "custom"
    How would I add a new colour to "custom" - or edit a colour value in "custom" - is this new swatch library locked?
    Most frustrating.
    Thank you

    open the library file, just through File > Open. add a swatch to the document. save the document swatches as swatch library

  • How do I script Illustrator to get a PANTONE swatch from a swatch library

    I've been searching high and low, but cannot find the answer to this question.  Quite simply, I need a script to convert all PANTONE spot colors in an Illustrator file into their CMYK equivalents fromthe PANTONE BRIDGE book.
    In order to accomplish this, however, it would seem necessary for the script to search through the various PANTONE swatch library color books to find the one I'm looking for.  I have a String of the one I need, but I don't see how ExtendScript can search within the various swatch libraries (or even just the one library—"PANTONE+ Color Bridge (Un)Coated".  I can only seem to look at swatches that are in the main "Swatches" palette using Document.swatches.  Any ideas?

    I'm afraid that code gives me an 'MRAP' error in the ESTK.  But, I have actually found a way around the problem by utilizing your original suggestion of having a separate file with all of the Pantone swatches added to it so the script can grab that swatch, grab its getInternalColor, turn it into a CMYKColor, then assign the values retrieved from getInternalColor to the new swatch's four Color properties.
    Yes, it's a bit of a roundabout method and takes a lot of code, but it gets the job done quickly, and that's what I need.  Here's the code I have (The "workDoc" has already been assigned to the currently open document.):
    // To finish up, we delete the other two layers beyond the first and then save the file for use as digital printing file.
    // First, delete the two layers.
    workDoc.layers[2].locked = false;
    workDoc.layers[2].remove();
    workDoc.layers[1].locked = true;
    //          workDoc.layers[1].remove();
    // Before grouping and mirroring all of the artwork, it's time to convert all spot colors to process
    // using the PANTONE Bridge book as a reference.
    // First, let's open up the reference document that has all of the PANTONE Bridge book colors as swatches.
    var bridgeDoc = app.open(File("~/Documents/PantoneBridge.ai"));
    // Since attempting to colorize textFrame objects seems to crash Illustrator, we're best off just converting them all to paths anyway.
    var texts = workDoc.textFrames;
    for (var t = 0; t < texts.length; t++)
              texts[t].createOutline();
    var items = workDoc.pathItems;
    for (var i = 0; i < items.length; i++)
              var myPath = items[i];
              if (myPath.fillColor .typename == "SpotColor")
                        try {var procSwatch = workDoc.swatches.getByName(myPath.fillColor.spot.name + "P");}
                                  catch (e) {var procSwatch = addProcSwatch(myPath.fillColor.spot.name + "P", bridgeDoc.swatches);}
                        changePaths(myPath.fillColor.spot.name, procSwatch.color);
              if (myPath.fillColor.typename == "GradientColor")
                        for (var g = 0; g < myPath.fillColor.gradient.gradientStops.length; g++)
                                  var gStop = myPath.fillColor.gradient.gradientStops[g].color;
                                  if (gStop.typename == "SpotColor")
                                            try {var procSwatch = workDoc.swatches.getByName(gStop.spot.name + "P");}
                                                      catch (e) {var procSwatch = addProcSwatch(gStop.spot.name + "P", bridgeDoc.swatches);}
                                            changePaths(gStop.spot.name, procSwatch.color);
              if (myPath.strokeColor .typename == "SpotColor")
                        try {var procSwatch = workDoc.swatches.getByName(myPath.strokeColor.spot.name + "P");}
                                  catch (e) {var procSwatch = addProcSwatch(myPath.strokeColor.spot.name + "P", bridgeDoc.swatches);}
                        changePaths(myPath.strokeColor.spot.name, procSwatch.color);
              if (myPath.strokeColor.typename == "GradientColor")
                        for (var g = 0; g < myPath.strokeColor.gradient.gradientStops.length; g++)
                                  var gStop = myPath.strokeColor.gradient.gradientStops[g].color;
                                  if (gStop.typename == "SpotColor")
                                            try {var procSwatch = workDoc.swatches.getByName(gStop.spot.name + "P");}
                                                      catch (e) {var procSwatch = addProcSwatch(gStop.spot.name + "P", bridgeDoc.swatches);}
                                            changePaths(gStop.spot.name, procSwatch.color);
    var rasters = workDoc.rasterItems;
    var bitmapFound = false;
    var checkForTint = false;
    for (var i = 0; i < rasters.length; i++)
              var myRaster = rasters[i];
              if (myRaster.channels == 1 && myRaster.colorizedGrayscale) {if (myRaster.colorizedGrayscale) {bitmapFound = true;}}
              else if (myRaster.channels < 4 && myRaster.colorizedGrayscale)
                        if (/^PANTONE/.test(myRaster.colorants[0]))
                                  try {var rastSwatch = workDoc.swatches.getByName(myRaster.colorants[0] + "P");}
                                            catch (e) {var rastSwatch = addProcSwatch(myRaster.colorants[0] + "P", bridgeDoc.swatches);}
                                  changeRasters(myRaster.colorants[0], rastSwatch.color);
    if (bitmapFound) {alert("Found at least one colorized raster image in the Digital file.  Please manually change their colorants to CMYK.\nPlease see Chris McGee for more information.");}
    if (checkForTint) {alert("At least one raster image in the art has been converted to CMYK.  However, if its former spot color was tinted less than 100%, then you will need to manually change the colorant in the Digital file to match.\nPlease see Chris McGee for more information.");}
    // We should be done now with the PANTONE Bridge reference document, so close that.
    bridgeDoc.close(SaveOptions.DONOTSAVECHANGES);
    app.redraw();
    function addProcSwatch(swatchToGet, docSwatches)
              var bridgeSwatch = docSwatches.getByName(swatchToGet);
              var newSwatch = workDoc.swatches.add();
              var spotName = bridgeSwatch.color.spot.name;
              var spotValue = bridgeSwatch.color.spot.getInternalColor();
              newSwatch.color = CMYKColor;
              newSwatch.name = spotName;
              newSwatch.color.cyan = spotValue[0];
              newSwatch.color.magenta = spotValue[1];
              newSwatch.color.yellow = spotValue[2];
              newSwatch.color.black = spotValue[3];
              return newSwatch;
    function changePaths (colorName, newColor)
              var allItems = workDoc.pathItems;
              for (var j = 0; j < allItems.length; j++)
                        var thisPath = allItems[j];
                        if (thisPath.fillColor.typename == "SpotColor" && thisPath.fillColor.spot.name == colorName)
                                  var thisTint = thisPath.fillColor.tint / 100;
                                  thisPath.fillColor = newColor;
                                  thisPath.fillColor.cyan *= thisTint;
                                  thisPath.fillColor.magenta *= thisTint;
                                  thisPath.fillColor.yellow *= thisTint;
                                  thisPath.fillColor.black *= thisTint;
                        if (thisPath.fillColor.typename == "GradientColor")
                                  for (var g = 0; g < thisPath.fillColor.gradient.gradientStops.length; g++)
                                            var gStop = thisPath.fillColor.gradient.gradientStops[g];
                                            if (gStop.color.typename == "SpotColor" && gStop.color.spot.name == colorName)
                                                      var thisTint = gStop.color.tint / 100;
                                                      gStop.color = newColor;
                                                      gStop.color.cyan *= thisTint;
                                                      gStop.color.magenta *= thisTint;
                                                      gStop.color.yellow *= thisTint;
                                                      gStop.color.black *= thisTint;
                        if (thisPath.strokeColor.typename == "SpotColor" && thisPath.strokeColor.spot.name == colorName)
                                  var thisTint = thisPath.strokeColor.tint / 100;
                                  thisPath.strokeColor = newColor;
                                  thisPath.strokeColor.cyan *= thisTint;
                                  thisPath.strokeColor.magenta *= thisTint;
                                  thisPath.strokeColor.yellow *= thisTint;
                                  thisPath.strokeColor.black *= thisTint;
                        if (thisPath.strokeColor.typename == "GradientColor")
                                  for (var g = 0; g < thisPath.strokeColor.gradient.gradientStops.length; g++)
                                            var gStop = thisPath.strokeColor.gradient.gradientStops[g];
                                            if (gStop.color.typename == "SpotColor" && gStop.color.spot.name == colorName)
                                                      var thisTint = gStop.color.tint / 100;
                                                      gStop.color = newColor;
                                                      gStop.color.cyan *= thisTint;
                                                      gStop.color.magenta *= thisTint;
                                                      gStop.color.yellow *= thisTint;
                                                      gStop.color.black *= thisTint;
    function changeRasters (colorName, newColor)
              var allRasters = workDoc.rasterItems;
              for (var j = 0; j < allRasters.length; j++)
                        var thisRaster = allRasters[j];
                        if (thisRaster.channels > 1 && thisRaster.channels < 4 && thisRaster.colorizedGrayscale)
                                  if (/^PANTONE/.test(thisRaster.colorants[0]) && thisRaster.colorants[0] == colorName)
                                            thisRaster.colorize(newColor);
                                            checkForTint = true;
    // That concludes all of the color-changing steps.
    I hope this helps anyone else who is running into this (admittedly unusual) situation.

  • Making a jtable auto updates itself from a mysql table

    Pretty much what the title says. How can i auto update the jtable for every time my mysql table is updated in anyway? i am implementing this auto update function in my admin program which displays a list of users who are online etc. from the moment a user is offline/online or changes other details displayed in my jtable, i want it to auto update the jtable as soon as the actual mysql table has been updated with new data...
    I was thinking of re doing the whole jtable i made and create a thread for that table that has a infinite while loop that keeps repainting the jtable with the new updated data from a mysql table query eg select * from table and store the data into a resultset which then gets transferred into a vector. Load the vector into the jtbale and their ya go�.
    what you think of this approach? Is their a better way to do this?
    at the moment, as soon as my application opens, the jtable views all the data from my sql table, however if it doesnt auto updates itself, cheers

    i am implementing this auto update
    function in my admin program which displays a list of
    users who are online etc. from the moment a user is
    offline/online or changes other details displayed in
    my jtable, i want it to auto update the jtable as
    soon as the actual mysql table has been updated with
    new data...Well you can make some changes to make implementation easy
    Ex: Create a table to keep a log of the changes in the system the dmin program read the log and replicate the changes as specified in the log on the table model.
    When reading the log the admin program keep track of the sequence no of the last read log entry and it reads ony the entries which has larger seq numbers than the last read seq no
    I dont think that it is critical to make this to be cloase to real time. An Update once a 1 or 2 secs should be sufficient.

  • Auto update - upgrade from BPC 7.0 MS SP9 to SP10.

    Hi,
    I have upgraded from BPC 7.0 MS SP9 to SP10.
    I would like to execute auto update programm. I have the message ' update is OK' but the system does nothing
    NB : I closed all Office programms And internet Explorer before running this update programm.
    Do anyone else experience the same issue?
    Best regards
    Bastien

    Hi,
    Do have Vista or Windows 7 on your computer? If yes, then UAC may interfere. You may need to disable UAC or update client manually. To obtain client software installers please download them from your server as instructed here:
    Need details about BPC 7.5 MS Client Installation

  • Auto update GUI from server

    Goodmorning,
    i have installed over server "SAP Setup Administrator server" for mantain a gui with centralized deployment.
    I do some upgrade to packages.
    For put this new version of package i see in documentation that i must insert an "SAP Automatic service update".
    I not found this in marketplace, where are i can found?
    thanks

    Right click your gui icon in the desktop -> configure auto-update -> activate auto-update..
    Hope that help
    Juan

  • How to really, really disable auto-update popups from flash player?

    I have here a serious problem under 64bit Win7.
    More and more frequently a popup appears prompting me (or even start download without prompt!!)if a new flash player should be installed.
    When I proceed it shows the progress bar and downloads the package and installation started until the "done" button is shown.
    Then I re-open Internet Explorer 9 again and re-vist the last webpage and ....the download starts again.
    This is really annoying.
    How do I really, really stop forever update prompts for flash player plugins for Firefox and Internet Explorer?
    Peter

    Hi pxstein,
    Thanks for posting the screenshots, especially the one of the Process Explorer.  It indicates that this is not an auto-update install situation.  This type of installation is triggered via content on the page that requires a newer version of Flash Player (your screenshot indicates you have 11.8.800.94) and the content provider has decided to use this type of installation (we support several types that content providers can implement).  Since this type of installation is controlled by the content, there isn't a way to disable it.  Normally, IE displays a User Account Control dialog window or a dialog bar at the bottom of the page asking if you want to save/run the file.  I don't see these in your screenshots and you don't mention if they displayed or not.  If not, you may have disabled this warning at some point in time.
    Flash Player 11.8 is very old and very vulnerable to security issues and we've released many security updates since then.  My recommendation is to update Flash Player to the latest version, 15.0.0.167 for Internet Explorer (15.0.0.152 for non-IE browsers on Windows).  If you don't want the latest features available in Flash Player 15, you can install what we refer to as the Extended Support Release (ESR) version.  This is a previous stable version that we only release security updates for.  Currently this is 13.0.0.244 for both Internet Explorer and non-IE browsers on Windows.
    To download the latest version, go to https://get.adobe.com/flashplayer using Internet Explorer
    To download the ESR version, go to Adobe Flash Player Distribution | Adobe.  The links to download the FP 13 ESR version are at the bottom of the page.
    Maria

  • Text is not copied from Customer masterdata to sales document header

    Hi Friends,
    Text was maintained in customer masterdata, that should be copied in to sales order header. In Quality server its working as per requirement. But in production its not copied from customer master data.
    Same configuration settings are in production as well as quality(VOTXN)
    Please suggest me regarding this

    Hi Durga,
    Please go to SD> Basic function > text control> Define and Assign Text Determination Procedures and in that screen, check the customer sales and distribution change view customer sales text and sales note for customer and its assignment .
    I hope these will be helpful for you.
    Regards,

  • Ipod will not update music from itunes on library have music but no sound

    My itunes music library plays fine on the computer but when I tried to transfer it I get no sound. I got an error message that it cannot open URL. I don't want to have to restore this tell me it's not so. I have over 2500 songs.

    I cant transfer songs from itunes to my ipod this has been happening for the whole time i have had my ipod and now i have restored and have no songs on my ipod.i have done all the updates and changed the drive path can someone help, please !
    FRUSTRATED and mising my ipod!

  • Update fields from custom tab in selected lines in ME22N

    Hello all,
    I have implemented BAdis ME_PROCESS_PO_CUST & ME_GUI_PO_CUST and created a custom tab at the header level in ME21N/ME22N. I have fields such as Delivery Date and Ex Factory Date in my tab.
    We are able to put data in these fields and have that data populate their respective fields in the Purchase Order.
    Our users would like to be able to run ME22N and select certain line items and have only those items changed with the data from the custom fields.
    So, my question is how do I handle line selection in the context of these BAdIs? Is there a way to know which lines have been selected and then only change the data in those items?
    I have looked in Class CL_PO_ITEM_HANDLE_MM for an attribute or method that might help but I haven't found anything as of yet.
    I have found that the field MEPO1211-TCSELFLAG is set when a line is selected in ME22N. However, I haven't found a way to work with it. It doesn't get passed to any of the methods in the BAdIs, as far as I know.
    Thanks for any help.
    Kind Regards,
    Chris

    Hi, i understand
    if you are sure that if with MEPO1211-TCSELFLAG  this variable you can able to get,
    even though it is not been passed to BADI, you can achieve it to get the variable.
    Just try as follows,
    DATA lv_head_ptr(30) VALUE '(SAPLMEGUI)MEPO1211'.
    FIELD-SYMBOLS: <l_MEPO1211> TYPE MEPO1211.
    ASSIGN (lv_head_ptr) TO <l_MEPO1211>.
    Now, <l_MEPO1211> will contain the structure of the MEPO1211.

  • Auto-update Notification from a PM Work Order?

    Hi,
    Is there a way of automatically updating info on a Notification from a PM Work Order? For example, the operator who creates a Notification puts in a wrong functional location and this is carried over to the Work Order that is created from the notification. While, the work is being executed, the Work Order processor will change the Func. Location to indicate the right one. But this does not reflect on the Notification. I am sure this is not config. Is there any bapi that I can use? Please advise.
    Regards,
    Arun

    These are some related Function Modules:
    IQS0_CHANGE_NOTIFICATION
    ALM_ME_NOTIFICATION_CHANGE
    BAPI_ALM_NOTIF_DATA_MODIFY
    ALM_PM_MAINTNOT_MODIFY_DATA
    You may consult your ABAPer to identify and use to suit to your needs.
    Logic will be the code will match the F/Locn in Order and Notification everytime the Order is updated and use the above FM to update the Notification. Obviously you need to use this logic in a User-exit possibly IWO10009.
    KJogeswaraRao

  • How do i save all the colors from the swatch palette?

    Hi,
         I would like to save each and every color by their own name (for example: TRUMATCH 1-a) as individual jpg files, through photoshop scripting.
    Could you please help me?
    thanks,
    rajiv.s

    Hi,
         Could you please look into my attachments for more information.
              A)                                                                                     B)
              C)                                                                                                                         D)
              E)                                                                                                                         Final Output - "TRUMATCH 1-a.jpg")

  • How to Auto Update non-TOC Page Numbers within a document (ie, 550pp)

    Friends. Within a large Pages document that is dynamically changing, along with the total number of pages, the TOC (ie, Table of Contents) can be easily updated.
    However, I want to point to specific content, and therefore the correct page number for the content, within the document and have that pointer (ie, a page number) *update automatically as the page numbers change*.
    I need to repeat this about two dozen times for different references to make a 550 page document more reader-friendly by making it easier for readers to find the exact source or reference elsewhere in a document.
    How do I do that within Pages '08 ?

    Hello
    I'm not aware of such a feature.
    If the document is designed to be read on a computer, you may use links.
    Clicking on a link will bring you to the linked area.
    Yvan KOENIG (from FRANCE mardi 11 mars 2008 10:15:17)

  • How to create a swatch library from multiple png files?

    Illustrator CC
    I am having a difficult time trying to create a new swatch libray of patterns from multiple png files. The way I am doing this is very slow and repetitive and seems silly for a tool as advanced as the latest CC suite including illustrator.
    What it seems I must do is open all the png files in Illustrator, creating multiple workspaces, drag one png file into the swatch window, then save that window as a library, close the existing window to reveal the next png file, open the user library I just created, drag the next image into the currently active swatch window, then drag the previous swatch/s from the user library into the current active swatch window, resave and replace the user defined swatch library (now with two images in there)fromthe updated current active swatch panel/window, close the existing workspace to reveal the next image file, and then repeat the process again, slowly building the user defined swatch library up by adding one image at a time and then adding back into the Swatch panel the previously built up library of swatches again one at at time.  (you can select all from the existing  user defined library and drag over into swatch panel, but this creates at least one  duplicate on each cycle for as soon as you click on the first swatch in the library, it adds itto the current swatch panel and then when you select all swatches to drag across it includes the first swatch and copies it again)
    This is a very slow process to build up a swatch library. For some reason you cannot drag swatches directly into  the user defined library you have created, only into the active swatch window for each workspace. I searched the web and forums  for answers but could find none. There must be an easier way,  just can't find it.
    Ideally, the best option would be a swatch window  option that allows the import directly from a list of selected files in the finder.
    Any ideas out there?

    Monika,
    Thank you for responding, however I am not exactly clear on what you mean by "libraries are plain AI files". For example, I cannot find a file with the same name as my user defined library name that I have created. I can find the preinstalled swatches listed under Adobe Application Support... Library... Swatches, but a user defined folder is not present and the library sets that I have already created are not visible. I have tried searcing my Mac for a (name).ase file and still no luck (at least for the name I was looking for). I can open the user defined library from the Swatch library icon on the bottom left of the Swatch panel, but when I open this I cannot drag and drop add new swatches directly to this library. As stated above, I have to add each pattern, one at at time to the normal swatch panel, then add back the previous ones I have saved from the user defined library to the swatch panel and then save threm all as an updated user defined library. Thus by repeating this process, it builds up the user defined library one at a time.
    I am using Illustrator CC if this makes a difference.

Maybe you are looking for