Ru-Board.club
← Вернуться в раздел «Программы»

» Утилиты для DjVu: FR11 DTL Crutch, DjVu Anno Editor и др.

Автор: NME
Дата сообщения: 06.02.2012 20:57
TurnTheText

Утилита TurnTheText предназначена для устранения несоответствия графического и текстового слоев в DjVu-книгах, возникающего при использовании FineReader версии 8 (и ниже) для распознавания текста..
Может быть использована, например, перед внедрением оглавления в DjVu-книгу с помощью программы DjVu Hyperlinks Editor..
[more=Описание]TurnTheText v1.0

НАЗНАЧЕНИЕ И ОПИСАНИЕ ПРОГРАММЫ
программа предназначена для устранения несоответствия графического и текстового слоев в DjVu-книгах, возникающего при использовании FineReader версии 8 (и ниже) для распознавания текста..
для правильной работы программы текстовый слой FR8 после внедрения его с помощью DjVuOCR не должен подвергаться изменениям..
для автоматического определения необходимого направления и угла поворота текстового слоя программа использует информацию о координатах графических символов из чанка Sjbz, что позволяет правильно поворачивать текст практически в 100% случаев..
программа также автоматически определяет необходимость поворота текстового слоя на +/- 90 градусов.. есть теоретическая вероятность того, что при большом количестве графики и малом количестве текста угол поворота будет определен неверно, но пока с такими случаями не сталкивался..
если требуется повернуть текст на 180 градусов (что не является нормальным для обычных книг), то это можно сделать вручную при помощи DjVu Text Mover'а..
для проверки результатов работы программы рекомендуется использовать WinDjView Extended, т.к. в этой модификации просмотрщика есть возможность быстрого выделения текста на всех страницах - нажал Ctrl+A и листаешь страницы, визуально проверяешь совпадение..
единственный параметр в программе - минимальный угол - нужен для ускорения работы программы, чтобы страницы с углом поворота меньше указанного не подвергались раскодированию/кодированию.. значение по умолчанию 0,1 градуса выбрано исходя из того, что при данном значении и ниже текст практически полностью совпадает с графикой..

СИСТЕМНЫЕ ТРЕБОВАНИЯ
Windows XP+
.NET Framework 2.0

ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ
общий формат команды (в квадратных скобках - необязательные части):
имя_программы имя_исходного_файла_djvu [-s имя_сохраняемого_файла_djvu или суффикс] [-p номер_страницы или диапазон] [-a значение_минимального_угла]
примечания:
1) имя редактируемого файла необходимо записывать сразу после названия программы.. расположение остальных блоков - произвольное
2) синтаксис диапазона страниц - см. в описании интерфейса
3) если параметр "-p" не указан - обрабатываются все страницы
4) если параметр "-s" не указан, то имя сохраняемого файла будет складываться из имени исходного файла и суффикса "_1"
5) для указания произвольного суффикса после "-s" вместо имени сохраняемого файла необходимо слитно написать знак плюс "+" и произвольный суффикс, например, "+_нов"
6) для сохранения файла под тем же именем после "-s" необходимо записать имя исходного файла
7) если параметр "-a" не указан или значение не является положительным либо равным нулю числом, то устанавливается значение по умолчанию 0,1 градуса..

пример 1:
TurnTheText.exe "d:\temp\мой файл.djvu" -s "d:\temp\мой файл.djvu" -p -5,10,22 -a 0,05
в файле "мой файл.djvu" на страницах с 1 по 5, 10 и 22 поворачивается текст при условии, что угол поворота больше 0,05 градуса

пример 2:
TurnTheText.exe myfile.djvu -s +_new
при наличии файла "myfile.djvu" рядом с программой, создается файл "myfile_new.djvu" с повернутым текстом на всех страницах при условии, что угол поворота больше 0,1 градуса

пример 3:
TurnTheText.exe "d:\temp\мой файл.djvu" -a 0
создается файл "мой файл_1.djvu" с повернутым текстом на всех страницах при любом несовпадении размеров текстового слоя и страницы (угол поворота больше 0 градусов)

ОПИСАНИЕ ИНТЕРФЕЙСА

Открыть
Сохранить
RU/EN - переключение интерфейса на русский/английский язык

----------
Область редактирования - область документа (страницы), к которой применяются изменения
Весь документ
Страницы (отдельные - через запятую, диапазон - через тире.. пример:
"-4,7,10-12,55-" - редактирование страниц 1,2,3,4,7,10,11,12,55 и до конца документа)

----------
Минимальный угол (град.) - см. описание программы

