How to Produce Vector EPS with CMYK Color Using Free Software

This may not be the sexiest or even the most contemporaneous task to want to do in 2013, but recently I’ve had to deal with a vendor who requires vector EPS (PDF is not acceptable) and CMYK color for print items such as T-shirts and other swag.
The problem with this deceivingly innocuous and charmingly antiquated specification is that it is was very difficult to do in FLOSS. I’ve tried what I thought was every permutation of exporting from every file format available in Inkscape and Scribus, and casting that output together with ghostscript tools in all the ways I could think of. The best results I could achieve was an EPS file with CMYK color that was rasterized, not vector.
I was not the only one experiencing this issue. Some folks in the Libre Graphics community that I respect very much had the same problem. Ray suggested some things I could do to troubleshoot the issue that I hadn’t tried to try to coax the output I needed out of Inkscape and/or Scribus. Since I have 3 projects I’m dealing with that require interacting with this particular vendor, I’ve been more motivated than ever to find a libre way of producing this format as begging someone with a copy of Illustrator to convert my files for me is highly displeasurable.
The solution I came across for this is simple enough I’m a bit embarrassed. I don’t know that it will work in every situation (in fact I know it won’t), but here’s my workflow:

  1. Start with pretty simple artwork in Inkscape. No transparent gradients – no gradients at all for that matter. Remove any clips and masks you might have and manually create the effects you were achieving with the masks/clips. Remove any patterns you’ve got – I think you can muck with convert pattern to object to do this.
  2. Create a white opaque and strokeless rectangle that covers the entire area of the page in Inkscape. Draw it in your lowermost layer and lower it to the bottom of the stack.
  3. In Inkscape, choose File > Save As and save the file as an EPS from that dialog.
  4. Need CMYK colors? Open up your Inkscape-produced EPS in Scribus. Then convert your colors to CMYK using Scribus. (This is how I do that.)
  5. Once your colors are set, export as EPS from Scribus.
  6. Open up the EPS in vim or gedit to make sure it is in fact vector. If it’s bitmap the file size will be very large compared to your original SVG and the file will be full of unreadable junk.
  7. Also make sure to open up the file in Gimp or Evince to make sure the artwork is visible. The first time I tried this, the EPS vector appeared blank – this is because I didn’t go to EPS until I got to Scribus. If you start with EPS from Inkscape, I didn’t have this problem.

Well, there you go. I hope this helps someone.

