





Для этого вы можете использовать утилиту ImageMagick convert, см. Некоторые примеры в http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :
Convert taxes.pdf taxes.jpgWill 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.jpgI can even convert the PDF directly to a jpeg thumbnail as follows:
convert -size 120x120 taxes.pdf -geometry 120x120 +profile '*' thumbnail.jpgThis will result in a thumbnail.jpg.0 and thumbnail.jpg.1 for the two pages.
Возможно, на ПК установлен Acrobat? Я думаю, что Acrobat устанавливает расширение оболочки, поэтому предварительный просмотр первой страницы документа PDF отображается в режиме эскизов проводника Windows. Вы можете получить эскизы самостоятельно через COM API IExtractImage, который вам нужно будет обернуть. VBAccelerator имеет пример на C#, который вы можете перенести на Python.
ImageMagick в любом случае делегирует преобразование PDF-> растрового изображения в GhostScript, поэтому вот команду, которую вы можете использовать (она основана на фактической команде, указанной делегатом ps:alpha в ImageMagick, только что настроенной для использования JPEG в качестве вывода):
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 и $INPUT - имена выходных и входных файлов. Настройте 72x72 на любое необходимое разрешение. (Очевидно, удалите обратную косую черту, если вы пишете всю команду как одну строку.)
Это хорошо по двум причинам:
Другие вещи, которые следует учитывать: с файлами, которые я тестировал, PNG сжимается лучше, чем JPEG. Если вы хотите использовать PNG, измените -sDEVICE=jpeg на -sDEVICE=png16m.
Зависимость GS все еще действительна (ImageMagick 7 уже существует)