2011-06-03 8 views
7

por lo general soy capaz de utilizar Ghostscript para convertir archivos PDF a PNG con el comando:¿Cómo se convierten archivos PDF a PNG con ghostscript?

gs \ 
-q \ 
-dNOPAUSE \ 
-dBATCH \ 
-sDEVICE=pnggray \ 
-g2550x3300 \ 
-dPDFFitPage \ 
-sOutputFile=output.png \ 
    input.pdf 

Pero esto no funciona para algunos archivos PDF. Por ejemplo, el comando anterior convierte este PDF file a este PNG - el PDF original es solo una imagen pequeña en la esquina inferior izquierda de PNG, en lugar de llenar toda la página.

¿Existe alguna forma más robusta de convertir archivos PDF a PNG con ghostscript o alguna otra herramienta de línea de comandos?

Nota: Si genero un nuevo archivo PDF desde la problemática a través de "imprimir -> guardar como PDF" en Vista previa en OS X, entonces el comando funciona bien.

Respuesta

7

Simplemente use ImageMagick's convert.

convert foo.pdf foo.png 

puede tener un control más preciso sobre el número de página con las cadenas de formato, por ejemplo:

convert foo.pdf "foo-%03d.png" 

Y, por supuesto, son las otras opciones miríada de ImageMagick, pero el comando básico anterior es todo lo que necesita la mayor parte del tiempo.

Editar: acerca de su "bad.pdf":

La respuesta corta es añadir la opción -dUseCropBox a su comando gs o -define pdf:use-cropbox=true al comando de conversión.

gs \ 
-q \ 
-dNOPAUSE \ 
-dBATCH \ 
-sDEVICE=pnggray \ 
-g2550x3300 \ 
-dPDFFitPage \ 
-dUseCropBox \ 
-sOutputFile=output.png \ 
    input.pdf 

o

convert \ 
-density 300 \ 
-define pdf:use-cropbox=true \ 
    foo.pdf \ 
    foo.png 

Si ver el PDF en un editor de texto se puede ver que un CropBox y una MediaBox se especifican, y que el CropBox es mucho menor.

+1

Esto no parece ser el truco con el problemático archivo pdf que publiqué ... El comando ghostscript que publiqué normalmente también funciona, pero no para ese archivo. –

+0

@Sharad Goel, ver edición :) – rlibby

+0

Gracias - la corrección de la caja de cultivo funcionó muy bien! –

Cuestiones relacionadas