8

I'm using Inkscape v. 0.91 under Linux Slackware, compiled from the source with the default options.

The printing service I use requires the "ISO Coated v2 300% (ECI)" color profile, which I have in the /usr/share/colors/icc folder and I apply in the document properties. The XML editor correctly shows that "ISO Coated" in the svg:color-profile field.

Anyway, when I save a PDF file the colorspace I see calling identify -verbose is reported as sRGB (I guess it's correct in this way), but there isn't any reference to the ISO profile inside the PDF.

Is there a way to correctly embed a color profile into a PDF with Inkscape?

  • Have you read this post? Does Inkscape preserve CMYK colors Looks like you might be able to use Scribus or Acrobat Distiller to convert. – Adam H. Jul 16 '15 at 16:20
  • 1
    I love Inkscape--but it's not designed for print based design if color management is key. You can either roll the dice with what Inkscape outputs, or you may need to import into Illustrator to fix up the colors and colorspace so it's press ready. – DA01 Jul 16 '15 at 16:38
3

Inkscape cannot embed CMYK color profiles, sorry. Scribus can, though.

Here's a workflow that I have successfully used to get a print-production-ready PDF (with the "ISO Coated v2 300% (ECI)" color profile properly embedded).

It is taken from a more detailed article on my blog.


A word of warning: The workflow involves converting colors manually, so if you have a lot of colors in your source document, this might be a show stopper and you should look for commercial alternatives.

Step 0: Set up Inkscape, Color Profiles and Scribus

  • Install both Inkscape and Scribus.
  • Download the desired color profile and save it to your system's default location for color profiles. Some typical locations:
    • Windows: \Windows\System32\Spool\Drivers\Color or \Windows\System\Color
    • Mac: Username/Library/ColorSync/Profiles or HD/Library/ColorSync/Profiles
    • Linux: $HOME/.local/share/color/icc or $home/.color/icc
    • They could be stored elsewhere, google around...
  • In Scribus, go to "Settings", then "Color Management". Under "CMYK Solid Colors" choose the profile you just installed in the dropdown. If it doesn't appear, you haven't saved it in the right location. Repeat the previous step until Scribus can find the color profile.
  • If you want, check "Simulate Printer on the Screen" and "Convert all colors to printer space". Scribus will then attempt to make the colors look more similar to the actual print result, though that simulation might still be off by a lot if your screen is not calibrated.

Step 1: Prepare the SVG

  • Open/create your SVG file with Inkscape.
  • Convert all your texts to paths (select text objects, press Shift+Ctrl+C and ungroup with Shift+Ctrl+G to ensure the characters have become individual vector shapes).
  • Get rid of any additional layers you might have (merge everything into one layer).
  • Get rid of any transparent elements (check the stroke and fill of all objects).
  • "Save a copy..." of the SVG in a separate file (like myfile_final.svg).

Step 2: Convert the Colors

  • Open the SVG you just created with Scribus (in the "Open" dialog change the filter to "All files" to be able to pick your SVG). Scribus may complain that some features of your SVG are not supported (which is most likely because of Inkscape data in the SVG or because you still have transparencies defined somewhere). Don't worry about it for now.
  • Under "File" > "Document Setup" > "Page Size" double-check that the width and height are correct (I'm a bit pedantic and find that they're usually off by sub-millimeters). Correct the size if necessary.
  • Go to "Edit" > "Colors". You should see numerous colors imported from the SVG.

  • Click on "Remove Unused". This cleans the palette and leaves only the colors that are actually in use.

  • If you're using a pure black (#000000) or pure white (#ffffff) in your SVG, choose it, then click on "Delete" and "Replace with" the predefined CMYK black and white.
  • Go through each of the remaining colors that still appear as RGB (), click on "Edit", give them a meaningful name and choose "CMYK" for the color model. If you have an idea which CMYK values the color should have (e.g. from a color book) adjust the values, otherwise just accept the autoconverted values.
  • When you're done, the color dialog should only contain CMYK() colors, like so:

  • Save your Scribus file as myfile_final.sla.

Step 3: Export the Final PDF

  • In Scribus, go to "File" > "Export" > "Save as PDF..."
  • Choose a filename like myfile_cmyk_final.pdf, preferably in a subfolder named print (so you won't get confused which are the final files).
  • Most printing services require PDF/X-3 files, so choose that in the "Compatibility" dropdown.

  • I also usually untick "Compress Text and Vector Graphics" in the same dialog, though that's probably unnecessary (there shouldn't be any text left in your file). I'm just a bit superstitious.
  • The most important step: Go to the "Pre-press" tab and under "Output Profile" choose your desired color profile in the dropdown:

  • Hit "Save".

That's it. Enjoy your production-ready PDF file ;-)!

  • A few Linux-specific notes: LittleCMS is required (may be installed with Scribus if you used your distro's package manager). User-level color profiles should be in $HOME/.local/share/color/icc or $HOME/.color/icc (depending on the distribution) and system wide profiles should be in /usr/share/color/icc. More information on the Scribus Wiki. – Scribblemacher Jun 6 '16 at 11:23
  • @Scribblemacher Thanks! I added the Linux color profile locations. – KlaasNotFound Jun 6 '16 at 15:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.