----------
Статусбар - email разработчика / информация о действиях, совершаемых программой.. при работе программы двойной клик по полю вызывает диалоговое окно с запросом о прерывании обработки документа

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

История версий TurnTheText

--------------------------------------------------------------------------------
v 1.0
1) значительно повышен процент правильного определения направления и угла поворота текстового слоя
2) исключена необходимость использования DjVuToy и djvused
3) упрощена работа по проверке результатов работы программы в WinDjView Extended
4) исключена возможность ручного указания направления поворота текста на страницах
5) добавлен английский интерфейс
6) поддержка Drag & Drop
7) поддержка параметров командной строки
8) другие мелкие изменения и исправления

--------------------------------------------------------------------------------
v 0.1
первый релиз
[/more]
Скачать v1.0

DjVu Annotations Editor

Программа для редактирования гиперссылок (annotations/hyperlinks) в файлах формата djvu, преимущественно, после создания оглавлений в книге при помощи DjVu Hyperlinks Editor'а..
Выполняет сдвиг, выравнивание, изменение размеров, цвета, свойств и др..
Описание
Скачать
Видео скачать, посмотреть - Создание оглавления (TOC) в файлах формата DjVu

HeadWorder

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

FR11 DjVu Text Layer Crutch

Программа для исправления текстового слоя в файле DjVu, созданного посредством ABBYY FineReader билд 11.0.102.583 и выше (в т.ч. ФР12)..
Выполняет следующие действия:
- удаляет блоки Char;
- создает зоны Line и Paragraph;
- объединяет две половинки слова, разделенного знаком переноса, в одно;
- позволяет переносить текстовый слой из одного файла в другой..
[more=Описание]FR11 DjVu Text Layer Crutch v0.3

СИСТЕМНЫЕ ТРЕБОВАНИЯ
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) не удаляются
-
Объединить слова с дефисом "-" - разделенные в конце строки дефисом части слова объединяются по аналогии со знаком переноса "¬"
-
Не ставить дополнительный символ перевода строки в конце страницы - в связи с тем, что наиболее (имхо) популярный просмотрщик DjVu-файлов WinDjView имеет особенность игнорировать разделители зон в конце страницы (за исключением зон Line) при разбиении текста на параграфы в файлах ФР11+ и отсутствии разделителей для зон Line - при последующем копипасте такого текста из данного просмотрщика начало новой страницы сливается с концом предыдущей. Поэтому для корректного копирования текста после последней на странице зоны Line по умолчанию устанавливается знак перевода строки (0x0А)
----------

Разделители зон - символы, устанавливаемые в тексте после каждой зоны. Диапазон значений - от 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] - не удалять табы
[-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"

пример 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
1) кодирование/декодирование текста происходит в самой программе, djvused более не требуется, временные файлы не создаются
2) поддержка параметров командной строки
3) поддержка Drag & Drop
4) возможность создания зон Paragraph
5) возможность объединения частей слова с переносом в виде дефиса "-"
6) возможность сохранения в тексте зон Char с символами табуляции
7) возможность изменения разделителей зон
8) возможность удаления зон Column, Region, Paragraph
9) "метод 2" склеивания слов с переносом более не поддерживается. При редактировании файлов с переносом слов по "методу 2", переносы будут автоматически исправлены на "метод 1"

--------------------------------------------------------------------------------
v 0.21
1) исправлена ошибка, возникающая при наличии в тексте слова "\n"

--------------------------------------------------------------------------------
v 0.2
1) возможность сохранения измененного текстового слоя в другой DjVu-файл
2) возможность быстрого копирования текстового слоя из одного файла в другой
3) другие мелкие изменения

--------------------------------------------------------------------------------
v 0.1
первый релиз
[/more]
Скачать v0.3

DjVu Chunk Remover

Программа для удаления блоков (чанков), а также страниц из файлов формата DjVu.. может удалять фон (BG44, BGjp), закладки (NAVM), аннотации (ANTa, ANTz), текст (TXTa, TXTz), информацию о цвете маски(FG44, FGbz) и др.. запрещено удаление блоков INFO, Sjbz, Djbz и INCL, содержащих ссылки на Djbz-словари символов..
Описание
Скачать v0.5
Зеркало

DjVu Text Mover

Программа позволяет поворачивать и двигать текстовый слой в файлах DjVu..
Скачать v0.1

DjVu Title Maker

Программа для создания заголовков страниц (переименования страниц) в файлах DjVu..
Таким образом, страницы можно называть "Обложка", I, II, III, IV и т.п., автоматически или вручную переименовывать страницы со сдвинутой нумерацией (в т.ч. при удалении пустых страниц) для соответствия нумерации электронной книги её бумажному оригиналу..
[more=Описание]DjVu Title Maker v0.1

