Question

J'ai une application multiplateforme (Python) qui doit générer un aperçu JPEG de la première page d'un PDF.

Sur Mac, je spawn gorgées.Existe-t-il quelque chose d’aussi simple que je puisse faire sous Windows ?

Était-ce utile?

La solution

ImageMagick délègue de toute façon la conversion PDF->bitmap à GhostScript, voici donc une commande que vous pouvez utiliser (elle est basée sur la commande réelle répertoriée par le ps:alpha délégué dans ImageMagick, juste ajusté pour utiliser JPEG comme sortie) :

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

$OUTPUT et $INPUT sont les noms de fichiers de sortie et d’entrée.Ajuste le 72x72 à la résolution dont vous avez besoin.(Évidemment, supprimez les barres obliques inverses si vous écrivez la commande entière sur une seule ligne.)

C’est bien pour deux raisons :

  1. Vous n'avez plus besoin d'installer ImageMagick.Non pas que j'ai quelque chose contre ImageMagick (je l'aime en morceaux), mais je crois aux solutions simples.
  2. ImageMagick effectue une conversion en deux étapes.D'abord PDF->PPM, puis PPM->JPEG.De cette façon, la conversion se fait en une seule étape.

Autres éléments à considérer :avec les fichiers que j'ai testés, le PNG se compresse mieux que le JPEG.Si vous souhaitez utiliser PNG, modifiez le -sDEVICE=jpeg à -sDEVICE=png16m.

Autres conseils

Vous pouvez utiliser l'utilitaire de conversion d'ImageMagick pour cela, voir quelques exemples dans http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :

Convert taxes.pdf taxes.jpg 

Convertira un fichier PDF de deux pages en [2] fichiers jpeg :taxes.jpg.0, taxes.jpg.1

Je peux également convertir ces JPEGS en vignette comme suit :

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

Je peux même convertir le PDF directement en vignette jpeg comme suit :

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

Cela se traduira par une miniature.jpg.0 et thumbnail.jpg.1 pour les deux pages.

Acrobat est-il probablement installé sur le PC ?Je pense qu'Acrobat installe une extension shell afin que les aperçus de la première page d'un document PDF apparaissent dans la vue miniature de l'Explorateur Windows.Vous pouvez obtenir vous-même des vignettes via l'API COM IExtractImage, que vous devrez envelopper. VBAccelerator a un exemple en C# que vous pourriez porter sur Python.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top