пятница, 23 ноября 2012 г.

Конвертация отсканированой книги в DJVU/PDF

На самом деле, когда я только взялся решать эту задачу (а задача стояла четко-отсканировать и перегнать в PDF одну книженцию производства родного ВУЗ-а), я думал, что проблем она мне не доставит... И впрямь, поверхностный гуглеж показал, что способов куча вот только не все из них работают.

Задача перевода картинок в DJVU была решена Михаилом Конником aka virens ажно в 2008 году...
А вот тема создания PDF раскрыта не была и я пошел рыться по просторам интернета дальше и спустя N-ное количество минут я нашел скрипт за авторством Dave Crouse и выложил его здесь. Все что требует для работы сей скрипт это установленный ImageMagick и pdftk.
Далее:
1) Кидаем сей скрипт в /usr/local/bin.
2) Даем ему права на вcе, что он захочет: chmod +x /usr/local/bin/makepdf.sh
3) Переходим в папку с кипой отсканированых страниц: cd/путь до целевого каталога
4) И запускаем: makepfd.sh

Есть в этом методе два подвоха:
1) Этот скрипт приспособлен под конвертацию из JPG, но в принципе сменой значения поля *imagetype="JPG"*  на "jpeg" или другой формат можно добиться от него и конвертации этих картинок.
2) названия картинок должны быть примерно в таком виде: 001, 002, 003, 004, 005... иначе книга будет некорректно скомпилирована.

При этом нужно помнить, что PDF  не особо адаптированный под это дело формат и в отличие от DJVU  не пожмет Ваши картинки автоматически и на выходе Вы можете получить файлик размером мегабайт этак в 500-1000... Если мы этого не хотим, нужно наши картинки пожать и тут на помощь нам приходит ImageMagick и скриптик с его использованием, следующего содержания:

read -p "Выберите желаемое качество от 1 до 100 :" newname;
for file in *.JPG; do convert $file -quality $newname $file; done
echo "Конвертация завершена!"

Правила использования такие же как и с makepdf.sh, качество нужно выбирать от 1 до 100 (по умолчанию ImageMagick выставляет значение 92) цифра в процентах.

4 комментария:

  1. О, и ты теперь бложик завёл? Отлично, новая кормушка для старых троллей :-)

    По делу. Я такую проблему решаю ЛаТеХом: кучу картинок перегоняю в EPS, а потом автоматом генерирую includeimage в латехе под названия файлов. И компилируем в PDF. Результат не идеален, но оно quick-and-dirty, и работает.

    Немного конструктива по шаблону:
    - белый шрифт на чёрном фоне режет глаза и долго читать невозможно.
    - шаблон странный: название поста не кликабельно, и даже при подписке на фид (кстати, это было неочевидно - надо бы кнопку с RSS задудонить) выяснилось, что пост имеет unknown title (веб-погромисты шаблона, скорее всего, ошиблись и просто забыли обернуть название в title).
    - можно попробовать подобрать более символизирующее название (за бутыль Хеннеси могу помочь :-))

    ОтветитьУдалить
    Ответы
    1. за бутыль Хеннеси могу помочь :-)
      Далековато отправлять придется, Михаил :)
      Впрочем за советы спасибо...
      Кстати не сталкивались ли Вы с тем что НЕ eps картинки pdflatex делает просто ОТВРАТИТЕЛЬНОГО качества, до такой степени, что matlab-овские графики становятся нечитабельными в прямом смысле этого слова...
      Пришлось гонять Beamer-овскую презенташку вначале в dvi, а потом окольными путями "печатать" в pdf.
      P.S. на самом деле название подбиралось как раз из моего нынешнего рода деятельности, я на самом деле студент и на самом деле пытаюсь судорожно выучить Java, LaTeX и немножко Matlab, параллельно пытаясь колупаться в теме нейронных сетей...
      P.P.S. на некоторое время блог, скорее всего, подзаглохнет (сессия на носу), но в каникулы обещаюсь выложить небольшой пост и доделать шаблон(этот выбирался из стандартных)...

      Удалить
  2. @Iskander декабря 2012 г., 23:13

    Далековато отправлять придется, Михаил :)
    Да я знаю. Плюс таможня выпьет всё равно - нельзя сюда еду и бухло слать :-)

    Впрочем за советы спасибо...
    Пожалуйста. Шаблону в самом деле полегчало. Шаблон вполне, хотя есть и получше. Один из моих любимых. Или вот такой вебдванольный и необычный. Там их много...

    Кстати не сталкивались ли Вы с тем что НЕ eps картинки pdflatex делает просто ОТВРАТИТЕЛЬНОГО качества
    А я не пользуюсь pdflatex, потому как предпочитаю dvips-> ps2pdf. Мне удобнее просматривать результат в DVI, а не ждать полчаса рендеринга PDF.

    matlab-овские графики становятся нечитабельными
    Матлабовскими графиками тоже не пользуюсь - они и так выглядят не очень. Только gnuplot.

    P.S. на самом деле название подбиралось как раз из моего нынешнего рода деятельности
    Ну это-то понятно. Просто в будущем можно подумать и сменить на что-нибудь броское. Бутыль Хеннесси именно под это подразумевалась :-)

    LaTeX и немножко Matlab
    Очень-очень полезные вещи. Сюда можно добавить gnuplot и убрать яву (вместо неё поставить C). И будет очень здорово смотреться в резюме.

    Успехов!

    ОтветитьУдалить
    Ответы
    1. @virens
      а не ждать полчаса рендеринга PDF
      0_0 это на Вашем-то монстре с i7 и 8гб RAM???
      Сюда можно добавить gnuplot и убрать яву
      Убрать-то можно, но вот мой нынешний работодатель не оценит.
      И будет очень здорово смотреться в резюме
      Да бросьте Вы какое резюме на 3-ем-то курсе. К тому-же мой уровень владения сими инструментами оставляет желать мнооооого лучшего...

      Удалить