ti-enxame.com

Como converter PDF para Image?

Eu tenho requisito de converter PDF páginas para imagens. Existe uma imagem de fundo com algum texto escrito, por isso, quando guardo isto como imagem, apenas a imagem de fundo foi guardada.

Existe algum software disponível para o mesmo, para que a página completa possa ser convertida em imagem?

296
Deependra Solanky
  1. Instale imagemagick .

  2. Usando um terminal onde o PDF está localizado:

    • Para o documento completo:

      convert -density 150 input.pdf -quality 90 output.png
      
    • Para uma única página:

      convert -density 150 input.pdf[666] -quality 90 output.png
      

Através do qual:

  • PNG, JPG ou (virtualmente) qualquer outro formato de imagem pode ser escolhido.

  • -density xxx irá definir o DPI para xxx (comum são 150 e 300).

  • -quality xxx definirá a compactação como xxx para formatos de arquivo PNG, JPG e MIFF (100 significa sem compactação).

  • [666] irá converter apenas a 667ª página para PNG (numeração baseada em zero, então [0] é a primeira página).

  • Todas as outras opções (como corte, escala de cinza, etc.) podem ser visualizadas no site de Image Magic .

277
Binarylife

Você pode usar pdftoppm para converter um PDF em um PNG:

pdftoppm input.pdf outputname -png

Isso produzirá cada página no PDF usando o formato outputname-01.png, com 01 sendo o índice da página.

Convertendo uma única página do PDF

pdftoppm input.pdf outputname -png -f {page} -singlefile

Altere {page} para o número da página. É indexado em 1, então -f 1 seria a primeira página.

Especificando a resolução da imagem convertida

A resolução padrão para esse comando é de 150 DPI. O aumento resultará em um tamanho de arquivo maior e em mais detalhes.

Para aumentar a resolução do PDF convertido, adicione as opções -rx {resolution} e -ry {resolution}. Por exemplo:

pdftoppm input.pdf outputname -png -rx 300 -ry 300
356
enzotib

O IIRC GIMP é capaz de usar PDFs, ou seja, convertê-los em imagens. Então, se você quiser editar as imagens imediatamente - o GIMP é seu amigo.

20
tesseract

A resposta aceita atualmente funciona, mas resulta em uma saída que é maior em tamanho e sofre de perda de qualidade.

O método na resposta dada aqui resulta em uma saída que é comparável em tamanho à entrada e não sofre perda de qualidade.

TLDR - Use pdfimages: pdfimages -j input.pdf output

Citando a resposta vinculada:

Não está claro o que você quer dizer com "perda de qualidade". Isso pode significar muitas coisas diferentes. Você poderia postar algumas amostras para ilustrar? Talvez corte a mesma seção fora da má qualidade e versões de boa qualidade (como um PNG para evitar mais perda de qualidade).

Talvez você precise usar -density para fazer a conversão em um dpi maior:

convert -density 300 file.pdf page_%04d.jpg

(Você pode acrescentar -units PixelsPerInch ou -units PixelsPerCentimeter se necessário. Minha cópia padrão é ppi.)

Atualização: Como você apontou, gscan2pdf (o jeito que você está usando) é apenas um wrapper para pdfimages (de poppler =). pdfimages não faz a mesma coisa que convert faz quando recebe um PDF como entrada.

convert pega o PDF, renderiza-o em alguma resolução e usa o bitmap resultante como a imagem de origem.

pdfimages examina o PDF para imagens de bitmap incorporadas e exporta cada uma para um arquivo. Ele simplesmente ignora qualquer comando de desenho de texto ou vetor no PDF.

Como resultado, se o que você tem é um PDF que é apenas um wrapper em torno de uma série de bitmaps, pdfimages fará um trabalho muito melhor de extraí-los, porque ele obtém os dados brutos em seu tamanho original. Você provavelmente também deseja usar a opção -j para pdfimages, porque um PDF pode conter dados JPEG não processados. Por padrão, pdfimages converte tudo em formato PNM e converter JPEG> PPM> JPEG é um processo com perdas.

Então tente

pdfimages -j file.pdf page

Você pode ou não precisar seguir isso com uma etapa convert para .jpg (dependendo de qual formato de bitmap o PDF estava usando).

Eu tentei este comando em um PDF que eu tinha feito a partir de uma seqüência de imagens JPEG. Os JPEGs extraídos eram byte a byte idênticos às imagens de origem. Você não pode obter uma qualidade superior a isso.

12
Anmol Singh Jaggi

Se os seus pdfs são digitalizados, as imagens já estão armazenadas como parte do pdf. você simplesmente precisará extraí-los com pdfimages:

pdfimages my-file.pdf prefix 
7
VitoshKa

Para obter uma única página do gm convert, adicione [N] (com N o número da página a partir de 0) ao PDF nome, ou seja, gm convert foo.pdf[11] out.png para obter a 12ª página do PDF.

Para pdftoppm use -f N -singlefile, onde N é o número da página começando em 1, ou seja, pdftoppm -f 12 -singlefile foo.pdf out para o mesmo resultado. Parece que sempre adiciona ".png" ao nome do arquivo de saída e não há como parar isso.

3
user3080602

Você pode usar converter e especificar uma densidade maior usando a opção -density.

por exemplo. convert -d 300 foo.pdf bar.png

2
Arjun

Mestre PDF Editor (versão 2.2) tem esta opção em ação. Abra o arquivo PDF e vá para Arquivo> Exportar para> Imagens. Ele apresenta um diálogo onde você pode definir diferentes opções para a saída. Extremamente útil. Espero que esta informação ajude.

1
Rush

Se você quiser converter apenas uma página específica de um PDF para um PNG, você pode canalizar pdftk para convert ( descrito acima ) desta forma:

pdftk document.pdf cat 12 output - | convert - document-page-12.png
1
IQAndreas

O PDF Mod também permite exportar imagens de todas ou de páginas individuais de arquivos PDF.

  • Abra o arquivo PDF em PDF Mod
  • Selecionar página (s) -
  • Editar> Exportar imagem (s)
0
nhylated