Image format conversion from terminal?

Is there any way to convert image formats from Ubuntu terminal?

Particularly from eps to png/jpg or to any other formats.


You can use the imagemagick command line tool

http://www.imagemagick.org/script/convert.php

You can use it like this:

convert myfile.eps foo.png

For anyone who lands here trying to figure out how to work around ImageMagic's convert: not authorized without reverting the change that was made to the system-wide security policy to close a vulnerability, here's how to rasterize EPS files by calling Ghostscript directly:

gs -dSAFER -dBATCH -dNOPAUSE -dEPSCrop -r600 -sDEVICE=pngalpha -sOutputFile=foo.png myfile.eps
  • -dSAFER puts Ghostscript in a sandboxed mode where Postscript code can only interact with the files you specified on the command line. (Yes, the parts of EPS, PS, and PDF files that define the page contents are in a turing-complete programming language.)
  • -DBATCH causes it to quit when it reaches the end of the input file, rather than switching to an interactive PostScript prompt.
  • -dNOPAUSE prevents it from prompting to continue after each page
  • -dEPSCrop asks for the rendered output to be cropped to the bounding box of the drawing rather than padded out to the declared page size (See the manual for details.)
  • The -r600 specifies the DPI you want to render at
  • The -sDEVICE specifies the output format (See the Devices section of the manual for other choices.)

UPDATE: I've since learned that -o foo.png is a cleaner, easier-to-remember shorthand for -dBATCH -dNOPAUSE -sOutputFile=foo.png so the better command would be this:

gs -dSAFER -dEPSCrop -r600 -sDEVICE=pngalpha -o foo.png myfile.eps

The manual also mentions that, some day, they eventually hope to be able to make -dSAFER the default though, given backwards compatibility needs, who knows if that will ever happen.