СИСТЕМНЫЕ ТРЕБОВАНИЯ
Windows XP+
.NET Framework 2.0


ОПИСАНИЕ ИНТЕРФЕЙСА
Открыть
Сохранить
----------
Диапазон страниц - страницы, к которым будет применен шаблон (см. ниже).. Отдельные страницы записываются через запятую, диапазон - через тире.. Например:
"-4,7,10-12,55-" - редактирование страниц 1,2,3,4,7,10,11,12,55 и до конца документа)
Если необходимо указать всю книгу, достаточно в данном поле записать знак тире "-"..
Префикс+Нумерация+Суффикс - шаблон, по которому устанавливаются заголовки для указанного диапазона страниц.. Предварительный результат можно увидеть в нижней таблице..
- - удалить текущую строку..
+ - добавить строку после текущей..
Переименовать остальные страницы - страницам, не указанным в полях "Диапазон страниц" будут присвоены заголовки в виде арабских цифр с увеличивающейся на 1 нумерацией, за исключением цифр, указанных в поле "Пропустить страницы"..
Пропустить страницы - отсутствующие в книге "бумажные" страницы (например, удаленные пустые страницы).. При автоматической нумерации страниц (см. предыдущий пункт) данные цифры (или диапазон) будут пропускаться.. Синтаксис аналогичен полю "Диапазон страниц"..
Ручная правка заголовков - при необходимости внести изменения вручную.. Изменения проводятся в соответствующих ячейках таблицы..
Удалить заголовки в текущем документе - доступно при "ручной правке..."
----------
Таблица "Номер страницы/Заголовок страницы" - отображает заголовки, которые будут вставлены в книгу при сохранении.. Обновление страницы в некоторых случаях происходит автоматически.. Для ручного обновления необходимо кликнуть по заголовку таблицы - "Номер страницы/Заголовок страницы"..

ПРИМЕР
В книге есть обложка, страницы I-VII, а затем страницы 1-352, кроме отсутствующих пустых страниц 48, 112 и 264..
Устанавливаем следующие значения:
Диапазон страниц    | Префикс    | Нумерация     |Суффикс
1         | Обложка    | Без нумерации    |
2-8         |        | Римскими     |
v - Переименовать остальные страницы
48, 112, 264 - Пропустить страницы
Сохранить

[/more]
Скачать v0.1

DjVu Clean Page Inserter

Программа для быстрого создания и внедрения в книгу пустых страниц.. Нужна для восстановления соответствия бумажной и электронной нумерации, что облегчает навигацию по книге..
Описание
Скачать v0.1
Зеркало

DjVu Blits Merger

Программа для добавления на страницы djvu-книги графических изображений (mask-слоя) из другого djvu-файла.. Может применяться для добавления в книгу номеров страниц, колонтитулов, другой необходимой информации без перекодирования файла, а также для объединения графики с двух страниц, закодированных с разной степенью сжатия (например, aggressive и lossless)..
Описание
Скачать v0.1
Зеркало

DjVu Blits Hider

Программа для удаления со страниц djvu-книги графических изображений mask-слоя (blits).. может применяться для очистки страницы от "грязных пятен", лишних элементов маски и т.п. без перекодирования файла.. совместно с DjVu Blits Merger'ом позволяет редактировать mask-слой djvu-книги - Hider удаляет, а Merger вставляет на это место нужную графику..
Описание
Скачать v0.1.1

Программы, которых еще нет, но, возможно, когда-нибудь сделаю..


• аналог DjVu Hyperlinks Editor'у с бОльшим функционалом и предварительным просмотром..
• программа для создания и внедрения в книгу пустых страниц.. DjVu Clean Page Inserter
• программа для удаления страниц из книги.. DjVu Chunk Remover
• программа для удаления пустых чанков, типа CIDa.. DjVu Chunk Remover
• программа для добавления текста в нужное место на странице (+ к существующему)
• программа для удаления блитов со страницы DjVu Blits Hider
• программа для разделения разворотов на 2 страницы
• программа для добавления новых блитов на существующую страницу (объединение графики с двух страниц на одну) DjVu Blits Merger
• программа для перемещения блитов на странице
• программа для кодирования ч/б растра без потерь одним или несколькими большими по размеру шейпами
• еще что-то хотел сделать.. но забыл.. вспомню - запишу))

если найдутся желающие сделать эти программы - добро пожаловать)) мыслями и наработками с удовольствием поделюсь)) это относится и к следующему блоку тоже..

