Сведения о вопросе

HOLY

16:03, 1st July, 2020

Теги

python   windows   image   pdf    

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

Просмотров: 502   Ответов: 3

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

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



  Сведения об ответе

LAST

18:03, 1st July, 2020

ImageMagick делегирует преобразование PDF - >bitmap в 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 .


  Сведения об ответе

crush

18:03, 1st July, 2020

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

Convert taxes.pdf taxes.jpg 

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

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

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

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

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

Это приведет к получению thumbnail.jpg.0 и thumbnail.jpg.1 для этих двух страницы.


  Сведения об ответе

prince

18:03, 1st July, 2020

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться