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

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

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

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

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

NME



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

DjVu Nano Mega Editor
(DjVuNMEditor)

Программа для редактирования в DjVu-книгах:
1) текстового слоя;
2) аннотаций;
3) заголовков страниц (title);
4) метаданных;
5) закладок (bookmarks, outline); в текущей версии не реализовано
6) еще чего-то?
Описание
Скачать v3.6
Английская локализация

TurnTheText

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

DjVu Annotations Editor

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

HeadWorder

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

FR11 DjVu Text Layer Crutch

Программа для исправления текстового слоя в файле DjVu, созданного посредством ABBYY FineReader билд 11.0.102.583 и выше (в т.ч. ФР12)..
Выполняет следующие действия:
- удаляет блоки Char;
- создает зоны Line и Paragraph;
- объединяет две половинки слова, разделенного знаком переноса, в одно;
- позволяет переносить текстовый слой из одного файла в другой..
Описание
Скачать v0.3.3
Основной функционал программы реализован также в DjVuNMEditor'е

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 и т.п., автоматически или вручную переименовывать страницы со сдвинутой нумерацией (в т.ч. при удалении пустых страниц) для соответствия нумерации электронной книги её бумажному оригиналу..
Описание
Скачать v0.1
Основной функционал программы реализован также в DjVuNMEditor'е

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

FR12 Parser

Программа для извлечения координат символов из проекта ФР12-16..
Описание
Скачать v2.6

Все программы в одной папке


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


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

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

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

продолжение следует..

Всего записей: 1498 | Зарегистр. 26-07-2007 | Отправлено: 22:57 06-02-2012 | Исправлено: NME, 20:07 23-05-2024
bolega

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
для правок текста из-под кромсатора нужно с осторожностью, постоянно бэкапясь

если есть задание, бэкап не обязателен. СК одним нажатием запишет ocr в любую заданную страницу djvu

Всего записей: 4553 | Зарегистр. 09-09-2002 | Отправлено: 12:47 15-08-2024
NME



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
кстати, раз пошла речь о текстовом слое djvu в кромсаторе, хочу сказать, что доработка парсера под определение параграфов и последовательности расположения блоков на странице вызывает трудности.. место разбиения блоков на параграфы я нашел, также нашел последовательность и координаты распознанных блоков (и не только текстовых, но и картинок - может быть в будущем это можно будет как-то использовать для автоматической расстановки зон в кромсаторе).. но, последовательность могу определить только в файлах фр12-15.. фр16 координальным образом изменил формат файла layout.dat и для фр16 надо будет проводить отдельную работу..
к тому же основной работы много навалилось, не считая того, что надо доделать новые версии экстендеда и нмэдитора.. да и сегодня понял, что шарп порядком подзабыл, долго его не использовал)) в общем, работы над парсером оказалось очень много, быстро сделать не удалось, так что придется её отложить, навряд ли раньше НГ получится доделать, сорян..
 
Добавлено:
bolega

Цитата:
если есть задание, бэкап не обязателен. СК одним нажатием запишет ocr в любую заданную страницу djvu

я так понимаю, в кромсаторе и функционал по правке текста есть.. если так, то лучше данный текст в кромсаторе править, а не в нмэдиторе))

Всего записей: 1498 | Зарегистр. 26-07-2007 | Отправлено: 12:54 15-08-2024
bolega

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NME

Цитата:
в общем, работы над парсером оказалось очень много, быстро сделать не удалось, так что придется её отложить, навряд ли раньше НГ получится доделать, сорян..  

у меня такая же история, времени нет.
 

Цитата:
функционал по правке текста есть..

есть то есть, но текст в СК не столько для ocr, сколько для глифирования. А для этого просто произвольно править недопустимо, нужно чтобы ocr был привязан к координатам на скане, и так для каждой буквы! А это сильно усложняет интерфейс правки (правка на уровне каждой буквы по отдельности), быстрым его не назовешь.

Всего записей: 4553 | Зарегистр. 09-09-2002 | Отправлено: 13:34 15-08-2024
sergiokapone



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NME, а можно в эдиторе при создании оглавления или алфавитного делать смещение номеров страниц. Автоматом он берет номер из текстового слоя, но он же не всегда совпадает с актуальным номером страницы, когда вставляется обложка, например.

Всего записей: 597 | Зарегистр. 07-06-2011 | Отправлено: 09:18 16-08-2024 | Исправлено: sergiokapone, 09:23 16-08-2024
NME



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sergiokapone
нет, уже обсуждалось это ранее.. только созданием заголовков страниц, совпадающих с бумажной нумерацией..
для создания смещения скрипт делали, где-то в данном топике ссылка на него тоже была..

Всего записей: 1498 | Зарегистр. 26-07-2007 | Отправлено: 09:40 16-08-2024
sergiokapone



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скрипт на python  для инкремента номера в аннотации

Код:
 
import re
import sys
import shutil
 
def increment_maparea_correct(content):
    """
    Увеличивает на 1 числовые значения в строках, соответствующих шаблону 'maparea "#<число>"'.
     
    Аргументы:
    content (str): Строка с содержимым файла, в котором будет произведено замещение.
     
    Возвращает:
    str: Новая строка с увеличенными на 1 значениями числа в шаблоне 'maparea "#<число>"'.
    """
    pattern = r'(maparea\s*"#)(\d+)"'
 
    def increment(match):
        """
        Функция замещения, которая увеличивает числовое значение на 1.
         
        Аргументы:
        match (re.Match): Объект, представляющий найденное совпадение в исходной строке.
         
        Возвращает:
        str: Строка с увеличенным числовым значением.
        """
        prefix = match.group(1)
        number = int(match.group(2)) + 1
        return f'{prefix}{number}"'
 
    new_content = re.sub(pattern, increment, content)
    return new_content
 
def main(filename):
    """
    Основная функция программы, обрабатывающая файл с заданным именем.
     
    Аргументы:
    filename (str): Имя файла, который нужно обработать.
     
    Функция создает резервную копию файла с расширением .bak, затем  
    читает исходный файл, корректирует его содержимое с помощью функции  
    increment_maparea_correct(), и записывает измененное содержимое  
    обратно в исходный файл.
    """
    # Создаем резервную копию файла с расширением .bak
    backup_filename = filename + '.bak'
    shutil.copyfile(filename, backup_filename)
 
    # Читаем оригинальный файл
    with open(filename, 'r') as file:
        content = file.read()
 
    # Обрабатываем файл
    corrected_content = increment_maparea_correct(content)
 
    # Перезаписываем оригинальный файл
    with open(filename, 'w') as file:
        file.write(corrected_content)
 
if __name__ == "__main__":
    """
    Точка входа в программу. Проверяет правильность ввода аргументов командной строки.
     
    Если количество аргументов не равно 2, выводится сообщение о правильном использовании скрипта.
    В противном случае вызывается функция main() с именем файла, переданного в командной строке.
    """
    if len(sys.argv) != 2:
        print("Usage: python script.py <filename>")
    else:
        main(sys.argv[1])
 
 

 
Перед использованием нужно с помощью djvuded извлечь файл с аннотаиями book_ant.dsed и почистить его (с пом. sed):
 

Код:
 
djvused %1 -u -e "output-ant" > book_ant.dsed
sed -i -r -e "s/\"[a-zA-Z]*[0-9]+\.djvu\"\s\#\s[a-z]+\s//g" book_ant.dsed
 

 
Но, безусловно,  костыли все это.

Всего записей: 597 | Зарегистр. 07-06-2011 | Отправлено: 00:14 19-08-2024 | Исправлено: sergiokapone, 00:18 19-08-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sergiokapone, djvused можно сразу из python  вызывать, sed тоже излишен, если вы re  импортируете.  

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 06:21 19-08-2024
sergiokapone



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235, да я бы лучше все на sed переделал, только не могу добиться чтобы он арифметику делал.

Всего записей: 597 | Зарегистр. 07-06-2011 | Отправлено: 12:15 19-08-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sergiokapone
простая арифметика есть в bash.. ну или bc использовать. А в чем смысл строчки очистки с помощью sed?  Без нее ведь тоже  можно..

Всего записей: 980 | Зарегистр. 14-12-2005 | Отправлено: 12:36 19-08-2024
sergiokapone



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
sergiokapone
простая арифметика есть в bash.. ну или bc использовать. А в чем смысл строчки очистки с помощью sed?  Без нее ведь тоже  можно..

 
тогда в экспортированных файлах выбирается страница по номеру типа select 1, select 2, а не по имени select "image0001.djvu"; select "image0002.djvu" ... И тогда не будет проблем с внедрением, если внутренние названия будут другими.  
 
А в общем, конечно можно и без чистки, но лучше пускай будет.
 

Всего записей: 597 | Зарегистр. 07-06-2011 | Отправлено: 13:31 19-08-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

Компьютерный форум 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