1. A computer program product encoding a computer program of instructions for executing a computer implemented method for creating a color template for a document, the method comprising: receiving at least one color for the document; constraining at least one document parameter to the received color; selecting an example color template; automatically applying the example color template to the constrained color parameters to extrapolate one or more other colors for unset document parameters; providing the color template based on the received colors and the extrapolated colors.