Você pode listar ou extrair facilmente todas as imagens de um PDF (ou apenas de um intervalo de páginas específico) usando a ferramenta de linha de comando pdfimages
. Esta ferramenta está disponível para Linux, Unix, Mac OS X e Windows.
pdfimages -list -f 3 -l 7 my.pdf
O comando acima lista todas as imagens da página 3 ( -f
"first") para a página 7 ( -l
"last") sem extraí-las.
As versões mais recentes de pdfimages
incluem informações adicionais, como dimensões de largura / altura da imagem, taxa de compactação, espaço de cores, profundidade de bits, codificação de imagem e resolução resultante em comparação ao próprio tamanho da página 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%
Para extrair as imagens de uma página específica como JPEGs usam o parâmetro -j
:
kp@mbp:> pdfimages -j -f 11 -l 11 porsches-a4.pdf prefix
Isso extrairia todas as imagens da página 11. Seus nomes seriam prefix-000.jpg
, prefix-001.jpg
, prefix-002.jpg
etc.
OBSERVAÇÃO: Às vezes, a extração direta como JPEG não é possível. pdfimages
ainda os extrairá, embora em formato PNM
ou PPM
. Você pode facilmente convertê-los em PNG ou JPEG usando o comando convert
do ImageMagick:
convert some.ppm some.png
convert some.pnm some.jpg