Кстати, одна из причин, по которой ImageMagick работает намного медленнее, заключается в том, что он дважды вызывает Ghostscript. Он не конвертирует PDF => PNG за один раз, но использует 2 разных шага:
- сначала он использует Ghostscript для
PDF => PostScript
конвертации;
- Затем он использует Ghostscript для
PostScript => PNG
преобразования.
Вы можете узнать подробные настройки «делегатов» ImageMagick (внешние программы, которые использует ImageMagick, например Ghostscript), набрав
convert -list delegate
(В моей системе это список из 32 различных команд.) Теперь, чтобы увидеть, какие команды используются для преобразования в PNG, используйте это:
convert -list delegate | grep -i png
Хорошо, это было для Linux. Если вы используете Windows, попробуйте это:
convert -list delegate | findstr /i png
Вы обнаружите, что IM генерирует PNG только из PS или EPS. Итак, как IM получает (E) PS из вашего PDF? Легко:
convert -list delegate | findstr /i PDF
convert -list delegate | grep -i PDF
Ах! Он использует Ghostscript для преобразования PDF => PS, затем снова использует Ghostscript для преобразования PS => PNG. Работает, но не самый эффективный способ, если вы знаете, что Ghostscript может сделать PDF => PNG за один раз. И быстрее. И в гораздо лучшем качестве.
Об обработке IM преобразования PDF в изображения через делегата Ghostscript вы должны знать две вещи, прежде всего:
- По умолчанию, если вы не укажете дополнительный параметр, Ghostscript будет выводить изображения с разрешением 72 точек на дюйм. Вот почему иногда люди здесь предлагают добавить
-density 600
в качестве convert
параметра, который говорит Ghostscript, использовать разрешение 600 точек на дюйм для вывода изображения.
- Обход IM для вызова Ghostscript дважды, чтобы сначала конвертировать,
PDF => PS
а затем PS => PNG
- настоящая ошибка. Потому что вы никогда не выигрываете и не теряете качество на первом этапе, но очень часто теряете его. Причины:
- PDF может обрабатывать прозрачные пленки, а PostScript - нет.
- PDF может встраивать шрифты TrueType, чего не может PostScript. etc.pp.
(Преобразование в обратном направлении PS => PDF
, поэтому не так критично ....)
Вот почему я предложил вам конвертировать PDF-файлы за один раз в PNG (или JPEG), используя Ghostscript напрямую. И использовать самую последнюю версию 8.71 (скоро будет выпущена: 9.00) Ghostscript ...