python - Holen Sie sich eine Vorschau JPEG einer PDF unter Windows?

original title: "python - Get a preview JPEG of a PDF on Windows?"


I have a cross-platform (Python) application which needs to generate a JPEG preview of the first page of a PDF.

On the Mac I am spawning sips. Is there something similarly simple I can do on Windows?

Ich habe eine plattformübergreifende (Python) Anwendung, die eine JPEG-Vorschau der ersten Seite einer PDF-Datei erstellen muss. Auf dem Mac laiche ich Schlucke. Gibt es etwas ähnlich Einfaches, das ich mit Win machen kann ...

Dies ist die Zusammenfassung nach der Übersetzung. Wenn Sie die vollständige Übersetzung anzeigen möchten, klicken Sie auf das Symbol "Übersetzen"

Alle Antworten
  • Translate

    ImageMagick delegates the PDF->bitmap conversion to GhostScript anyway, so here's a command you can use (it's based on the actual command listed by the ps:alpha delegate in ImageMagick, just adjusted to use JPEG as output):

    -dMaxBitmap=500000000 -dLastPage=1 -dAlignToPixels=0 -dGridFitTT=0 \
    -sDEVICE=jpeg -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -r72x72 \
    -sOutputFile=$OUTPUT -f$INPUT

    where $OUTPUT and $INPUT are the output and input filenames. Adjust the 72x72 to whatever resolution you need. (Obviously, strip out the backslashes if you're writing out the whole command as one line.)

    This is good for two reasons:

    1. You don't need to have ImageMagick installed anymore. Not that I have anything against ImageMagick (I love it to bits), but I believe in simple solutions.
    2. ImageMagick does a two-step conversion. First PDF->PPM, then PPM->JPEG. This way, the conversion is one-step.

    Other things to consider: with the files I've tested, PNG compresses better than JPEG. If you want to use PNG, change the -sDEVICE=jpeg to -sDEVICE=png16m.

  • Translate

    You can use ImageMagick's convert utility for this, see some examples in :

    Convert taxes.pdf taxes.jpg 

    Will convert a two page PDF file into [2] jpeg files: taxes.jpg.0, taxes.jpg.1

    I can also convert these JPEGS to a thumbnail as follows:

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

    I can even convert the PDF directly to a jpeg thumbnail as follows:

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

    This will result in a thumbnail.jpg.0 and thumbnail.jpg.1 for the two pages.

  • Translate

    Is the PC likely to have Acrobat installed? I think Acrobat installs a shell extension so previews of the first page of a PDF document appear in Windows Explorer's thumbnail view. You can get thumbnails yourself via the IExtractImage COM API, which you'll need to wrap. VBAccelerator has an example in C# that you could port to Python.