When working with print you may want to deal in CMYK colours
and not the default RGB. A good example would be; you are programmatically
generating a PDF that will be submitted directly to a copy shop or commercial
printers.
The PDF class “Spludlow.Drawing.PDF” has a Boolean flag
called “CMYK”, set it to true and passed colours will be treated as CMYK and
not RGB. Any “Color” then used in any drawing method will use the values of
ARGB as CMYK, note they are all percentages (0 – 100) and not a byte range (0 –
255) as when using RGB. Here is a simple code example:
string font = "Arial, 18";
Color black = Color.FromArgb(0, 0, 0, 100);
Color cyan = Color.FromArgb(100, 0, 0, 0);
Color red = Color.FromArgb(0, 100, 100, 0);
Color magenta = Color.FromArgb(0, 100, 0, 0);
using (Spludlow.Drawing.PDF pdf = new Spludlow.Drawing.PDF(@"E:\CMYKtest.pdf", "A4"))
{
pdf.CMYK = true;
pdf.Text("black", font, 10, 10,
black);
pdf.Text("cyan", font, 10, 20, cyan);
pdf.Text("red", font, 10, 30, red);
pdf.Text("magenta", font, 10, 40,
magenta);
}
Obviously “Color.FromArgb” is really saying “Color.FromCMYK”
but that’s a code readability trade-off that you will have to live with.
CMYK colours are only supported when using the PDF class
directly, you can’t use a “PrintDoc” to create the PDF as you normally do, and
this is because only PDFs support CMYK easily.
There is a class called “CMYKColours” in the “Spludlow.PDF”
assembly that provides some named CMYK colours. The colours are defined the
TextTable “CMYKColors.txt” so you can add your own if you like. These colours
were taken from Adobe Illustrator’s Print Default Swatch (So they should all
print well) then named on the closest converted RGB colour using http://www.htmlcsscolor.com/, then
sorted in RGB hue order.
Use the method “Spludlow.Drawing.CMYKColours.PaletteSheet”
to produce the following reference PDF you can copy and paste the colour names
into your code.
If you require CMYK I will assume you already know what
you’re doing with print colours, there is currently no support for spot
colours.
If you are new to CMYK I then read one of the introductions
to the “CMKY Colour model” on the web. Here are a few points to help you out:
·
The colour components are specified in percentages 0% - 100% no
decimal place are necessary (You just wouldn’t notice even if the printing
machine could put ink on the paper to this precision).
·
When submitting files to a printer they just about always expect
a PDF or other some vector format like .AI, .EPS
·
Vector formats can contain RGB and CMYK objects. Illustrator will
warn about this and it should be avoided.
·
Bitmap formats are either RGB or CMYK, you can change the colour
mode in Photoshop.
·
PNG does not support CMYK.
·
The classic bitmap format for CMYK is a TIFF but they can be
large.
·
JPEG does support CMYK but should be avoided in your print
workflow unless saving out at a high quality setting.
·
You can use the colour gadgets in Photoshop and Illustrator to
see CMYK and RGB components of any colour.
·
In Photoshop when in the colour gadget you can “pipette” the
bitmap to get the colour breakdown. This can be useful when determining a CMYK
colour from a suppled JPEG for example.
·
It’s a bad idea to work in RGB and convert to CMYK as you won’t
get the best out of your colours.
·
The RGB secondary colours R+G=Yellow, R+B=Magenta and G+B=Cyan
are the CMKY primary colours and visa-versa.
·
Not all colours will print well from CMYK process, they will just
not be quite the right hue or may look dirty. Unlike with RGB where every
colour on screen is achievable.
·
You can see the dulling of RGB to CMYK in Photoshop by converting
the colour mode.
·
Photo-Printers or any print machine that uses more than 4 colour
inks is designed to print RGB images, do not convert RGB images to CMYK if this
is the case.
·
When working in Illustrator or Photoshop if the document is set
to CMYK then it should be previewing the printed result (it will automatically
dull it down).
·
When working with bitmaps don’t go below 300 dpi, this is
considered the print minimum.
·
The “Press Quality” PDF setting is your best bet for submitting
files to a printer.
·
Press Quality PDFs default setting will down-sample any bitmaps
over 450dpi down to 300dpi so there is no point in going over 450 in a PDF
workflow.