пятница, 17 октября 2003 г.

Текст под djvu

Несколько раз в рассылке (Diglib http://mlist.sgu.ru/listinfo/diglib) обсуждалась тема как положить русский текст под djvu

во вложении исходное изображение сканированной карточки (0283tif_0_3.djvu) и изображении с текстом (0283tif_0_3_txt.djvu)

способ получения под *nux (под win32, возможно использование под cygwin, теоретически можно скомпилировать и напрямую под win32, но с ходу не получилось)

Шаг1
с http://djvu.sourceforge.net/ берем DjVuLibre

Шаг2
инсталлируем

Шаг3
Создаем djvu файл любым способом который Вам нравится (я использую cjb2, есть вариант под win32 http://www.planetdjvu.com/djvulibre/cjb2.zip ) конвертация из формата pbm

Шаг4
Создаем текст который будем подкладывать под djvu
Пример:
0283tif_0_3.txt
---------------
(page 0 0 1445 847
(line 88 799 288 751 "062897" )

(line 1199 802 1401 747 "539.13")

(line 394 704 822 644 "Золотухин Н." )
(line 293 596 1444 537 "Статистическая физика. Ч. 1. Л., 1938")
)
--------------
здесь первый ключ (page - геометрия страницы, line - геометрия текстовой строки) определяют структурные объекты страницы, четыре цифры это координаты блока текста в формате

x1 y1 x2 y2

x1 y1 - верхний левый угол
x2 y2 - нижний правый угол
(в документации ошибочно указан формат x1 x2 y1 y2)
Координаты x указываются от левой границы изображения. Координаты y указываются от нижней границы изображения.

Текст заключают в двойные кавычки. Текстовый файл сохраняют в формате utf8.

В идеале можно создавать напрямую из FineReader, при этом есть две проблемы: смена формата пакета от версии к версии и отсутствие лицензии на разработку сторонних программ (доступны только при покупке
серверной инсталляции)


Шаг5
Запускаем команду
djvused -v 0283tif_0_3.djvu -s

Далее в командой строке djvused выдаем последовательно команды:
select 1
set-txt 0283tif_0_3.txt
save
^C

Комментарий:
Выбор 1 страницы
сохранение созданного текста под djvu
сохранение djvu

Шаг5
Используем созданный djvu

Марк Акоев, зав. отделом информ. технологий ЗНБ УГТУ-УПИ,
г. Екатеринбург
16 октября 2003 г.