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
на любое необходимое разрешение. (Очевидно, удалите обратную косую черту, если вы записываете всю команду одной строкой.)
Это хорошо по двум причинам:
- Вам больше не нужно устанавливать ImageMagick. Не то чтобы я имел что-то против ImageMagick (я люблю это вдребезги), но я верю в простые решения.
- ImageMagick выполняет двухэтапное преобразование. Сначала PDF-> PPM, затем PPM-> JPEG. Таким образом, преобразование происходит за один шаг.
Другие вещи, которые следует учитывать: с файлами, которые я тестировал, PNG сжимает лучше, чем JPEG. Если вы хотите использовать PNG, измените -sDEVICE=jpeg
на -sDEVICE=png16m
.