How to extract image from PDF file

If you download XPDF for Windows (here), you'll find a few .exe files inside. You can run them without "installation". Use pdfimages.exe like this:

pdfimages.exe -help

This displays the help screen.

pdfimages.exe ^
    -j ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

This extracts all JPEGs as prefix-00N.jpg, and all the other images as prefix-00N.ppm (Portable PixMap).

[Edit by ComFreek: Please note the trailing slash in the destination path, which is important if you do not want to extract all images into its parent directory.] --
{Edit by KurtPfeifle: I do not agree with ComFreek's comment, but leave it to the readers to test and find out the differences in results themselves. My original parameter, not using a trailing slash, as ..\prefix will prefix the image names used for the extracted files.}

pdfimages.exe ^
    -j ^
    -f 11 ^
    -l 13 ^
    c:\path\to\your.pdf ^
    c:\path\to\where\you\want\images\prefix\

Same as before, but limits image extraction to pages 11 ('f' = first) to 13 ('l' = last).


Update:

In the meanwhile I prefer Poppler's version of pdfimages -- especially since it acquired this new feature: add -list to the commandline in order to just list (not extract) images contained in the PDF, plus some of their properties. Example:

pdfimages -list -f 7 -l 8  ct-magazin-14-2012.pdf

  page   num  type   width height color comp bpc  enc interp  object ID
  ---------------------------------------------------------------------
     7     0 image     581   838  rgb     3   8  jpeg   no        39  0
     7     1 image       4     4  rgb     3   8  image  no        40  0
     7     2 image     314   332  rgb     3   8  jpx    no        44  0
     7     3 image     358   430  rgb     3   8  jpx    no        45  0
     7     4 image       4     4  rgb     3   8  image  no        46  0
     7     5 image       4     4  rgb     3   8  image  no        47  0
     7     6 image       4     6  rgb     3   8  image  no        48  0
     7     7 image     596   462  rgb     3   8  jpx    no        49  0
     7     8 image       4     6  rgb     3   8  image  no        50  0
     7     9 image       4     4  rgb     3   8  image  no        51  0
     7    10 image       8    10  rgb     3   8  image  no        41  0
     7    11 image       6     6  rgb     3   8  image  no        42  0
     7    12 image     113    27  rgb     3   8  jpx    no        43  0
     8    13 image     582   839  gray    1   8  jpeg   no      2080  0
     8    14 image     344   364  gray    1   8  jpx    no      2079  0

Note again: this version of pdfimages is the one from Poppler (the one from XPDF does not (yet?) support this new feature), and the version must be v0.20.2 or newer.


You can try importing the PDF into Inkscape, and work from there. Inkscape will only open one page at time, but will give you complete control over the page contents. You will be able to extract and manipulate vector graphics from the PDF quite easily.

However, if you want to extract raster images from the PDF, I'm pretty sure pdfimages from XPDF is easier (but you can still try using Inkscape after learning how to extract embedded images from SVG files).


Without installing any software, you can switch to PDF-XChange Viewer (select Portable Version) which has this ability already build-in

  • exports all or selected pages as image
  • output format: PNG, JPG, TIFF, BMP
  • choose DPI, compression level, gray-scale
  • can save multiple pages as multi-page TIFF

    enter image description here

    enter image description here
    click to enlarge


Please be aware while this method converts whole PDF pages into images, the method explained from @Laurenz using Sumatra PDF is superior if you want to extract images from a PDF page with mixed content (image + text) to only get the image.