Como converter um arquivo PDF de várias páginas em arquivos PNG, com um arquivo PNG por página do documento PDF?

30

Como converter um arquivo PDF de várias páginas em arquivos PNG e salvar automaticamente um arquivo PNG por página do documento PDF (para Windows 7)?

Tentei impressoras virtuais (CutePDF, Bullzip PDF Printer) e software de edição de imagens (Irfanview, Photoshop) para converter arquivos PDF em PNG, mas não consigo encontrar uma maneira de fazê-los salvar um arquivo PNG por página de um documento PDF.

galacticninja
fonte
11
Usando o Linux, isso é bastante simples, com "pdf2ppm" para converter pdf em ppm e depois "convert" (da imagemagick) para dividir o arquivo ppm em arquivos png.
Olli
11
No Mac OS X, isso é bastante simples, com o Automator e a ação "Renderizar páginas em PDF como imagens", que converte um PDF de várias páginas em arquivos de imagem separados.
Daniel Beck

Respostas:

18

Use o Ghostscript

-sOutputFile = filename Esta é uma opção geral que informa ao Ghostscript como nomear a saída. Pode ser um único nome de arquivo 'tiger.png' ou um modelo 'figure-% 03d.jpg' onde o% 03d é substituído pelo número da página.

Você pode achar conveniente usar o GhostView, o front end da GUI.

RedGrittyBrick
fonte
5
Eu experimentei algumas opções para o GhostView e cheguei a esse grupo de opções para converter automaticamente o PDF em PNG sem avisos do usuário: -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf"Estou fazendo certo? Também gostaria de saber em que DPI devo defini-lo (neste caso, defino-o como 96) para ter a mesma resolução que o PDF de origem. (Os arquivos PDF Eu estou convertendo contém imagens digitalizadas de um livro ou revista, e não tem OCR texto / informações.)
galacticninja
Se o DPI de origem for 96 e a imagem provavelmente for vista principalmente na tela, 96 é uma boa opção para o DPI de saída, pois esse é o DPI de exibição padrão para o MS Windows (embora alguns configurem seu DPI de exibição como 120)
RedGrittyBrick
25

Usando o ImageMagick (você também precisará do Ghostscript instalado), o comando:

convert -density 300 filename.pdf filename.png

irá resultar em uma série de arquivos filename-0.png, filename-1.png, filename-2.png, um para cada uma das páginas do PDF. Você vai querer brincar com a configuração de densidade para obter a resolução que desejar.

Pode ser necessário fornecer o caminho completo para convert.exe no Windows; Só fiz isso no Linux, mas também deve funcionar no Windows.

frabjous
fonte
Eu tenho tentado o método Ghostscript na outra resposta acima, mas agora gostaria de tentar o método que você sugeriu. Gostaria de perguntar se o -density 300argumento significa que a configuração de DPI é 300 ou isso significa outra coisa?
Galacticninja #
Sim, veja aqui .
frabjous
3
Se você deseja apenas uma página, siga o nome do arquivo PDF com o número da página entre colchetes: filename.pdf[0]O número da página é baseado em 0, então 0 é a primeira página, 1 é a segunda página, etc. stackoverflow.com/a/12614851/215168
Abe Voelker
Apenas uma observação: o ImageMagick's convertusa Ghostscript ao renderizar .pdfs, consulte stackoverflow.com/questions/14705727/…
sdaau
Para que isso funcione gstem que chamar o binário ghostscript (eu tinha gsalias git status)
duhaime
2

Se você preferir não instalar nenhum software, poderá usar esta ferramenta online:

convert.town/pdf-to-png

A conversão é feita dentro do seu navegador. Ele produzirá um arquivo PNG para cada página PDF.

pôr do sol
fonte
Funciona muito bem, infelizmente as imagens são de apenas 75 DPI, o que não é suficiente para a impressão.
ƘɌỈSƬƠƑ
2

Você pode usar o PDF-XChange . Ele pode exportar as páginas que você deseja para o formato esperado. Não apenas PNGs, mas muitos outros formatos também são suportados

Caixa de diálogo Exportar imagens

Menu Exportar

phuclv
fonte
1

Este é um exemplo GScom a CropBoxopção:

"c:\Program Files\gs\gs9.10\bin\gswin64.exe" -dBATCH -dNOPAUSE -sDEVICE=pnggray -r300 -dUseCropBox -sOutputFile="path_to_png_files\pdffilename-%03d.png" "path_to_pdf_file\pdffilename.pdf"

O caminho para GSdeve ser ajustado com base na sua instalação. Além disso, o DEVICEparâmetro pode ser alterado para um dispositivo colorido, se necessário. Em comparação com convert, GSparece correr muito mais rápido e é mais adequado para grandes lotes de conversão.

irritar
fonte
Se não estiver cortando nenhuma parte do arquivo PDF original ou imagens PNG convertidas, ainda preciso usar o 'CropBox'? Se sim, como isso ajuda no processo de conversão?
Galacticninja
O uso de -dUseCropBoxnão é para realizar qualquer corte. Em vez disso, força a GSleitura das CropBoxinformações do PDF de entrada. Isso é necessário para ter uma conversão robusta.
imriss
0

Outro software para fazer a conversão é o PDFCreator . Ele criará uma nova impressora em seu sistema para que você possa converter de qualquer formato para imagem , não apenas arquivos PDF

  • Converta seus documentos para PDF, JPG, PNG, TIF e muito mais
  • Mesclar vários documentos em um arquivo
  • Os perfis disponibilizam as configurações usadas com frequência com um clique
  • Use o salvamento automático para ter uma impressora PDF totalmente automatizada
  • Nós cuidamos da complexidade e simplificamos a conversão de PDFs para você

Mais importante, também é de código aberto

Basta imprimir o documento, selecionar o PDFCreator e escolher a saída como PNG (ou TIFF, JPG, qualquer que seja ...) e pronto

Captura de tela do PDFCreator

phuclv
fonte