Получить предварительный просмотр PDF-файла в формате JPEG в Windows?

StackOverflow https://stackoverflow.com/questions/502

  •  08-06-2019
  •  | 
  •  

Вопрос

У меня есть кроссплатформенное приложение (Python), которому необходимо создать предварительный просмотр первой страницы PDF-файла в формате JPEG.

На Mac я спавнюсь глотками.Есть ли что-нибудь такое же простое, что я могу сделать в Windows?

Это было полезно?

Решение

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 к любому разрешению, которое вам нужно.(Разумеется, уберите обратную косую черту, если вы записываете всю команду в одну строку.)

Это хорошо по двум причинам:

  1. Вам больше не нужно устанавливать ImageMagick.Не то чтобы я имел что-то против ImageMagick (мне он очень нравится), но я верю в простые решения.
  2. ImageMagick выполняет двухэтапное преобразование.Сначала PDF->PPM, затем PPM->JPEG.Таким образом, преобразование происходит в один шаг.

Другие вещи, которые следует учитывать:файлы, которые я тестировал, PNG сжимаются лучше, чем JPEG.Если вы хотите использовать PNG, измените -sDEVICE=jpeg к -sDEVICE=png16m.

Другие советы

Для этого вы можете использовать утилиту преобразования ImageMagick, см. некоторые примеры в http://studio.imagemagick.org/pipermail/magick-users/2002-May/002636.html :

Convert taxes.pdf taxes.jpg 

Преобразует двухстраничный PDF-файл в [2] файла jpeg:налоги.jpg.0, налоги.jpg.1

Я также могу преобразовать эти JPEG в миниатюры следующим образом:

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

Я даже могу преобразовать PDF-файл непосредственно в миниатюру JPEG следующим образом:

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

Это приведет к миниатюре.

Вероятно ли, что на ПК установлен Acrobat?Я думаю, что Acrobat устанавливает расширение оболочки, поэтому предварительный просмотр первой страницы PDF-документа отображается в виде миниатюр в проводнике Windows.Вы можете получить миниатюры самостоятельно через COM API IExtractImage, который вам нужно будет обернуть. У VBAccelerator есть пример на C#. что вы можете портировать на Python.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top