Программы, которых нет, и я, к сожалению, наврядли осилю((..

• визивиг-редактор текстового слоя..
• Hyperlinks-редактор, типа Document Express Editor, но с возможностью групповой правки гиперссылок..
• полноценный визивиг редактор графики DjVu с возможностью удаления, сдвига, правки шейпов в маске.. а может быть и корректировки фона тоже..
• WinDjView с поиском текста в закладках.. ну и некоторыми другими дополнительными возможностями.. таки осилил))


продолжение следует..
Автор: amaid
Дата сообщения: 08.04.2012 21:18

Цитата:
программа для создания и внедрения в книгу пустых страниц

лучше сделайте для УДАЛЕНИЯ пустых страниц,
а то DJVU Small не может такие файлы декомпилировать
Автор: NME
Дата сообщения: 09.04.2012 18:11
amaid
для декомпилирования файла проще воспользоваться DjvuToy или старым добрым DjvuOCR.. Удаление пустых страниц приводит к затруднению навигации по книге..
хотя, иногда удаление бывает нужно.. Если нужно удалить пару страниц - это можно сделать и в DEP, и утилитами из DjVuLibre.. Но, если удалять большое кол-во страниц, то начинаются тормоза.. Поэтому, самый быстрый способ - это разбить книгу на отдельные файлы-страницы, удалить ненужные и затем снова собрать.. в DjvuToy это делается за несколько секунд..
а отдельную утилиту для этого писать - теоретически можно, но когда-нибудь позже.. сейчас для удаления достаточно способов имеется..
Автор: amaid
Дата сообщения: 09.04.2012 19:21
все эти способы сводятся к тому, что нужно глазками искать пустые страницы, а потом руками их удалять.
а я говорил о программе, которые бы автоматом (лучше всего в пакетном режиме) шерстила бы файлы и удаляла лишние пустышки.
Автор: NME
Дата сообщения: 09.04.2012 22:26
amaid
а, теперь понятно.. такую программу я принципиально делать не буду.. мож кто другой возьмется..

Цитата:
все эти способы сводятся к тому,

я ж назвал способы декомпиляции и без удаления страниц.. если удаление - только ради возможности декомпиляции в DJVUSmall, то месье знает толк)))

Добавлено:

Цитата:
пустышки.

вспомнил, что еще хотел сделать)) программку для удаления пустых чанков типа CIDa, чёта они мну раздражают..
Автор: NME
Дата сообщения: 23.04.2012 22:37

Цитата:
программку для удаления пустых чанков типа CIDa

сделал))

DjVu Chunk Remover
кроме CIDa может удалять фон, букмарки, аннотации, текст, цвет маски и др..
Скачать v0.5
Зеркало
[more=Описание]DjVu Chunk Remover v0.5

НАЗНАЧЕНИЕ
программа предназначена для удаления блоков (чанков), а также страниц из файлов формата DjVu.. может удалять фон (BG44, BGjp), закладки (NAVM), аннотации (ANTa, ANTz), текст (TXTa, TXTz), информацию о цвете маски(FG44, FGbz) и др.. запрещено удаление блоков INFO, Sjbz, Djbz и INCL, содержащих ссылки на Djbz-словари символов..


СИСТЕМНЫЕ ТРЕБОВАНИЯ
Windows XP+
.NET Framework 2.0


