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:
- 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.
- 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.
- In Inkscape, choose File > Save As and save the file as an EPS from that dialog.
- 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.)
- Once your colors are set, export as EPS from Scribus.
- 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.
- 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.