Вы можете легко перечислить или извлечь все изображения из 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