ПАРАМЕТРЫ КОМАНДНОЙ СТРОКИ
общий формат команды (в квадратных скобках - необязательные части):
имя_программы имя_исходного_файла_djvu [-s имя_сохраняемого_файла_djvu или суффикс] [-p номер_страницы или диапазон] [-i название_удаляемых_ссылок_на_файл] [-ch название_удаляемых_блоков] [-n] [-d]
примечания:
1) имя редактируемого файла необходимо записывать сразу после названия программы.. расположение остальных блоков - произвольное
2) синтаксис диапазона страниц - см. в описании интерфейса
3) если параметр "-p" не указан - обрабатываются все страницы
4) при указании в "-i" и "-ch" нескольких названий, они разделяются запятыми
5) ограничения на удаление блоков и ссылок - см. в описании интерфейса
6) "-n" указывается при необходимости удаления закладок (Bookmarks, Outline)
7) "-d" указывается при необходимости удаления страниц, записанных после "-p" (указание удаляемых страниц обязательно, все страницы удалить невозможно).. при удалении страниц параметры "-i" и "-ch" игнорируются
8) если параметр "-s" не указан, то имя сохраняемого файла будет складываться из имени исходного файла и суффикса "_1"
9) для указания произвольного суффикса после "-s" вместо имени сохраняемого файла необходимо слитно написать знак плюс "+" и произвольный суффикс, например, "+_нов"
10) для сохранения файла под тем же именем после "-s" необходимо записать имя исходного файла
11) если в качестве удаляемых блоков после "-ch" указаны блоки заднего фона (BG44 или BGjp), то после их удаления для корректного отображения цвета маски создается новый блок BG44 белого цвета с минимально возможным размером
12) если в качестве удаляемых блоков после "-ch" указаны блоки "раскраски маски" (FGbz, FG44 или FGjp), то после их удаления для корректного отображения заднего фона создается блок FGbz с черным цветом всех элементов маски
13) если требуется удалить на страницах одновременно и задний фон, и цвет маски, то сочетание данных блоков д.б. указано через знак плюс "+", например, FGbz+BG44 (в данном случае указанные блоки удалятся только если они оба находятся в составе страницы, если одного из блоков не будет - например, есть FG44 и BG44 - то другой тоже не удалится)
14) если нужно удалить все блоки раскраски маски и заднего фона независимо от их сочетания на странице, то в качестве блока необходимо указать слово "color"

пример 1:
DjVuChunkRemover.exe "d:\temp\мой файл.djvu" -p -5,10,22 -n -i shared_anno.iff -ch CIDa,ANTz,TXTz,BG44+FG44
создается файл "мой файл_1.djvu", в котором в отличии от файла "мой файл.djvu" удалены закладки, а также на страницах с 1 по 5, 10 и 22 удалены блок CIDa, текстовый слой, аннотации, ссылки на файл shared_anno.iff, а также блоки BG44 и FG44, если они оба имеются на данных страницах

пример 2:
DjVuChunkRemover.exe myfile.djvu -s +_new -i shared_anno.iff -ch CIDa,color
при наличии файла "myfile.djvu" рядом с программой, создается файл "myfile_new.djvu" без ссылок на shared_anno.iff и блоков CIDa во всем документе, а также удалены все имеющиеся блоки FGbz, FG44, FGjp, BG44 и BGjp

пример 3:
DjVuChunkRemover.exe "d:\temp\мой файл.djvu" -s "d:\temp\мой файл.djvu" -p -10 -n -i shared_anno.iff -ch CIDa,ANTz,TXTz -d
в файле "мой файл.djvu" удаляются закладки и страницы с 1 по 10.. параметры "-i" и "-ch" игнорируются

ОПИСАНИЕ ИНТЕРФЕЙСА

Открыть
Сохранить
RU/EN - переключение интерфейса на русский/английский язык

----------
Область редактирования - область документа (страницы), к которой применяются изменения
Весь документ
Страницы (отдельные - через запятую, диапазон - через тире.. пример:
"-4,7,10-12,55-" - редактирование страниц 1,2,3,4,7,10,11,12,55 и до конца документа)

----------
Удалить
Чекбокс "Удалить страницы" - удаление страниц, указанных в соответствующем поле
Список "INCL (Общие блоки)" - удаление блока INCL со ссылкой на совместно используемый файл - преимущественно, файл аннотаций.. удаление ссылок на файлы (*.djbz, *.iff), являющиеся совместно используемыми словарями символов Djbz, заблокировано..
Список "Блоки на странице" - удаление блоков, входящих в состав страницы, за исключением INFO, Sjbz, Djbz и INCL.. Про особенности удаления блоков FGbz, FG44, FGjp, BG44 и BGjp см. выше в примечаниях к параметрам командной строки..
Чекбокс "NAVM (Закладки/Bookmarks)" - удаление блока NAVM, содержащего информацию о закладках..
Чекбокс "Не показывать неудаляемые блоки и ссылки" - в выпадающих списках отображаются только те блоки, которые можно удалить..
Кнопка "Удалить" - удаляются выбранные блоки на указанных страницах или страницы.. если какой-либо блок или страница были удалены, значок пустой корзины меняется на заполненную.. в файл изменения вносятся при нажатии "Сохранить"..

----------
Описание часто встречающихся блоков
NAVM -    Закладки (Bookmarks, Outline)
INFO -    Информация о странице (удаление запрещено)
Sjbz -    Маска (передний слой) (удаление запрещено)
INCL -    Ссылка на совместно используемые аннотации
    или Djbz-словари символов (удаление запрещено,
    допускается удалять только ссылки на блоки
    аннотаций в списке 'Общие блоки')
