Obtener una vista previa JPEG de un PDF en Windows?


Tengo una aplicación multiplataforma (Python) que necesita generar una vista previa JPEG de la primera página de un PDF.

En el Mac estoy desovando sorbos. ¿Hay algo similarmente simple que pueda hacer en Windows?

Author: Peter Mortensen, 2008-08-02

3 answers

ImageMagick delega la conversión PDF->bitmap a GhostScript de todos modos, así que aquí hay un comando que puede usar (se basa en el comando real listado por el delegado ps:alpha en ImageMagick, solo ajustado para usar JPEG como salida):

gs -q -dQUIET -dPARANOIDSAFER -dBATCH -dNOPAUSE -dNOPROMPT \
-dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
-sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
-sOutputFile=$OUTPUT -f$INPUT

Donde $OUTPUT y $INPUT son los nombres de archivo de salida y entrada. Ajuste el 72x72 a cualquier resolución que necesite. (Obviamente, elimine las barras invertidas si está escribiendo todo el comando como una línea.)

Esto es bueno para dos razones:

  1. Ya no es necesario tener instalado ImageMagick. No es que tenga nada en contra de ImageMagick (me encanta), pero creo en soluciones simples.
  2. ImageMagick realiza una conversión en dos pasos. Primero PDF- > PPM, luego PPM- > JPEG. De esta manera, la conversión es de un solo paso.

Otras cosas a considerar: con los archivos que he probado, PNG se comprime mejor que JPEG. Si desea utilizar PNG, cambie -sDEVICE=jpeg a -sDEVICE=png16m.

 31
Author: Chris Jester-Young,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-10 08:11:37

Puede usar la utilidad convertir de ImageMagick para esto, vea algunos ejemplos en http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :

Convert taxes.pdf taxes.jpg 

Convertirá un archivo PDF de dos páginas en [2] archivos jpeg: impuestos.jpg.0, impuesto.jpg.1

También puedo convertir estos JPEGS a una miniatura de la siguiente manera:

convert -size 120x120 taxes.jpg.0 -geometry 120x120 +profile '*' thumbnail.jpg

Incluso puedo convertir el PDF directamente a una miniatura jpeg de la siguiente manera:

convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpg

Esto resultará en una miniatura.jpg.0 y miniatura.jpg.1 para los dos pagina.

 12
Author: Federico Builes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-29 23:20:48

¿Es probable que el PC tenga instalado Acrobat? Creo que Acrobat instala una extensión de shell para que las vistas previas de la primera página de un documento PDF aparezcan en la vista en miniatura del explorador de Windows. Puede obtener miniaturas usted mismo a través de la API COM de IExtractImage, que deberá envolver. vbAccelerator tiene un ejemplo en C# que puedes portar a Python.

 3
Author: Dominic Cooney,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-10 07:10:19