Pdf & Djvu Bookmarker
Программа для создания и редактирования дерева оглавления в djvu и pdf файлах. Работает в режиме wysiwyg, т.е. редактируется именно
дерево в том же виде, какое оно будет иметь после открытия книги с оглавлением в просмотрщике. В отличие от аналогов программа имеет возможность просмотра страниц книги.
Программа написана на C#, распространяется с открытыми исходниками.
Требует установленного на компьютере пользователя .NET Framework 2.0.
Язык интерфейса можно переключать между русским и английским.
Основные ссылки:
Качать отсюда: Страница проекта на SourceForge.net
PDF & DjVu Bookmarker v.3.x.x. User Manual / Руководство пользователя v.3.03 [2012, PDF, ENG/RUS]
Тема обсуждения проекта на Ru-Board
Вики-документация проекта
Входные данные для программы:
1) текст оглавления, предварительно скопированный в буфер обмена из какого-либо источника (о возможных источниках данного текста можно посмотреть ниже в описании первого этапа).
2) html-файл
в формате Bookmark Tool 2.0 - по сути, файл проекта программы. Может использоваться для промежуточного сохранения дерева оглавления.
3) djvu или pdf файл с уже внедренным электронным оглавлением. Например, если нужно поправить текст элемента оглавления или связь элемента оглавления со страницей djvu-документа.
4) txt-файл с заданными табами отступами.
При выборе в качестве источника входных данных варианта 2) или 3) этапы 1 и 2 не проходятся.
Основные этапы работы с программой:
1. Приведение текста оглавления к стандартному виду.
Если в книге есть текстовый слой, то нужно просто выделить текст на всех страницах с оглавлением с помощью djvu-просмотрщика, скопировать его в буфер обмена и импортировать из буфера обмена в Bookmarker. Если текстового слоя в книге нет, то можно выгрузить требуемые страницы в изображения стандартными средствами WinDjView и распознать их с помощью FineReader, CuneiForm (в пакетном режиме) или Tesseract-OCR
newocr.com (правда, результаты Tesseract пока не впечатлили).
Инструкция по распознаванию текста оглавления с помощью CuneiForm
1. Извлечение страниц оглавления из djvu-файла.
а) В WinDjView в панели Страницы с Shift'ом выделяем страницы, содержащие оглавление.
б) ПКМ по выделенным страницам - Экспорт страниц.. - выбираем формат tif - сохраняем в желательно пустую папку.
2. Распознавание
а) Запускаем программу "Пакетное распознавание"
б) Меню - Действия - Создание нового пакета
в) Имя пакета несущественно - Далее
г) Если в оглавлении нет английских символов выбираем русский язык, обязательно ставим галочку Одна колонка - Далее
д) Добавляем папку, содержащую экспортированные на первом шаге изображения страниц - Далее.
е) Далее
ж) Добавляем "Форматированный текст" в сохраняемые форматы - ОК.
з) Жмем кнопку "Распознать" (большая кнопка с очками в панели инстументов).
3. Склейка текстовых файлов в один. Нужна, потому что CuneiForm создает отдельный текстовый файл для каждого распознанного изображения пакета.
Достаточно запустить bat-файл с командой
copy *.txt toc.txt
После чего все страницы объединятся в один файл toc.txt.
Если есть возможность, распознавать пока что лучше в FineReader. CuneiForm чуть-чуть не дотягивает до его уровня (зато абсолютно бесплатна).
Можно также попытаться найти текст оглавления (с номерами страниц) в интернете. В самом крайнем случае (например, если качество книги ужасное, и после распознавания будет заведомо много ошибок) можно просто вбить его руками в текстовом редакторе в формате <строка оглавления><пробел><номер страницы>.
На данном этапе реализованы следующие возможности:
а) проверка ошибок нумерации в тексте оглавления, а именно выполнения двух простых условий:
1) Каждая строка оглавления должна оканчиваться числом. Это число будет интерпретировано программой как номер бумажной страницы, на которую ссылается данная строка.
2) Номер странице в текущей строке оглавления, должен превышать или быть равным номеру в предыдущей строке.
в случае наличия в тексте оглавления строк, не удовлетворяющих данным условиям, программа запрещает переход на следующие этапы работы с оглавлением, пока все ошибки не будут исправлены.
б) удобные механизмы исправления ошибок.
1) Программа позволяет загрузить djvu-файл и просматривать его постранично в правой части своего окна. Это позволяет всегда держать перед глазами ту страницу оглавления, текст которой сейчас правится.
2) В случае, если ошибки вызваны переносом строк оглавления в книге, программа предоставляет специальные команды для склейки таких переносов.
3) При щелчке по списку ошибок (или при переходе на следующую/предыдущую ошибку с помощью команд программы) просходит автоматическое выделение строки оглавления, содержащей ошибку и ей передается фокус ввода.
4) Предусмотрена команда автоматической замены номеров страниц, заданных римскими цифрами, на соответствующие арабские цифры.
5) Часто используемые команды представлены как в виде экранных кнопок, так и в виде команд с клавиатуры и мыши. Например, листание страниц книги производится с помощью правой и левой кнопок мыши.
2. Удаление отточий (включая некорректно распознанные).
Обычно в книгах промежуток между текстом элемента оглавления и соответствующим ему номером страницы заполняется последовательностью точек (отточиями). После распознавания часто среди точек часто появляются и другие символы. Естественно, при создании электронного оглавления их нужно удалить. Для этого программа анализирует начало и окончание строк оглавления и все подозрительные символы показывает пользователю, предоставляя ему возможность удалить эти символы из оглавления. Для удобства работы при щелчке по символу показываются содержащие их строки оглавления.
3. Задание структуры оглавления и соответствия нумерации
a) Задание структуры ведется в дереве - т.е. в том же виде, в котором оно будет отображено при последующем просмотре в djvu-просмотрщике.
Уровни элементов задаются с помощью экранных кнопок, продублированных командами с клавиатуры и мыши. Есть возможность подгрузить djvu-книгу, и просматривать ее постранично в правой части окна программы.
Также реализована очень мощная команда задания структуры по шаблону - с ее помощью для нумерованных элементов оглавления, а также глав, разделов и т.д. структура задается
в автоматическом режиме.
б) Для задания соответствия нумерации между элементами оглавления и страницами djvu-книги желательно подгрузить djvu-книгу и включить режим нумерации "по оглавлению". В этом случае при щелчке по элементу оглавления отображается номер страницы, которому он соответствует. Есть возможность как сдвига данного номера в любую сторону кнопками сдвига, так и свободного ввода номера страницы. При выборе режима "и последующих" аналогичный сдвиг осуществляется также и для номеров страниц во всех последующих элементах оглавления.
в) предусмотрена возможность правки текста элементов оглавления непосредственно в дереве.
слева направо:
1) вставка нового элемента оглавления после выбранного (Insert)
2) вставка нового элемента оглавления перед выбранным (Shift+Insert)
3) добавление нового элемента оглавления к дочерним элементам выбранного (Ctrl+Insert)
4) удаление выбранного элемента оглавления (с дочерними элементами) (Delete)
5) правка текста элемента оглавления (F2)
4. Сохранение результата
Предусмотрено три способа сохранить результат работы над электронным оглавлением:
1) в html-файл, например, для промежуточного сохранения результатов при работе над большим оглавлением.
2) в текстовый файл.
3) в djvu или pdf файл. Просто укажите местоположение на диске существующей книги, и в нее будет внедрено электронное оглавление. Если книга ранее выбрана для просмотра, можно сохранить оглавление в нее выбором пункта меню Сохранить.
Желательно оставлять комментарии, имеющие отношение только к функционалу проекта.
Данный топик НЕ является местом для озвучивания своего личного отношения к компании Microsoft и ее технологиям, в частности к .NET Framework.