FG44 -    Цветной фон маски
FGbz -    Цвета элементов маски
BG44 -    Фон страницы (задний слой)
TXTz -    Текстовый слой
ANTz -    Аннотации
CIDa, LTAz - Устаревшие неиспользуемые блоки

----------
Статусбар - информация о количестве страниц в книге / страницах, на которых встречаются выбранные блоки

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

История версий DjVu Chunk Remover

--------------------------------------------------------------------------------
v 0.5
1) поддержка одностраничных документов
2) добавление BG44 белого цвета при удалении только фона (BG44, BGjp)
3) добавление FGbz черного цвета при удалении только цвета маски (FGbz, FG44, FGjp)
4) возможность удаления сочетаний блоков
5) новый параметр ком. строки "-ch color" для удаления всех блоков раскраски маски и заднего фона
6) другие мелкие изменения и исправления

--------------------------------------------------------------------------------
v 0.4.1
1) изменение кодировки в наименовании страниц с Win-1251 на UTF8 для некоторых djvu-книг, изготовленных с помощью устаревших редакторов, например, DjVu Solo

--------------------------------------------------------------------------------
v 0.4
1) добавлена возможность удаления страниц
2) добавлен английский интерфейс
3) удаление неиспользуемых общих блоков из файла
4) другие мелкие изменения и исправления

--------------------------------------------------------------------------------
v 0.31
1) исправлена редковозникающая ошибка в кодировщике "DIRM"
2) поддержка Drag & Drop

--------------------------------------------------------------------------------
v 0.3
1) исправлены ошибки, возникавшие в определенных ситуациях при раскодировании/кодировании "DIRM"
2) корректное отображение кириллицы в списке "INCL (Ссылки на файлы)"
3) поддержка параметров командной строки
4) возможность исправления файлов, отредактированных в DjVu Chunk Remover v0.1, а также после внесения в эти файлы "мусора" другими редакторами.. для этого нужно открыть данный файл и нажать "Сохранить", либо из командной строки - DjVuChunkRemover.exe myfile.djvu

--------------------------------------------------------------------------------
v 0.2
1) изменения размеров страниц вносятся в кодированную часть "DIRM"

--------------------------------------------------------------------------------
v 0.1
первый релиз[/more]
--
upd перезалил.. v02
--
upd перезалил.. v03
добавлена поддержка ком.строки и др..
--
upd v031
багфикс+драг'н'дроп
--
upd v04
удаление страниц+англ.фейс
--
upd v041
багфикс
--
upd v05
поддержка одностраничных документов+добавление BG44 и FGbz
Автор: includes
Дата сообщения: 04.05.2012 11:05
а под линуксом он не работает?
Автор: NME
Дата сообщения: 04.05.2012 21:48
includes
не знаю.. наврядли..
мож тока если под wine при установленном фреймворке 2..
Автор: sergiokapone
Дата сообщения: 04.10.2012 21:04

Цитата:
аналог DjVu Hyperlinks Editor'у с бОльшим функционалом и предварительным просмотром..


NME, тоже хотелось бы...

Автор: NME
Дата сообщения: 12.01.2013 21:22
сделал костыль, исправляющий несовершенства текстового слоя в файлах DjVu, создаваемых 11м файнридером.. надеюсь, в недалеком будущем ABBYY-вцы сами сделают возможность создавать "нормальный" текстовый слой в таких файлах..
краткое описание и ссылка на файл в шапке..
Автор: amaid
Дата сообщения: 13.01.2013 07:51
не пашет (win XP), скрины ошибок и пробный файл djvu тут:
http://rghost.ru/42983856
а вообще, была бы полезная штука, сейчас приходится все дежавюхи от fr11 разбирать и распознавать заново.
Автор: NME
Дата сообщения: 13.01.2013 08:44
amaid
твой DjVu-файл сделан в фр<11.0.102.583.. разница в том, что до этого билда распознавание производилось построчно (как в твоем случае), а с 583 - каждое слово уже имеет свои координаты.. скачай более новый фр..
Автор: NME
Дата сообщения: 14.01.2013 22:59
Немного обновил прогу FR11 DjVu Text Layer Crutch - теперь измененный текстовый слой можно сохранять в другой DjVu-файл..
также появилась возможность быстрого копирования текстового слоя из одного файла в другой - для этого в программе открываем файл с нужным текстом, жмем ОК в появившемся сообщении, далее - "сохранить ... в другой файл DjVu" и выбираем файл, в который нужно скопировать текст из первого файла..
ну, и еще несколько мелких усовершенствований..
Автор: amaid
Дата сообщения: 20.01.2013 21:51
работает в лучшем виде!
спасибо за труды, NME

