¿Cómo convertir un archivo PDF de varias páginas a archivos PNG, con un archivo PNG por página del documento PDF?

30

¿Cómo convierto un archivo PDF de varias páginas en archivos PNG y guardo automáticamente un archivo PNG por página del documento PDF (para Windows 7)?

He probado las impresoras virtuales (CutePDF, Bullzip PDF Printer) y el software de edición de imágenes (Irfanview, Photoshop) para convertir archivos PDF a PNG, pero no encuentro la manera de hacer que guarden un archivo PNG por página de un documento PDF.

galacticninja
fuente
1
Usar Linux es bastante sencillo, con "pdf2ppm" para convertir pdf a ppm y luego "convertir" (de imagemagick) para dividir el archivo ppm en archivos png.
Olli
1
Con Mac OS X esto es bastante sencillo, con Automator y la acción "Renderizar páginas PDF como imágenes", que convierte un PDF de varias páginas en archivos de imagen separados.
Daniel Beck

Respuestas:

18

Use Ghostscript

-sOutputFile = filename Esta es una opción general que le dice a Ghostscript qué nombre debe dar a la salida. Puede ser un solo nombre de archivo 'tiger.png' o una plantilla 'figure-% 03d.jpg' donde% 03d se reemplaza por el número de página.

Puede resultarle conveniente utilizar GhostView, la interfaz gráfica de usuario.

RedGrittyBrick
fuente
55
Experimenté con un par de opciones para GhostView y vine a este grupo de opciones para convertir automáticamente el PDF a PNG sin las indicaciones del usuario: -dBATCH -dNOPAUSE -sDEVICE=png16m -r96 -sOutputFile="C:\directory_Output\%03d.png" "C:\directory_Input\pdfname.pdf"¿Lo estoy haciendo bien? También me gustaría saber en qué DPI debería configurarlo (lo configuré en 96 en este caso) para tener la misma resolución que el PDF de origen. (Los archivos PDF que estoy convirtiendo contienen imágenes escaneadas de un libro o revista, y no tienen texto / información de OCR.)
galacticninja
Si el DPI de origen es 96 y es probable que la imagen se vea principalmente en la pantalla, 96 es una buena opción para el DPI de salida, ya que ese es el DPI de pantalla predeterminado para MS Windows (aunque algunos establecerán su DPI de pantalla en 120)
RedGrittyBrick
25

Usando ImageMagick (también necesitará instalar Ghostscript ), el comando:

convert -density 300 filename.pdf filename.png

dará lugar a una serie de archivos filename-0.png, filename-1.png, filename-2.png, uno para cada una de las páginas del PDF. Querrá jugar con la configuración de densidad para obtener la resolución que desee.

Es posible que deba proporcionar la ruta completa a convert.exe en Windows; Solo he hecho esto en Linux, pero también debería funcionar para Windows.

precioso
fuente
He estado probando el método Ghostscript en la otra respuesta anterior, pero ahora me gustaría probar este método que sugirió. Me gustaría preguntar si el -density 300argumento significa que la configuración de DPI es 300, ¿o significa algo más?
galacticninja
Sí, mira aquí .
frabjous
3
Si solo desea una página, siga el nombre del archivo PDF con el número de página entre corchetes: filename.pdf[0]el número de página está basado en 0, por lo que 0 es la primera página, 1 es la segunda página, etc. stackoverflow.com/a/12614851/215168
Abe Voelker
Solo una nota: ImageMagick's convertusa Ghostscript cuando .pdf
procesa
para que esto funcione gstiene que llamar al binario ghostscript ( gsalias git status)
duhaime
2

Si prefiere no instalar ningún software, puede usar esta herramienta en línea:

convert.town/pdf-to-png

La conversión se realiza dentro de su navegador. Producirá un archivo PNG para cada página PDF.

puesta de sol
fuente
Funciona muy bien, por desgracia, las imágenes son solo 75 DPI, lo que no es suficiente para la salida de impresión.
ƘɌỈSƬƠƑ
2

Puede usar PDF-XChange . Puede exportar cualquier página que desee al formato esperado. No solo se admiten PNG, sino también muchos otros formatos

Cuadro de diálogo Exportar imágenes

Menú de exportación

phuclv
fuente
1

Este es un ejemplo GScon la CropBoxopción:

"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"

La ruta a GSdebe ajustarse según su instalación. Además, el DEVICEparámetro podría cambiarse a un dispositivo de color si es necesario. En comparación con convert, GSparece correr mucho más rápido, y es más adecuado para grandes lotes de conversión.

imriss
fuente
Si no estoy recortando ninguna parte del archivo PDF original o imágenes PNG convertidas, ¿todavía necesito usar 'CropBox'? En caso afirmativo, ¿cómo ayuda con el proceso de conversión?
galacticninja
El uso de -dUseCropBoxno es para realizar ningún recorte. En cambio, obliga a que GSlea la CropBoxinformación del PDF de entrada. Esto es necesario para tener una conversión robusta.
Imriss
0

Otro software para hacer la conversión es PDFCreator . Creará una nueva impresora en su sistema para que pueda convertir de cualquier formato a imágenes , no solo archivos PDF

  • Convierta sus documentos a PDF, JPG, PNG, TIF y más
  • Combinar múltiples documentos en un archivo
  • Los perfiles hacen que las configuraciones usadas frecuentemente estén disponibles con un clic
  • Utilice el guardado automático para tener una impresora PDF totalmente automatizada
  • Nos ocupamos de la complejidad y simplificamos la conversión de PDF

Más importante aún, también es de código abierto

Simplemente imprima el documento, seleccione el PDFCreator y elija la salida como PNG (o TIFF, JPG, lo que sea ...) y listo

Captura de pantalla de PDFCreator

phuclv
fuente