Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Утилиты для DjVu: DjVuNMEditor, FR11 DTL Crutch и др.

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

NME



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
FR11 DjVu Text Layer Crutch v0.3.2
 
СИСТЕМНЫЕ ТРЕБОВАНИЯ
Windows XP+
.NET Framework 2.0
 
 
ОПИСАНИЕ ИНТЕРФЕЙСА
Открыть файл DjVu с текстовым слоем
-
RU/EN - переключение интерфейса на русский/английский язык (не реализовано в текущей версии программы)  
-
Сохранить исправленный текстовый слой в редактируемом файле DjVu
-
Скопировать текстовый слой без изменений в другой файл DjVu
-
Сохранить исправленный текстовый слой в другой файл DjVu - при выборе корректного файла DjVu (многостраничный в одном файле [bundled multi-page document], либо одностраничный) исправленный слой переносится в него. Если файл не существует - сохраняется копия изначального DjVu-файла с измененным текстовым слоем
-
Сохранить текст в файл *.txt или буфер обмена (не реализовано в текущей версии программы)
-
Создавать зоны "Параграф" - для книг, созданных с помощью ABBYY FineReader билд 11.0.102.583 и выше (далее - ФР11+)..
-
из файла *.bookmarks WinDjView - возможность создания зон "Параграф" вручную с помощью WinDjView в файлах не ФР11+ (не реализовано в текущей версии программы)
-
Не удалять символы табуляции - зоны Char с символами табуляции (0x09) не удаляются не удаляются (отключено с версии 0.3.2)
 
-
Объединить слова с дефисом "-" - разделенные в конце строки дефисом части слова объединяются по аналогии со знаком переноса "¬"
-
Не ставить дополнительный символ перевода строки в конце страницы - в связи с тем, что наиболее (имхо) популярный просмотрщик DjVu-файлов WinDjView имеет особенность игнорировать разделители зон в конце страницы (за исключением зон Line) при разбиении текста на параграфы в файлах ФР11+ и отсутствии разделителей для зон Line - при последующем копипасте такого текста из данного просмотрщика начало новой страницы сливается с концом предыдущей. Поэтому для корректного копирования текста после последней на странице зоны Line по умолчанию устанавливается знак перевода строки (0x0А)
-
Исправить старый метод переноса слов DjVuOCR (для слоя "не ФР11+") на новый - до версии 0.3.2 данный метод был по умолчанию включен без возможности отключения, что могло приводить к потере отдельно стоящих дефисов в конце строки, а также некоторых частей слов в конце строки, оканчивающихся дефисом и попадающих под признаки старого метода переноса слов DjVuOCR (версии ниже 2.1). Рекомендуется устанавливать только если переносы слов реализованы старым методом DjVuOCR, например, в таких случаях:
"эта функция интегри¬"
"руема на отрезке..."
перенесено как
"эта функция интегри-"
"интегрируема на отрезке..."
(а современные методы переноса делают так)
"эта функция "
"интегрируема на отрезке..."
----------
 
Разделители зон - символы, устанавливаемые в тексте после каждой зоны. Диапазон значений - от 0x01 до 0x20 (в шестнадцатеричном виде), а также 0 (ничего) и -1 (без изменений, для документов не ФР11+)
 
Некоторые часто встречающиеся разделители (подсказка также доступна в программе при наведении на надпись "Разделители зон"):
0x0A - Перевод строки (Line feed (LF))
0x0B - Вертикальная табуляция (Line tabulation (vertical tabulation))
0x0C - Смена страницы (Form feed (FF))
0x1D - Разделитель групп (Information separator three (group separator))
0x1F - Разделитель полей (Information separator one (unit separator))
 
Для справки - при вставке в файл текста с помощью djvused из DjVuLibre принудительно будут установлены следующие разделители зон (фрагмент кода из файла DjVuText.cpp)
const char DjVuTXT::end_of_column         = 013;      // VT: Vertical Tab           - 013(восьм.)=0x0B(шестн.)
const char DjVuTXT::end_of_region          = 035;      // GS: Group Separator      - 035(восьм.)=0x1D(шестн.)
const char DjVuTXT::end_of_paragraph     = 037;      // US: Unit Separator        - 037(восьм.)=0x1F(шестн.)
const char DjVuTXT::end_of_line              = 012;      // LF: Line Feed                - 012(восьм.)=0x0А(шестн.)
...
case WORD: sep = ' ';
 
При распознании текста в Document Express Editor 6 - после зон Column, Region, Paragraph и Line стоит перевод строки 0x0A
----------
 