Добавлено:
еще бы из контекстного можно было файл в тот Crutch отправлять...
Автор: uaply
Дата сообщения: 04.02.2013 23:34
NME

У меня FR11 Crutch неверно обрабатывает "эскейпнутую" последовательность знаков
(word 884 445 953 518 "\\n")

На выходе получается
(word 884 445 953 518 "\"))

и, естественно

*** Syntax error in txt data: missing parenthesis

Очень надеюсь на фикс.
Автор: Akimoff13
Дата сообщения: 05.02.2013 07:32
У родителей стационарный компьютер сильно тормозит, нельзя нормально даже фильм посмотреть, периодически перезагружается, работать невозможно, решил обратиться в сервисный центр I-WIS, о нем довольно много положительных отзывов. Курьер приехал достаточно быстро и после бесплатной диагностики назвал ориентировочно сумму ремонта, выдал мне квитанцию. Уже к вечеру мне позвонили и я забрал системный блок, цена оказалась меньше, чем та, на которую я рассчитывал, это не могло меня не обрадовать. Работники сервиса оставили после себя только положительные эмоции, а компьютер прекрасно работает и даже шуметь стал меньше. Впредь буду обращаться именно туда.
Автор: Dracula
Дата сообщения: 05.02.2013 09:48
Akimoff13
И каким боком это относится к данной теме?
Автор: NME
Дата сообщения: 05.02.2013 19:12
uaply
странно, откуда взялась эта "последовательность" в распознанном документе.. это же перевод строки..
или часть слова вручную была удалена? если нет - можно исходный материальчик посмотреть?
пофиксить-то несложно.. нужно понять, в чем дело..
Автор: uaply
Дата сообщения: 06.02.2013 10:55
NME
Руками ничего не правилось, это FR на математических формулах так косячит.

Вообще везде в DJVU созданных FR11 встречаются переносы строки \n, действительно непонятно зачем они там. Похоже появляются на границах блоков, например когда в верхней строке номер страницы и колонтитул размечен отдельными зонами.

А еще встречается табуляция \t. Тут яснее, обычно она в нумерованных списках, например 1.\tПункт один.

Но конкретно в данном случае неправильно распозналась формула, и там появился обратный слэш:
(K/k)\n - 1/2).    (3.86)
Здесь это не перенос строки, это такой текст нужно закодировать. Понятно, что djvused на выходе удваивает слэш, и даёт
"(K/k)\\n"
Ошибка обработки вылезла, поскольку имелось в виду "\\" + "n", а не "\" + "\n".

Вот файлы для проверки: http://rghost.net/43589335

Автор: NME
Дата сообщения: 06.02.2013 21:22
uaply
исправил (я надеюсь)..
новая ссылка в шапке..
Автор: uaply
Дата сообщения: 06.02.2013 22:29
NME
Да, полечилось. Спасибо!

Кстати, у меня ещё не работает сохранение в отдельный файл. Поверху перезаписывает нормально, но если жать кнопку "Сохранить в другой файл DjVu", то после диалогового окна файл не появляется.

И переключатель режима переноса как-то странно работает. Такое ощущение, что его можно переключить только до открытия файла, а если файл уже открыт, то он не действует.

А вообще я копирую поправленный .dsed файл, и вставляю его дальше своим скриптом, поскольку нужно ещё и обложку добавить, а поручить это Файнридеру - я не доверяю. Неплохо бы поддержку командной строки, и чтобы текстовый файл создавался рядом с входным DjVu, а не во временном месте... Но это я уже что-то размечтался
Автор: NME
Дата сообщения: 06.02.2013 23:03
uaply

Цитата:
Кстати, у меня ещё не работает сохранение в отдельный файл. Поверху перезаписывает нормально, но если жать кнопку "Сохранить в другой файл DjVu", то после диалогового окна файл не появляется.

Здесь имелась ввиду немного другая логика))
Есть, допустим, не распознанный файл DjVu.. открываем его в фр11, распознаем, сохраняем в другой файл DjVu ибо имхо фр исходный материал калечит.. далее открываем 2й файл, жмем "Сохранить в другой файл", выбираем 1й.. в итоге, нормальный текстовый слой в нормальном файле DjVu..

Цитата:
И переключатель режима переноса как-то странно работает. Такое ощущение, что его можно переключить только до открытия файла, а если файл уже открыт, то он не действует.

должен действовать и во время работы.. но, книга во время сохранения ессно должна быть закрыта.. при этом не стоит забывать (если, конечно, знал это ранее), что в случае использования метода 2 текст, скопированный в WinDjView будет немного отличаться от того, что скопируется в других просмотрщиках..

