Чтобы преобразовать PDF со 100 страницами в отдельные файлы PNG, я использовал следующую команду:

C:\Program files\ImageMagick\convert -density 150 -alpha Opaque file.pdf file.png

Но это привело к тому, что PNG были перенасыщены. Вот почему я изменил команду на следующую, добавив параметр colorspace :

C:\Program files\ImageMagick\convert -colorspace sRGB -density 150 -alpha Opaque file.pdf file.png

Цвета сейчас выглядят хорошо. Однако теперь конвертируется только первая страница PDF, а все остальные просто удаляются. Зачем? Порядок аргументов неправильный? Я проверял разные заказы, но ни один из них не был успешным

Однако прямой доступ к последующим страницам (через file.pdf[1] и т.д.) Работает. Но почему он больше не конвертирует весь документ в пакетном режиме?

Информация о версии ImageMagick:

Version: ImageMagick 6.8.1-9 2013-01-04 Q16 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2013 ImageMagick Studio LLC
Features: OpenMP
Delegates: bzlib freetype jp2 jpeg lcms lzma ps tiff x xml zlib

1 ответ1

0

Я использовал следующий маленький обходной путь для решения проблемы, но мне это явно не нравится:

for /L %%p in (1,1,100) do C:\ImageMagick\convert -colorspace sRGB -density 150 -alpha Opaque file.pdf[%%p] file-%%p.png

Изменить: Есть и лучшее решение:

  1. В delegates.xml ImageMagick, в в разделе <delegate decode="ps:alpha" заменить sDEVICE=pngalpha по sDEVICE=pnmraw
  2. Используйте C:\ImageMagick\convert -colorspace sRGB -density 150 -alpha off file.pdf file.png

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .