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

  1. Open Edit/Color Settings...
  2. Set your Color Management Policies for both RGB and CMYK to OFF.
  3. 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.
  4. Click ok each time.
  5. 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

$stringEscapeUtils.escapeHtml($body)
CODE


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)"); }

CODE




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)");
}
CODE


5. Final output

$stringEscapeUtils.escapeHtml($body)
CODE


Do not use. If needed, the next block may be used instead of 3+4.
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 ("");
CODE