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

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

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

Ответы [ 3 ]

33 голосов
/ 10 августа 2008

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.

11 голосов
/ 02 августа 2008

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

Convert taxes.pdf taxes.jpg 

Преобразует двухстраничный PDF-файл в [2] JPEG-файлы: tax.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 для двух стр.

3 голосов
/ 10 августа 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...