Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How do I convert a multi-page PDF file to PNG files, and automatically save one PNG file per page of the PDF document (for Windows 7)?

I have tried virtual printers (CutePDF, Bullzip PDF Printer) and image editing software (Irfanview, Photoshop) to convert PDF files to PNG but I can't find a way to make them save one PNG file per page of a PDF document.

share|improve this question
Using Linux this is quite straightforward, with "pdf2ppm" to convert pdf to ppm and then "convert" (from imagemagick) to split ppm file to png files. – Olli Feb 9 '11 at 8:51
Using Mac OS X this is quite straightforward, with Automator and the "Render PDF Pages as Images" action, which converts a multi-page PDF to separate image files. – Daniel Beck Feb 9 '11 at 9:06
up vote 12 down vote accepted

Use Ghostscript

-sOutputFile=filename This is a general option telling Ghostscript what to name the output. It can either be a single filename 'tiger.png' or a template 'figure-%03d.jpg' where the %03d is replaced by the page number.

You may find it convenient to use GhostView, the GUI front end.

share|improve this answer
I experimented on a couple of options for GhostView and came to this group of options to automatically convert the PDF to PNGs without user prompts: -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf" Am I doing it right? I also would like to know what DPI I should set it to (I set it to 96 in this case) to have the same resolution as the source PDF. (The PDF files I am converting contains scanned images of a book or magazine, and does not have OCR text/information.) – galacticninja Feb 11 '11 at 7:21
If the source DPI is 96 and the image is likely to be mostly viewed on screen, 96 is a good choice for the output DPI, since that is the default display-DPI for MS Windows (though a few will set their display-DPI to 120). – RedGrittyBrick Feb 11 '11 at 9:54

If you prefer not to install any software, you can use this online tool:

The conversion is done inside your browser. It will produce one PNG file for each PDF page.

share|improve this answer
Works very well, alas the images are only 75 DPI, which is not enough for print output. – Kristof Oct 6 '15 at 10:42

This is an example with GS with the CropBox option:

"c:\Program Files\gs\gs9.10\bin\gswin64.exe" -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile="path_to_png_files\pdffilename-%03d.png" "path_to_pdf_file\pdffilename.pdf"

The path to GS should be adjusted based on your installation. Also, the DEVICE parameter could be changed to a color device if required. Compared to convert, GS seems to run much faster, and it is more suitable for big batches of conversion.

share|improve this answer
If I'm not cropping any part of the original PDF file or converted PNG images, do I still need to use 'CropBox'? If yes, how does it help with the conversion process? – galacticninja Jan 27 '15 at 3:35
The use of -dUseCropBox is not to perform any cropping. Instead, it forces that GS reads the CropBox info from the input PDF. This is necessary to have a robust conversion. – imriss Jan 27 '15 at 14:06

You can use PDF-XChange. It can export any pages you want to the expected format. Not only PNGs but many other formats are supported too)

share|improve this answer

Using ImageMagick (you'll need Ghostscript installed as well), the command:

convert -density 300 filename.pdf filename.png

will result in a series of files filename-0.png, filename-1.png, filename-2.png, one for each of the pages of the PDF. You'll want to play around with the density setting to get a resolution you like.

You may need to give the full path to convert.exe on Windows; I've only ever done this on Linux, but it should work for Windows too.

share|improve this answer
I've been trying the Ghostscript method in the other answer above, but would now like to try this method you suggested. I'd like to ask if the -density 300 argument means that the DPI setting is 300, or does it mean another thing? – galacticninja Aug 18 '11 at 6:58
Yes, see here. – frabjous Aug 18 '11 at 13:36
If you only want one page, follow the PDF file name with the page number in square brackets: filename.pdf[0] The page number is 0-based, so 0 is first page, 1 is second page, etc. – Abe Voelker Jul 28 '14 at 19:51
Just a note: ImageMagick's convert does use Ghostscript when rendering .pdfs, see… – sdaau Jan 26 '15 at 23:00

protected by Community Oct 7 '14 at 11:45

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.