Bad results converting PDF to EPS on Linux

I'm having some trouble converting PDFs (created by Adobe Illustrator on a Mac) to EPS. I have tried several things but I am wondering if there is a better option.

The following list is ordered by decreasing quality:

  1. inkscape --export-area-page --export-eps=out.eps in.pdf using the graphical program Inkscape works best, but is a bit slow;
  2. pdftops -eps in.pdf out.eps uses Poppler and works good and is fast;
  3. pdf2ps in.pdf out.eps uses ghostscript and works ok for simple documents;
  4. convert in.pdf out.eps uses ImageMagick and always rasterizes the image.

I haven't tested the following:

  1. acroread -toPostScript use acroread (Linux only)

Some issues I've found:

  • Transparency is not supported in EPS, but instead of flattening the layers, most programs rasterize the image producing big files and ugly graphs. Inkscape does this best by only rasterizing the unsupported area.
  • Gradients are rendered properly by Inkscape, but Poppler somehow chops up the gradient into many shapes of different colors.
  • Greek symbols are seemingly not supported by Ghostscript and are rasterized (using pdf2ps).

What are your experiences for this kind of task? Did I forgot certain programs and/or command line options that improve quality?

I found some posts on this, but not a (thorough) comparison of possibilities, please correct me if I'm wrong.

Related posts

  • How to convert PDF to EPS? on TeX

Solution 1:

From my experience the best free transparency flattening you can get is from Adobe Reader by printing to PostScript file (eg. using good old Apple Color Laser print driver). Then you need another tool to convert it to eps.

Solution 2:

If you want an exhaustive list of possibilities, note that OpenOffice/LibreOffice implement this feature, but the result quality is somewhere between ghostscript and ImageMagick in your list above. And there are more fundamental problems. Read on.

The principle is that the application opens PDF files as "Draw" documents, which can then be manipulated and printed at will. The quality depends on the import from PDF to Draw, and it has difficulties with path clipping, gradients and fonts beyond the three standard ones (serif, sanserif, typewriter).

There is even a possibility to launch the conversion interactively

openoffice -print-to-file input.pdf
libreoffice -print-to-file input.pdf

(choose one!). It yields input.ps in that case.

However, there are known problems, e.g. with LibreOffice 4.4 (which I tested in release 4.4.0.3) and reported here, that the output file contains PDF instead of PostScript. (This used to work in earlier versions.)

My favourite one is inkscape, or ghostview for simpler files. And my experience is that I can never trust automatic (command line) conversion, especially when working on different machines, and a manual inspection of the result is mandatory, which makes it most of the time faster to convert interactively anyway.