Fix color management policies in InDesign Server
Due to differences in the Adobe setup for different language installations, there is a state comparable to inactive colour management in all InDesignServers that are not installed with 'English - North America'.
Overview
Prerequisites
Applicable as of Adobe CS 5.
The color management policies since CS5 'safe state' are only used in language installation 'English - North America'.
Since CS5, all other languages use COLOR_POLICY_OFF as app.colorSettings.rgbPolicy and app.colorSettings.cmykPolicy setting. As this is comparable to an inactivated color management, this leads to color problems.
Learn how to prevent these negative effects by scripting.
The use of this script is at your own risk, as it is a fix for a changed Adobe standard which leads to CMS problems never seen up to CS4 or in North American installations.
Typically, you will recognize color differences between PDFs exported by InDesign and InDesignServer, even if the same settings have been used.
Please note that this is not a censhare problem. It is possible to get the same differing results without censhare.
Scripting templates
In the following sections you find scripting blocks for copy & paste use to generate your own 'InDesignServer_check_ColorSettingsPolicyrgb+cmyk+set2Adobe_traditionalCS4default_v2.jsx' script.
Feel free to change the name, but do not forget to also change it within used script blocks.
Test the script with InDesign
- Open Edit/Color Settings...
- Set your Color Management Policies for both RGB and CMYK to OFF.
- Copy your script to ../InDesign*/Scripts/startup scripts and restart InDesign. (See script below, section "5. And some final output" for further locations) Each alert line in the script will generate a dialog window.
- Click ok each time.
- Then check your settings in Edit/Color Settings... - Color Management Policies to see the result:
Do not forget to remove the script from InDesign startup scripts after testing.
1. Introduction and general information
// InDesignServer_check_ColorSettingsPolicyrgb+cmyk+set2Adobe_traditionalCS4default_v2.jsx (2014/07/23)
// Scripting templates by: th@censhare.de
//
// Copyrights
// Adobe, InDesign, InDesignServer and InCopy are registered trademarks of Adobe Systems, Inc.
// Apple, Mac and Mac OS are registered trademarks of Apple, Inc.
// All other marks are the property of their respective owners.
// Any omission of such marks from any product is regretted
// and is not intended as an infringement on such marks.
//
// TERMS OF USE:
// The use of this script is at your own risk,
// as it is a modification for a "somehow strangely" changed Adobe standard
// which leads to CMS problems never seen within CS4
// or in north American installations.
//
// TASK: // Display actual app.colorSettings.rgbPolicy and app.colorSettings.cmykPolicy
// for InDesignServer and set it to traditional known good Adobe CS4 default
// if it is defined differently.
// Leave correctly set sessions untouched and display message.
//
// INSTALLATION:
// for automatic use on all instances (even new defined) put script to:
// ../InDesignServer*/Scripts/startup scripts
// No further adjustments needed.
//
// Possible Adobe values are:
// ColorSettingsPolicy.COLOR_POLICY_OFF
// ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES
// ColorSettingsPolicy.CONVERT_TO_WORKING_SPACE
// ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK
//
// The Values will be set to:
// app.colorSettings.rgbPolicy = PRESERVE_EMBEDDED_PROFILES
// app.colorSettings.cmykPolicy = COMBINATION_OF_PRESERVE_AND_SAFE_CMYK
//
2. The next block is only needed for use on defined SOAP instances with multi-instance licenses. Otherwise, continue with block 3.
This enables the settings to be changed on defined SOAP instances. In this case, the script has to be used once per each SOAP instance.
Use case: Different OS user accounts can run instances with different settings. In this case, the modifying part of the script has to be adapted to your needs.
This only makes sense if you want to use e.g. PRESERVE_EMBEDDED_PROFILES on one censhare system and e.g. CONVERT_TO_WORKING_SPACE on another with the same multi-instance InDesign server.
// -------------------------------------
// HOWTO USE FOR DEFINED INSTANCES ONLY:
//
// NO INSTALLATION - USE ESTK
// Do not install it to startup scripts folder. Execute it with Adobe ESTK.
// Hint: Do not use underscore "_" or minus "-" in configuration names
// of InDesignServer instances for use with ESTK!
//
// Assuming a use only for single instances the script must not be placed in
// "InDesignServer*/Scripts/startup scripts" and needs a defined target.
// How to use the target command:
// #target "indesignserver_<configuration>_<port>"
// (If the script is placed in "InDesignServer*/Scripts/startup scripts" no target is needed.)
// // TARGET DEFINITION
// Assuming you used a start.bat containing:
// start "CS6" "C:\Program Files (x86)\Adobe\Adobe InDesign CS6 Server\InDesignServer" -port 12345
//
// Use your port number as a target:
// #target "indesignserver_configuration_12345"
// <configuration> is Adobe's standard configuration name if it is not defined
//
// assuming you used a start.bat containing:
// start "CS6" "C:\Program Files (x86)\Adobe\Adobe InDesign CS6 Server\InDesignServer" -configuration CS6 -port 12345
// or
// start "CS6" "C:\Program Files (x86)\Adobe\Adobe InDesign CS6 Server\InDesignServer" -configuration CS6
//
// Use your configuration name as a target:
// #target "indesignserver_CS6"
//
// If a correct indesignserver target is entered below this comment
// this .jsx script can be used by doubleclick.
// on success you will find an alert message within
// the InDesignServer console window as defined below.
//
// please remove comment slashes at the beginning
// of the next line to use the #target parameter
//#target "indesignserver_<configuration>_<port>"
// -------------------------------------
//
alert ("");
alert (" Check colorSettings.rgbPolicy:");
if ( app.colorSettings.rgbPolicy == ColorSettingsPolicy.COLOR_POLICY_OFF ) { alert(" = COLOR_POLICY_OFF"); app.colorSettings.rgbPolicy = ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES; alert(" =>"); alert(" app.colorSettings.rgbPolicy is now set to:"); alert(" PRESERVE_EMBEDDED_PROFILES"); alert(" (Adobe traditional default)");
} else if ( app.colorSettings.rgbPolicy == ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK ) { alert(" = COMBINATION_OF_PRESERVE_AND_SAFE_CMYK"); app.colorSettings.rgbPolicy = ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES; alert(" =>"); alert(" app.colorSettings.rgbPolicy is now set to:"); alert(" PRESERVE_EMBEDDED_PROFILES"); alert(" (Adobe traditional default)");
} else if ( app.colorSettings.rgbPolicy == ColorSettingsPolicy.CONVERT_TO_WORKING_SPACE ) { alert(" = CONVERT_TO_WORKING_SPACE"); app.colorSettings.rgbPolicy = ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES; alert(" =>"); alert(" app.colorSettings.rgbPolicy is now set to:"); alert(" PRESERVE_EMBEDDED_PROFILES"); alert(" (Adobe traditional default)");
} else if ( app.colorSettings.rgbPolicy == ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES ) { alert(" = PRESERVE_EMBEDDED_PROFILES"); alert(" (no change required - Adobe traditional default)"); }
4. The next block modifies the cmykPolicy in InDesignServer, if needed.
// read and display actual app.colorSettings.cmykPolicy
// and change these to old Adobe default COMBINATION_OF_PRESERVE_AND_SAFE_CMYK
alert ("");
alert (" Check colorSettings.cmykPolicy:");
if ( app.colorSettings.cmykPolicy == ColorSettingsPolicy.COLOR_POLICY_OFF ) {
alert(" = COLOR_POLICY_OFF");
app.colorSettings.cmykPolicy = ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK;
alert(" =>");
alert(" app.colorSettings.cmykPolicy is now set to:");
alert(" COMBINATION_OF_PRESERVE_AND_SAFE_CMYK");
alert(" (Adobe traditional default)");
} else if ( app.colorSettings.cmykPolicy == ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK ) {
alert(" = COMBINATION_OF_PRESERVE_AND_SAFE_CMYK");
alert(" (no change required - Adobe traditional default)");
} else if ( app.colorSettings.cmykPolicy == ColorSettingsPolicy.CONVERT_TO_WORKING_SPACE ) {
alert(" = CONVERT_TO_WORKING_SPACE");
app.colorSettings.cmykPolicy = ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK;
alert(" =>");
alert(" app.colorSettings.cmykPolicy is now set to:");
alert(" COMBINATION_OF_PRESERVE_AND_SAFE_CMYK");
alert(" (Adobe traditional default)");
} else if ( app.colorSettings.cmykPolicy == ColorSettingsPolicy.PRESERVE_EMBEDDED_PROFILES ) {
alert(" = PRESERVE_EMBEDDED_PROFILES");
app.colorSettings.cmykPolicy = ColorSettingsPolicy.COMBINATION_OF_PRESERVE_AND_SAFE_CMYK;
alert(" =>");
alert(" app.colorSettings.cmykPolicy is now set to:");
alert(" COMBINATION_OF_PRESERVE_AND_SAFE_CMYK");
alert(" (Adobe traditional default)");
}
5. Final output
// and finally give some final informations:
alert ("");
alert (" Checking app.colorSettings.*Policy completed.");
alert (" This color settings check script is located in:");
alert (" ../InDesignServer*/Scripts/startup-script/");
alert (" InDesignServer_check_ColorSettingsPolicyrgb+cmyk+set2Adobe_traditionalCS4default_v2.jsx");
alert (" or for single instance mac ..
<user-home>
/Library/Preferences/Adobe InDesign/Version #.#/");
alert ("
<locale>
/
<configuration folder
>
/Scripts/startup-scripts/..._v2.jsx");
alert (" or for single instance pc ..
<user>
\AppData\Roaming\Adobe\InDesign\Version #.#\..._v2.jsx");
alert ("
<locale>
\
<configuration folder
>
\Scripts\startup scripts\..._v2.jsx");
alert ("");
It switches back the rgb and cmykPolicy in InDesignServer to the CS5 and up 'changed Adobe standard' which is used in non-north American installations.
// set rgb and cmyk to ColorSettingsPolicy.COLOR_POLICY_OFF
alert ("");
app.colorSettings.rgbPolicy = ColorSettingsPolicy.COLOR_POLICY_OFF ;
alert("app.colorSettings.rgbPolicy is now COLOR_POLICY_OFF");
alert ("");
app.colorSettings.cmykPolicy = ColorSettingsPolicy.COLOR_POLICY_OFF ;
alert("app.colorSettings.cmykPolicy is now COLOR_POLICY_OFF");
alert ("");