Удалить зоны - для документов, созданных не ФР11+ (например, Document Express Editor) или измененных после их создания в ФР11+
----------
 
ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ
общий формат команды (в квадратных скобках - необязательные части):
имя_программы название_исходного_файла_djvu - исправление текстового слоя с параметрами по-умолчанию и сохранение в исходный файл
[-s название_сохраняемого_файла_djvu] - сохранение текстового слоя в другой файл или создание копии изначального DjVu-файла с измененным текстовым слоем
[-c название_сохраняемого_файла_djvu] - сохранение точной копии текстового слоя в другой файл
[-t] - не удалять табы (отключено с версии 0.3.2)
[-m2] - исправить старый метод переноса слов DjVuOCR на новый (для слоя "не ФР11+")
[-rp] - удалять/не создавать зоны Paragraph
[-rr] - удалять зоны Region
[-rc] - удалять зоны Column
[-mh] - объединять слова с дефисом "-"
[-nlf] - не ставить дополнительный символ перевода строки в конце страницы
[-l] - создавать лог (при необходимости). Файл log.txt будет создан рядом с книгой. Если книга не будет найдена - лог сохранится рядом с программой
[-lo] - то же, что и в предыдущем пункте, плюс после выполнения программы лог автоматически откроется
[-dlin11 значение в hex] - задается отличное от дефолтного значение разделителей зон Line для файлов ФР11+. По-умолчанию -dlin11 0 (ничего) или -dlin11 0x0A в случае, если параграфы не создаются (применен параметр "-rp")
[-dpar11 значение в hex] - то же для зон Paragraph. По-умолчанию -dpar11 0x0A
[-dpag11 значение в hex] - то же для зон Page. По-умолчанию -dpag11 0
[-dlin8 значение в hex] - отличное от дефолтного значение разделителей зон Line для файлов НЕ ФР11+. По-умолчанию все параметры для файлов не ФР11+ установлены на -1 (без изм.)
[-dpar8 значение в hex] - то же для зон Paragraph
[-dreg8 значение в hex] - то же для зон Region
[-dcol8 значение в hex] - то же для зон Column
[-dpag8 значение в hex] - то же для зон Page
 
примечания:
1) название исходного файла необходимо записывать сразу после названия программы.. расположение остальных блоков - произвольное
2) значения для параметров -dlin11 ... -dpag8 записываются в шестнадцатеричном виде и устанавливаются в диапазоне от 0x01 до 0x20. Также значения могут быть равны 0 (ничего) и -1 (без изменений, для документов не ФР11+). При записи "0x" указывать не обязательно - достаточно написать 1F, a, 0d и т.п.
3) если установлен параметр "-c имя_файла" (точная копия), то все остальные параметры, за исключением -l и -lo, учитываться не будут
 
пример 1:
fr11DTLcrutch03.exe "d:\temp\мой файл.djvu" -mh
в текстовом слое файла "мой файл.djvu" (как ФР11+, так и любых других) удаляются зоны Char (пробелы и табы); объединяются слова с переносами "¬" и "-";  
если файл ФР11+ - создаются зоны Line (без разделителя в конце) и Paragraph (с переводом строки в конце зоны), а также доп. перевод строки в конце последней зоны Line на странице;
если файл НЕ ФР11+ - новые зоны не создаются , если слияние слов было реализовано по "методу 2", оно будет скорректировано на "метод 1" (с версии 0.3.2 не включается по умолчанию)
 
пример 2:
fr11DTLcrutch03.exe myfile1.djvu -s myfile2.djvu -rp -lo
при наличии файла "myfile1.djvu" рядом с программой, в его текстовом слое удаляются зоны Char; объединяются слова только с переносами "¬"; при возникновении ошибки создается и открывается файл log.txt; при наличии рядом с программой корректного файла "myfile2.djvu" текстовый слой сохраняется в него, при отсутствии такого файла - под именем "myfile2.djvu" создается копия "myfile1.djvu" с откорректированным слоем;  
если исходный файл ФР11+ - создаются зоны Line (с переводом строки 0x0А в конце зоны), зоны Paragraph не создаются;
если НЕ ФР11+ - удаляются (при наличии) зоны Paragraph; конвертация из метода 2 в 1 (при необходимости)
 