10 Comments

  1. Gez

    Thanks for sharing, this is very useful.
    Here in Argentina the most frequent problem I face is vendors asking for Corel or Illustrator files and saying they can’t use PDFs (which is ridiculous, since both applications don’t have big problems importing PDF).
    Usually I consider switching to a different vendor when that happens (or at least I make clear that if they don’t want me to go with another vendor it’s their problem to convert my good PDF to a proprietary/antiquated format), but this post will spare me some fights 🙂
    I have a question, though. What about color profiles? Does Scribus embed a color profile in those EPS?

    • Luya Tshimbalanga

      I think Scribus does profile those colors. I tested the conversion from Inkscape SVG (with only one transparency) to vectorial EPS using Scribus (slight modification from Mo’s tutorial). You can view the result on:
      http://luya.fedorapeople.org/images
      Note a seemly rendering bug on thumbnail preview using Evince due to retina effect.

    • pixelnate

      While I am very much in favor of a FLOSS DTP workflow, I feel like I need to chime in here. PDFs are not always as editable as a native AI or Corel file. The art is sometimes broken apart (even though it still looks like a single piece of art), objects are usually contained in clipping masks (happens with almost every PDF no matter how it is made) and text is not properly editable in PDF files.
      I worked as a production artist for 13 years before moving full-time to web development, and just don’t see how anybody can use a FLOSS pipeline to produce printable work. You appear to be trying harder than anyone, Mairin, to stick to your guns stay away from proprietary software, which is quite admirable, but for most people that produce print work it just isn’t possible with the open source tools available. Scribus is a great piece of software, but the work you can produce there is limited by the GIMP not being able to produce CMYK files (wasn’t GEGL supposed to make that possible?) and Inkscape having been limited to the SVG file format (and having been abandoned?).
      Very few things would make me happier than to be able to switch to Linux full-time, but the printing pipeline is what is keeping me in WinMac Land. There are so many good tools available for video (Blender, Kdenlive, Lightworks), text editors, print layout (Scribus), font management, but CMYK support is almost completely absent in the only two image creation apps available (GIMP & Inkscape).
      Besides doing what you are doing is there anything else that can be done to help encourage GIMP developers to add better CMYK support or Inkscape developers to add anything to their app? I am not a programmer, in that way, so I cannot contribute with code, but is there some other way that you see that could get the developers of those two apps to better their CMYK support?

      • mairin

        Hm, a few things:

        The problem that I was trying to get around in this blog post was the vendor’s insistence on the (IMHO) antiquated EPS format. EPS is a format that has no standard for embedding color profiles (even Illustrator cannot do this, or at least it couldn’t a while back http://forums.adobe.com/thread/322379). The problem is that Linux color management is very color-profile centric, so I couldn’t use color-profiles to get the correct CMYK color values and had to plug them in manually in this hacky way. The other problem I was trying to get around is that Cairo flattens EPS artwork to bitmap mysteriously, but of course again being an antiquated format, EPS doesn’t support transparency, and that was why I could not produce vector EPS. As soon as the transparency is taken away by the hack of adding a flat opaque white background, Cairo produces a vector EPS.
        I have been using a FLOSS workflow exclusively to produce print-ready artwork for printers to use for the past 7 or 8 years now, and I’d never had an issue before I ran into this vendor that insists on EPS. And now I have a solution for that. Hope this helps provide some perspective. Let me know if I’m missing something…

      • Gez

        @pixelnate:
        I’m a graphic designer and I’ve been sending works to offset presses for the last 15 years. in 2008 I switched to linux and free software completel and I’ve been sending hundreds of files to different print shops during these last 5 years, so I think I have some background too.
        The first months using free sofware were quite difficult because I was trying to replicate the exact workflow I had with Adobe apps, and that’s not possible as you pointed out. So I had to do some research and modify my workflow.
        Modern printing has changed a lot, and the early binding workflow (CMYK from the beginning) is becoming more and more “legacy”.
        Intermediate and late binding workflows are better suited for modern production, where the same piece has to be targetted for different outputs and media.
        Constraining your color gamut to a single CMYK device space may work fine for a single press, but it’s an unnecessary waste of color latitude. And now that the web is as important as print as an output media, limiting your gamut to a single offset cmyk profile is counter-productive.
        RGB for print is not a problem anymore. You can do all your creative work in RGB and prepare a correct file for print. With proper color management and soft-proofing you can have a reliable color reproduction in free software that is compatible with modern printing.
        Regarding the lack of editability of a PDF file, that’s the idea!
        If your PDF file is correct, all the things that matter for pre-press are covered. A pre-flight software or the RIP will handle them (trapping, black text, imposition, RGB to CMYK, etc.)
        Just try to get good communication with your print provider regarding the technical specifications and everything will be fine.
        I dare to say that proprietary and editable files are more likely to give problems than PDFs. I’ve had far more problems with transparency flattening while I used Illustrator, and some of them weren’t even my fault 🙂
        PDF is a solid standard that has been embraced by the print industry and all the high profile printers I know rely on PDF/X as their preferred transport.
        I’m not trying harder. At least not anymore. I just have adopted a different workflow (it has room for improvements, sure, but it gets the job done) .

  2. Pingback: Links 16/8/2013: Tropico 5 for GNU/Linux, KDE 4.11 Released | Techrights

  3. curiousbynature

    M. Duffy thank you for posting your work-around to the eps. file format conundrum. If I may ask you or anyone that may know.In a slightly related topic I am having difficulty uploading files to a microstock website. My current work flow involves me creating my images In Inkscape. importing them into GIMP to convert the native svg. file format to jpeg at 4,000 px sRGB 24 channel bit depth. Then attempting to upload the files to the site. My question is, is there something else that I am missing because the site accepted the one file at the above specifications but not the others. The sites criteria is above 3600 px 8 channel bit depth RGB jpeg or eps. The error is occurring before the image gets to the approval stage.

  4. Pingback: Inkscape Experiments: Enable Saving to XCF Inside Windows 8.1 | Chris Hilbig.com - BETA edition

  5. Pingback: How to create stock ready EPS vector files with Inkscape - CIALU.NET

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.