16
votes

I have always used pgfplot of latex to produce figures(.pdf format). Now, the journal in which I want to publish wants my figures to be in eps format.

I tried converting pdf to eps using pdftops -eps fig.pdf fig.eps. But the resulting eps file is of poor quality.

Original figure (in .pdf format) enter image description here

Converted figure (in .eps format) enter image description here

What is the right procedure to create eps file that is the same quality as my input pdf file?

EDIT

As per PooyaRaki recommendations: Inkscape option output(.eps) enter image description here

Ghostscript option(.eps format) enter image description here

Acrobat reader option output (.ps format) enter image description here

Acrobat reader seems to work the best among the three.

2
Actually, it looks like Ghostscript produced the best result as Acrobat reader changed the colors. - Dmitry Kabanov
GSView also works by clicking "Convert" and then the options "ps2write" and "600" resolution. I am relieved, as I am submitting a manuscript to PRL that requires EPS figures, and wasn't sufficiently adept with TeXstudio to alter the resulting pdf to eps there (although I've read that is its default?!). Thomas - Thomas
I got good results with ipe: ipe.otfried.org - Erel Segal-Halevi

2 Answers

19
votes

I recommend the following tools:

  • Inkscape (Vector graphic editor, free & multi-platform)

    Can be either used using the GUI (open PDF, save as EPS) or using the command line (tested under Linux only):

    inkscape input.pdf --export-eps=output.eps
    
  • Acrobat Reader (Linux Version) + ps2eps (TeXLive)

    acroread -toPostScript input.pdf
    ps2eps input.ps
    
  • Ghostscript (multi-platform) Note: -dNOCACHE is needed to prevent GhostScript from rastering the fonts.

    gs -q -dNOCACHE -dNOPAUSE -dBATCH -dSAFER -sDEVICE=eps2write -sOutputFile=output.eps input.pdf
    

There are also the following tools. I didn't tested all of them and some raster the fonts :-( !

  • ImageMagick convert (which might use Ghostscript itself. Calling it manually if more flexible and might avoid issues. convert might actually raster the PDF!)

    convert input.pdf output.eps
    
  • pdf2ps (uses Ghostscript) + ps2eps (comes with TeXLive)

  • pdftops (part of poppler), use the -eps switch for EPS output.

Note that EPS format does not handle transparency !

-2
votes

The last answer is good, but ImageMagick doesn't necessarily raster the PDF. You can use: convert -density 600x600 inpute.pdf -quality 90 output.eps