the - pdf2image python
Obtenga una vista previa JPEG de un PDF en Windows? (3)
Tengo una aplicación multiplataforma (Python) que necesita generar una vista previa JPEG de la primera página de un PDF.
En Mac, estoy generando sips . ¿Hay algo similarmente simple que pueda hacer en Windows?
¿Es probable que la 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 IExtractImage COM, que deberá ajustar. VBAccelerator tiene un ejemplo en C # que puede transferir a Python.
Puede usar la utilidad de conversión 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: taxes.jpg.0, taxes.jpg.1
También puedo convertir estos archivos JPEG 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 dará como resultado un thumbnail.jpg.0 y thumbnail.jpg.1 para las dos páginas.
ImageMagick delega la conversión de 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, simplemente 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 entrada y salida. Ajuste el 72x72
a la resolución que necesite. (Obviamente, quite las barras diagonales inversas si está escribiendo todo el comando como una sola línea).
Esto es bueno por dos razones:
- Ya no es necesario que instale ImageMagick. No es que tenga nada en contra de ImageMagick (me encanta en pedazos), pero creo en soluciones simples.
- ImageMagick realiza una conversión de 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 usar PNG, cambie el -sDEVICE=jpeg
a -sDEVICE=png16m
.