Конвертирование DJVU и PDF в формат картинок

Рубрика: Linux
Суббота, 22 мая 2010 г.
Просмотров: 9988
Подписаться на комментарии по RSS

В статье рассматривается вопрос о конвертировании DJVU файлов в TIFF и другие форматы.

С этого поста начинаю тему распознавания текста в Linux. Уважаемый читатель вряд ли понимает сейчас, причем тут распознавание текста. Дело в том, что я скачал в интернете электронную книгу в формате DJVU, но читать в таком варианте мне не удобно, хочу распечатать, да и много текста из этого файла мне нужно вставить в текстовый редактор для последующей обработки. Книга, естественно, сканированная и не распознанная, то есть каждая страница представлена как картинка (хорошего качества). Ну, думаю, проблемы с распознаванием не будет. Не тут то было! Программа для распознавания текста просто не умеет работать с DJVU форматом, но умеет работать с TIFF. Как конвертировать один DJVU в отдельные файлы формата TIFF?

Много времени я провел на просторах интернета в поиске ответа на свой вопрос, но практически ничего полезного не нашел. На помощь мне пришел уважаемый suslikk, который написал скрипт, конвертирующий DJVU в TIFF. Пользователю не обязательно разбираться в скритинге и знать Linux как свои пять пальцев, чтобы воспользоваться нижеприведенным скриптом.

Если надо конвертировать PDF, то сначала конвертируем его в DJVU:

sudo apt-get install pdf2djvu
pdf2djvu -o файл_на_выходе.djvu файл_который_конвертируем.pdf

Перейдем к практической части. Создадим каталог с любым названием, например, djvu2tiff, в нем создаем еще два каталога: input и output. Переместим файл с расширением *.djvu, который хотим конвертировать, в папку input.

Открываем текстовый редактор, вставляем туда нижеприведенный код:

#!/bin/bash
pageStart=1 #с какой страницы начать конвертировать
pageEnd=10 #до этой страницы будет конвертировать
cd input
for fileName in *.djvu; do
   fileExt=${fileName/*./''}
done
echo Конвертируем файл $fileName в рисунки tif...
for ((pageNum=$pageStart; pageNum <= $pageEnd ; pageNum++))
  do  
    echo Конвертируеся страница $pageNum из $pageEnd...
    ddjvu -format=tiff -page=$pageNum -quality=100 $fileName ../output/${fileName%.$fileExt}$pageNum.tif
 done

Значения pageStart и pageEnd меняйте под себя, параметр -format может принимать следующие значения: pbm,pgm,ppm,pnm,rle,tiff. Сохраним файл в папку djvu2tiff под названием convert.sh. Теперь запускаем созданный скрипт двойным кликом или через терминал: sh convert.sh.

Федосеев Александр

Комментариев: 5

  1. 2010-12-16 в 15:37:43 | Ali

    Спасибо!

    Отлично работает! smile

  2. 2011-03-16 в 16:14:21 | Аноним

    sh: Can't open convert.sh

  3. 2012-01-02 в 19:20:24 | Блондинка под Линуксом

    sh: Can't open convert.sh

    +1

    А двойным кликом просто открывает файл в текстовом редакторе.

  4. 2012-09-20 в 13:03:17 | checker

    chmod +x convert.sh надо сделать, тогда будет его запускать )

  5. 2014-11-21 в 08:53:48 | Аноним

    Спасибо! Всё отлично заработало, но только когда изменил строку

    cd input
    

    на

    cd ../input
    

Оставьте комментарий!

Не регистрировать/аноним

Используйте нормальные имена.

Если вы уже зарегистрированы как комментатор или хотите зарегистрироваться, укажите пароль и свой действующий email.
(При регистрации на указанный адрес придет письмо с кодом активации и ссылкой на ваш персональный аккаунт, где вы сможете изменить свои данные, включая адрес сайта, ник, описание, контакты и т.д.)



grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

(обязательно)

Этот домен продается на telderi