пример 3:
fr11DTLcrutch03.exe myfile1.djvu -s myfile2.djvu -dpar8 0 -dlin8 A
по аналогии с описанием и примерами выше, плюс если файл НЕ ФР11+, то при наличии параграфов разделители зон для них не применяются, для строк применяется разделитель 0x0А
 
 
КОММЕНТАРИИ
1) В ФР11+ появилась возможность разбивки текста не только на строки, но и на параграфы. Вероятно, эту информацию и раньше (в ФР8) можно было извлечь из файлов проекта, но уважаемый Gencho для программы DjVuOCR это реализовывать не стал. Преимущество деления на параграфы в том, что при копировании и последующей вставке текст в пределах параграфа вставляется в одну строку - нет необходимости в удалении лишних переводов строки в конце каждой строчки. Недостаток - немного увеличившийся размер файла (т.к. появляется доп. информация).
2) По умолчанию для файлов ФР11+ программа выполняет разбивку на параграфы. Если это не нужно - достаточно снять чекбокс "Создавать зоны "Параграф" (или указать параметр -rp при консольном запуске) - результат будет аналогичен DjVuOCR.
3) Если после обработки в crutch'е (с созданием параграфов) текстовый слой был откорректирован и вставлен обратно при помощи djvused из DjVuLibre, то в качестве разделителей зон установятся значения 0x1F для параграфов и 0x0A для строк. Вернуть исходные значения можно установив в столбце "не ФР11+" значение 0x0A для параграфов и "Ничего" для строк (параметры -dpar8 A -dlin8 0 из ком. строки).
 
Вообще, разные просмотрщики в плане копирования текста ведут себя по-разному.. WinDjView игнорирует некоторые окончания зон в конце страницы, в неоткорректированных файлах ФР11+ несколько страниц выделить/скопировать не может.. DjView из DjVuLibre плевать хотел на окончания зон, которые указаны в файле - он лепит свои собственные, скопировать несколько страниц также проблематично - копируется только то, что выведено на экране, приходится сильно уменьшать масштаб станиц.. Плагин к ИЕ только одну страницу способен скопировать, Document Express Editor - максимум две.. В связи с этим планирую в дальнейшем добавить в программу функционал для корректного копирования/сохранения текста из DjVu-файла (кнопка "Сохранить текст в файл *.txt или буфер обмена")..
 
Планируемая функция "Создавать зоны "Параграф" из файла *.bookmarks WinDjView" наврядли будет широко востребована (это все-таки ручное редактирование), но мне она интересна в плане взаимодействия с WinDjView и реестром.
 
Касательно английского фейса - кнопки, диалоги я таки переведу, а вот с описанием могут возникнуть проблемы, ибо нихт фершнейн.. У кого есть возможность - помогайте..
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
История версий FR11 DjVu Text Layer Crutch
--------------------------------------------------------------------------------
v 0.3.3
1) поворот текстового слоя на страницах, повернутых после кодирования
2) корректная обработка страниц со словарями, имена которых не в utf8-кодировке
 
--------------------------------------------------------------------------------
v 0.3.2
1) поддержка одностраничных DjVu
2) отключена возможность сохранения в тексте зон Char с символами табуляции
3) убираются пробелы и символы табуляции в начале некоторых слов (нет двойных пробелов)
4) работавшее ранее автоматическое исправление устаревшего метода переноса слов DjVuOCR ("метод 2" на "метод 1") теперь по умолчанию отключено и может быть включено пользователем принудительно (при необходимости)
 
--------------------------------------------------------------------------------
v 0.3.1
1) исправлены ошибки, возникающие в некоторых случаях при предварительных правках текста в файнридере
 
--------------------------------------------------------------------------------
v 0.3
1) кодирование/декодирование текста происходит в самой программе, djvused более не требуется, временные файлы не создаются
2) поддержка параметров командной строки
3) поддержка Drag & Drop
4) возможность создания зон Paragraph
5) возможность объединения частей слова с переносом в виде дефиса "-"
6) возможность сохранения в тексте зон Char с символами табуляции
7) возможность изменения разделителей зон
8) возможность удаления зон Column, Region, Paragraph
9) "метод 2" склеивания слов с переносом более не поддерживается. При редактировании файлов с переносом слов по "методу 2", переносы будут автоматически исправлены на "метод 1"
 
--------------------------------------------------------------------------------
v 0.2.1
1) исправлена ошибка, возникающая при наличии в тексте слова "\n"
 
--------------------------------------------------------------------------------
v 0.2
1) возможность сохранения измененного текстового слоя в другой DjVu-файл
2) возможность быстрого копирования текстового слоя из одного файла в другой
3) другие мелкие изменения
 
--------------------------------------------------------------------------------
v 0.1
первый релиз

Всего записей: 1427 | Зарегистр. 26-07-2007 | Отправлено: 00:59 15-01-2013 | Исправлено: NME, 00:57 02-03-2022
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Утилиты для DjVu: DjVuNMEditor, FR11 DTL Crutch и др.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru