Linux: Convert a PDF File To an Image

Posted on in Categories , , , , , , , last updated January 16, 2009

Q. A friend showed me how to extract images from a pdf file using pdfimages utility. But I’d like to convert my PDF file to image file. How do I convert a PDF to an image file using a command line option?

A. You need to use convert command from imagemagick – image manipulation set of programs.

The convert program is a member of the ImageMagick suite of tools. Use it to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This is also useful if you do not have PDF reader installed (Gnome and KDE does have in built PDF reader) or required for your webbased project.

Type the following command to convert foo.pdf to foo.png (foo1.png, foo2.png.. etc if you have multiple pages in a pdf file):
$ convert foo.pdf foo.png
You can specify a different file type by changing the file extension of the second file, type:
$ convert foo.pdf foo.jpg

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Share this on (or read 29 comments/add one below):

29 comment

  1. Use “-density ” option for setting precision in points per inch, example:
    $ convert -density 300 file.pdf image.png
    By default the dpi is 72, which could be too low. Make sure the option is _before_ the filenames though.

  2. i dont know why but this isnt working for me .
    i have 2 Gb of free space and what this command does is reduce it to 4 KB .
    No output file or anything is generated ..

  3. Love ImageMagick for it’s neat feature to handle PDF (more or less as-is). Also, big thanks to Laurent for explaining the “-density” switch; which (until now) was the missing point in my latest workflow. Cheers!

  4. Hi,
    I’m trying to convert a 350 page pdf file (95MB). If I set the density to 72×72 it works perfectly but I can’t read the text. If I set the density to 150×150 it crashes out after page 3. I’m guessing that I’m running out of memory. Is there any way to specifiy the page number to start the conversion from?
    Any help is appreciated
    Craig

  5. im using convert command to a pdf with thai characters in it but when i do, the resulting file does not contain thai characters(it is replaced by empty characters) . Please advise.

  6. I want to convert 1.jpg, 2.jpg, 3.jpg, … , 20.jpg in a single pdf using a command. The images should be in order. (1.jpg then 2.jpg and so on) I am doing it with convert *.jpg my.pdf .
    but pdf is not ordered as I want. How can I do that ? Please advise.

    1. Reply to C. Patel
      I suspect the files are in alphabetic order instead of number order,
      so 1 10 11 12 2 3 4 5 6 7 8 9 for 1 to 12. Try using two digit numbering
      01 02 03 04 05 06 07 08 09 10 11 12.

      Good luck.

  7. For modern Debian or Ubuntu based distros like Linux Mint, you can get the “convert” command by installing package:

    “poppler-utils” (for all PDF related tasks).

    With this package, you’ll get:
    * pdfdetach — lists or extracts embedded files (attachments)
    * pdffonts — font analyzer
    * pdfimages — image extractor
    * pdfinfo — document information
    * pdfseparate — page extraction tool
    * pdftocairo — PDF to PNG/JPEG/PDF/PS/EPS/SVG converter using Cairo
    * pdftohtml — PDF to HTML converter
    * pdftoppm — PDF to PPM/PNG/JPEG image converter
    * pdftops — PDF to PostScript (PS) converter
    * pdftotext — text extraction
    * pdfunite — document merging tool

    Enjoy ;-)

Leave a Comment