Вы можете легко перечислить или извлечь все изображения из PDF (или просто из определенного диапазона страниц), используя инструмент командной строки pdfimages . Этот инструмент доступен для Linux, Unix, Mac OS X и Windows.
pdfimages -list -f 3 -l 7 my.pdf
Команда выше перечисляет все изображения со страницы 3 (-f "первая") до страницы 7 (-l "последняя") без их извлечения.
Самые последние версии pdfimages даже включают дополнительную информацию, такую как размеры изображения по ширине / высоте, коэффициент сжатия, цветовое пространство, глубина в битах, кодирование изображения и полученное разрешение по сравнению с собственным размером страницы PDF:
kp@mbp:> pdfimages -list -f 3 -l 7 porsches-a4.pdf
page num type width height color comp bpc enc interp object ID x-ppi y-ppi size ratio
--------------------------------------------------------------------------------------------
3 0 image 1920 1440 rgb 3 8 jpeg no 20 0 175 175 182K 2.2%
4 1 image 1920 1440 rgb 3 8 jpeg no 26 0 175 175 130K 1.6%
5 2 image 1920 1440 rgb 3 8 jpeg no 32 0 175 175 92.1K 1.1%
6 3 image 1920 1440 rgb 3 8 jpeg no 38 0 175 175 233K 2.9%
7 4 image 1920 1440 rgb 3 8 jpeg no 44 0 175 175 238K 2.9%
Чтобы извлечь изображения конкретной страницы в формате JPEG, используйте параметр -j :
kp@mbp:> pdfimages -j -f 11 -l 11 porsches-a4.pdf prefix
Это позволит извлечь все изображения со страницы 11. Их имена будут prefix-000.jpg , prefix-001.jpg , prefix-002.jpg и т.д.
ПРИМЕЧАНИЕ. Иногда прямое извлечение в формате JPEG невозможно. pdfimages будет по-прежнему извлекать их, хотя и в формате PNM или PPM . Вы можете легко преобразовать их в PNG или JPEG, используя команду convert ImageMagick:
convert some.ppm some.png
convert some.pnm some.jpg