Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Конвертирование PDF to JPG с помощью ImageMagick  (Прочитано 19849 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн peregrine

  • FSM
  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 7203
  • Gentoo x64 Ubuntu 16.04.1 x64
    • Просмотр профиля
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #15 : 22 Ноября 2013, 15:28:29 »
kmk, так попробуй:
convert -quality 100 -density 300 -verbose -trim -scale 561x796 d09e5cee70216be07db96822c4ae7333.pdf -sharpen 0x1.0 img.jpg

adawdp

  • Гость
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #16 : 25 Ноября 2013, 07:07:31 »
Peregrine, я как лицо заинтересованное :) перемерял батарею очков разглядывая рисунки, вроде бы нормально получается приведенной командной…
— НО (!!!) анализ то органолептический :( т.е.  зависит целиком от органа чувств, в данном случае зрения и его качества, а зрение у меня не очень уже в связи с возрастом …
— Если будет время расскажите позалуйста когда вы составляли команду из чего вы исходили и как проверяли результат выполнения. Вы что меняли данные и каждый раз смотрели что получается?

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #17 : 25 Ноября 2013, 16:56:05 »
-quality 100 - это степень сжатия в % (по умолчанию в gimp 85%)
-density 300 - это количество точек на дюйм.
PS.
У меня была такая же проблема когда-то, я ее решил так.
Способ получения качественного пакетного преобразованиия по схеме:
PDF -> SVG -> PNG -> JPG.
PDF -> SVG (используется утилита pdf2svg
SVG -> PNG (используется inscape в режиме командной строки)
PNG -> JPG (используется ранее рассмотренная утилита convert из пакета Imagemagic)
« Последнее редактирование: 25 Ноября 2013, 17:03:42 от alexander.pronin »

adawdp

  • Гость
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #18 : 25 Ноября 2013, 18:32:50 »
-quality 100 - это степень сжатия в % (по умолчанию в gimp 85%)
-density 300 - это количество точек на дюйм.
— Что означают эти параметры я знал, man и help прочесть не трудно :), вопрос в другом, я так понимаю оценка „готового продукта“ не имеет чётких критериев и находится где-то на уровне „нравится- не травится“…
Способ получения качественного пакетного преобразованиия по схеме:
PDF -> SVG -> PNG -> JPG.
PDF -> SVG (используется утилита pdf2svg
SVG -> PNG (используется inscape в режиме командной строки)
PNG -> JPG (используется ранее рассмотренная утилита convert из пакета Imagemagic)
— Попробую обязательно, но полагаю тут нужно писать простенький скрипт(чтобы удобно было), потому как три преобразования  :(. Inscape в режиме командной строки никогда не применял и вообще как-то громоздко это всё выглядит… И опять таки как объективно определить качество? Ну не путём же голосования? :)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #19 : 26 Ноября 2013, 08:37:44 »
Inscape в режиме командной строки никогда не применял и вообще как-то громоздко это всё выглядит… И опять таки как объективно определить качество? Ну не путём же голосования? :)
Я тоже не применял и не знал, до первого раза ни разу. Пока не попробовал и был приятно удивлен.
man inkscape в помощь.
Качество я определял просто. Были pdf c текстами и при конвертировании мелкий текст становился плохо читабельным. Путем экспериментов я нащупал путь, где нет искажений текстов.
Громозко. Один раз напишете скрипт, а потом только используете. Я встроил эти фичи в наутилус. Процедура выглядит так: выделяю файлы в наутилусе, правой кнопкой мыши выхожу на сценарии и выполняю встроенный скрипт над ними.
Все дела.

Оффлайн kmk

  • Автор темы
  • Активист
  • *
  • Сообщений: 624
    • Просмотр профиля
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #20 : 26 Ноября 2013, 15:10:12 »
kmk, так попробуй:
convert -quality 100 -density 300 -verbose -trim -scale 561x796 d09e5cee70216be07db96822c4ae7333.pdf -sharpen 0x1.0 img.jpg

С помощью данных ключей получается довольно неплохо, но не идеально:

convert -quality 100 -density 300 -verbose -trim -scale 561x796 my_file.pdf -sharpen 0x1.0 my_file.jpg
(Сначала делается большая картинка без сжатия, после чего уменьшается и делается резче.)

Качество почти нормальное, приемлемое. Но края, все же, грубоваты. И на буквах зубья не маленькие. Но на скорую руку, и не придираясь, терпимо.



Еще в самом начале пробовал сделать то же самое. 300dpi уменьшал до нужных размеров, но качество не понравилось в сравнении с GIMP'ом.



Попробовал сделать сразу с нужным разрешением (96.23dpi) минуя "-scale"

convert -quality 100 -density 96.23 -verbose -trim my_file.pdf -sharpen 0x1.0 my_file.jpg
Однако, качество снова вышло ужасным.



Еще нужно попробовать без ключа "-sharpen", изображение должно стать более гладким.

я так понимаю оценка „готового продукта“ не имеет чётких критериев и находится где-то на уровне „нравится- не травится“

Пока идеал по фоновой картинке это GIMP:
(чуть порезче бы только)



а по тексту, полная конвертация GIMP'ом и уменьшение из 300dpi GIMP'ом одинаковы:



выхожу на сценарии и выполняю встроенный скрипт над ними.

Если не затруднит, поделитесь скриптом. Испытаем.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #21 : 26 Ноября 2013, 16:48:16 »
Способ получения гарантированного качественного изображения.

Иногда качество текста в JPG, получаемое из PDF при помощи прямого использования утилиты convert не устраивает. Тогда можно использовать такую процедуру последовательной конвертации получения JPG любого требуемого качества.
PDF -> SVG -> PNG -> JPG.
Приведем скрипты для встраивания в наутилус
1. PDF -> SVG (используется утилита pdf2svg
#!/bin/sh
# Конвертирование выбранные pdf файлы в svg
while [ $# -ne 0 ]
do
pdf2svg $1 $1%d.svg all
shift
done
2. SVG -> PNG (используется inscape в режиме командной строки)
#!/bin/sh
# Конвертирование выбранные svg файлы в png

while [ $# -ne 0 ]
do
inkscape $1 --export-dpi=200 --export-png=$1.png
shift
done

3. PNG -> JPG (используется ранее рассмотренная утилита convert из пакета Imagemagic)
#!/bin/sh
# Сконвертировать выбранные png файлы в jpg
while [ $# -ne 0 ]
do
convert $1 $1.jpg
shift
done

Оффлайн Vovans

  • Активист
  • *
  • Сообщений: 311
  • zenway.ru
    • Просмотр профиля
    • Про Linux по-русски
Re: Конвертирование PDF to JPG с помощью ImageMagick
« Ответ #22 : 14 Декабря 2013, 14:33:34 »
а XnConvert пробовали? Он умеет пакетно обрабатывать изображения.

 

Страница сгенерирована за 0.038 секунд. Запросов: 25.