Цитата:
Неплохо бы поддержку командной строки

пока не планирую

Цитата:
и чтобы текстовый файл создавался рядом с входным DjVu, а не во временном месте...

это можно будет сделать, но не сейчас.. когда-нибудь позже..

Цитата:
нужно ещё и обложку добавить, а поручить это Файнридеру - я не доверяю.

а я бы и текст ему не доверял.. существуют другие давно изученные и опробованные методы получения качественного DjVu-файла..
Автор: uaply
Дата сообщения: 06.02.2013 23:58
NME

Цитата:
а я бы и текст ему не доверял.. существуют другие давно изученные и опробованные методы


Вот я потому текстовый слой и вставляю отдельно, поскольку в другой файл, а не в тот, что FR сделал.
Теперь, кстати понятна логика "другого файла", она как раз для решения этой проблемы.

Кстати, ещё думал, нельзя ли соединять переносы слов через страницу. Но сделал вывод, что с налёту не получится. Если на следующей странице первым идёт колонтитул (а так бывает довольно часто), то разорванное слово к колонтитулу приклеится, а не к правильному тексту.

Методы склейки переноса вот поиспытывал, и остановился на первом, который по умолчанию. Не сразу понял, зачем оставлять пробел от начала слова, на котором перенос. Но наверно так действительно лучше - правый край строк правильно выглядит, если мышкой всю страницу выделить.
Автор: NME
Дата сообщения: 07.02.2013 17:12
uaply

Цитата:
Кстати, ещё думал, нельзя ли соединять переносы слов через страницу.

можно, но только вручную.. программа работает с мягкими переносами "¬", а файнридер в конце страницы ставит тире "-", и понять, тире это или перенос - сложно.. нужно уже словари подключать.. а в случае с колонтитулами - практически невозможно..
Автор: ComboFZ
Дата сообщения: 07.02.2013 18:26
NME

FR11 DjVu Text Layer Crutch v0.21 06-02-2013.
Кривой текст при копировании из Document Express Editor 6.0/ 6.5/ 7.5 (DjVu Browser Plug-in 6.1.4 Build 28008) по Методу2:

перенос сло-
слова

Из WinDjView верно:

перенос сло-
ва

http://sendfile.su/757774
Автор: NME
Дата сообщения: 07.02.2013 19:42
ComboFZ

Цитата:
Кривой текст...

так все правильно метод 2 предназначен а) для полноценного поиска текста по книге б) для копирования текста как в оригинале (с переносами) только в WinDjView (автор в свое время сделал фичу, чтобы такой текст "правильно" копировался, в других просмотрщиках такой фичи нет)..
в любом случае, если не устраивает один метод, всегда можно использовать другой..
Автор: ComboFZ
Дата сообщения: 07.02.2013 20:17
NME

Плохо, что вы сейчас об этом изволили сказать. О косяке с DEE Методом2 надо было раньше предупредить, если знали.

Автор: NME
Дата сообщения: 07.02.2013 21:17
ComboFZ
"мы" об этом на морде программы написали

Цитата:
Метод 2:
перенос сло-
слова

но, видимо, это для тех, кто читать умеет..

похоже, придется укомплектовывать костыль еще одной фичей - конвертацией текста, сделанного по методу 2 в 1..
можно еще подумать о реализации метода 3 - это добавление второй половинки слова к первой (а не первой ко второй, как в методе 1), а вместо второй половины слова - пробел (чтоб координаты строки не искажались)..
Автор: ComboFZ
Дата сообщения: 07.02.2013 21:44
NME

Цитата:
"мы" об этом на морде программы написали

Лучше на морде шапки с пояснениями )

Цитата:
похоже, придется укомплектовывать костыль еще одной фичей - конвертацией текста, сделанного по методу 2 в 1..

было бы не плохо
Автор: uaply
Дата сообщения: 08.02.2013 00:14
NME

Цитата:
похоже, придется укомплектовывать костыль еще одной фичей - конвертацией текста, сделанного по методу 2 в 1


Разве это преобразование обратимо?

Пример:
Была фраза "... электрон-электронное взаимодействие".

Не повезло ей, попала на разрыв строки, получилось
"... электрон-
электронное взаимодействие."

И что с ней случится после обратного преобразования? Будет она
"... электрон-
ное взаимодействие".

Кстати, сейчас WinDjView вот именно так смело убирает начало слова, хотя в общем случае этого делать нельзя.

Страницы: 123456789

Предыдущая тема: дубль


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.