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

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

Автор: amaid
Дата сообщения: 05.02.2014 07:01
Aladdin2
удаление пустых страниц очень пригодилось бы! Djvu small при декодировании их либо пропускает (потом OCR внедряется не на свое место), либо прекращает работу. приходится искать и удалять вручную.
Автор: NME
Дата сообщения: 06.02.2014 21:48

Цитата:
Тут ещё один глюк нашёлся. Если имеется два чанка INCL, программа выдаёт ошибку

количество чанков тут не причем.. прога в основном и создавалась для того, чтобы удалять пустые чанки CIDa и ссылки на shared_anno.iff.. здесь другой баг - программа декодирует только 51200 байт, а в данном случае из-за длинных названий страниц нужно больше.. вообще-то я с этой проблемой уже сталкивался и победил ее, но в этой программе декодер видимо не исправил.. на днях подправлю..

Цитата:
Во-первых, позволить удалять чанк INCL (второй из приведённого выше примера), не знаю, может по имени, или по порядку их расположения.

это уже реализовано, удаляется по имени..

Цитата:
Тогда уж заодно можно включить удаление Sjbz

принципиально отключил эту возможность и включать не буду.. создать пустую страницу можно и другими способами, а испортить файл данной фичей не составит труда..

Цитата:
1) Возможность выбрать сразу несколько типов слоёв для их одновременного удаления (а то приходится 1 файл по нескольку раз прогонять).

даже не могу представить пример, когда это нужно сделать.. сейчас за 1 раз можно удалить закладки, ссылки на файл (в основном shared_anno.iff) и один из чанков - CIDa (при наличии), текст или аннотации.. когда нужно удалять все эти чанки одновременно, да еще и массово - видимо только ради спортивного интереса.. ради этого усложнять интерфейс и переделывать логику работы я не собираюсь..

Цитата:
2) Возможность указать не только файл, но и папку

блин, я прогу делал побаловаться, а тут уже речь идет о массовой обработке файлов)) возможно, проще поддержку ком.строки прикрутить..

Цитата:
3) Возможность автоматической замены существующего файла новым.

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

Цитата:
P.S. А я со своей стороны сделаю прогу для пунктов:

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

на нынешнем этапе освоения данного формата эти программы мне и самому несложно создать, но за неимением лишнего свободного времени лучше будет, если их сделает кто-то другой))
Автор: NME
Дата сообщения: 11.02.2014 10:32
подправил DjVu Chunk Remover..
исправил баги, добавил поддержку командной строки и др.. подробнее - в описании..
Автор: Bu
Дата сообщения: 12.02.2014 14:27
Вопрос по FR11 DjVu Text Layer Crutch и по djvu в целом.

Почему при копировании текста абзацы разбиваются на строки? К примеру:

Цитата:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Копируется так (FR11 DjVu Text Layer Crutch убирает переносы только по слогам):

Цитата:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut
labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.Lorem ipsum dolor sit
amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore
eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.

Это косяк FR11 DjVu Text Layer Crutch, формата djvu или просмотрщика (WinDjView)?
Автор: NME
Дата сообщения: 12.02.2014 15:23
Bu
а как программа должна определить границы абзаца?
в исходном материале после ФР11 стоят знаки конца строки "\n", Crutch их убирает, помещая строку в зону типа "Line"..
формат djvu предусматривает и другие зоны - Page, Column, Region, Paragraph, только вроде на копирование/вставку это не влияет, по крайней мере в WinDjview..
Автор: Bu
Дата сообщения: 12.02.2014 15:40
NME
В своем интерфейсе FR показывает что параграфы он распознает:



Там точно остается только один перенос?

Добавлено:
А, я понял, FR ставит \n в начале word'a, если это перенос внутри параграфа, и в конце, если это перенос на другой параграф.
Автор: LonerDergunov
Дата сообщения: 12.02.2014 19:14

Цитата:
возможно, проще поддержку ком.строки прикрутить..

Да, да, да! Просим-просим
Автор: NME
Дата сообщения: 13.02.2014 11:42
Bu
попробовал поиграться с зоной Paragraph - результат мне не понравился..
вставка текста после копирования его в 3х разных вьюверах дала 3 разных результата - и ни одного нужного.. чтобы текст в пределах параграфа был сплошным, надо убирать зоны Line, а это уже влияет на выделение его и т.п..
FR11 Crutch приводит текст к формату привычного старого доброго DjvuOCR и, пожалуй, лучше все так и оставить.. можно было бы еще подумать на эту тему, если бы проект WinDjView развивался, но т.к. там изменений не предвидится, то и я не вижу пользы в изменении разметки текста, скорее - наоборот..
LonerDergunov
в планах на ближайшие пару месяцев.. заодно избавлюсь от ненужных теперь дополнительных ехе-шников и длл-лек..
Автор: Bu
Дата сообщения: 13.02.2014 14:03
NME
Да, нашел файл со сплошным копированием (структура файла paragraph + word), но выделение у него странное - последнее слово в параграфе не выделяется и выделить можно только один параграф. Но параграф копируется как одна строка.

А можете скинуть пример файла со структурой paragraph + line + word?
Автор: NME
Дата сообщения: 13.02.2014 16:09
Bu
да я собственноручно эти параграфы делал - совсем несложно:
1) открываешь Crutch-ем книгу, лучше - уже исправленную
2) рядом с прогой ищешь файл result.dsed, открываешь его редактором типа блокнот
3) перед нужной зоной Line добавляешь (para х1 у1 х2 у2, после последнего нужного слова - ), где х1 у1 - минимальные первые 2 координаты из входящих в эту зону line, а х2 у2 - максимальные последние.. пример
(para 193 1313 820 1438
(line 193 1405 820 1438
(word 193 1405 527 1435 "Тригонометрические")
(word 541 1411 739 1431 "зависимости")
(word 788 1413 820 1438 "23"))
(line 195 1359 820 1392
(word 195 1364 330 1390 "Плоские")
(word 343 1359 463 1389 "фигуры")
(word 788 1366 820 1392 "24"))
(line 195 1313 818 1346
(word 195 1313 400 1343 "Поверхности")
(word 415 1319 435 1337 "и")
(word 448 1319 565 1344 "объемы")
(word 577 1320 626 1338 "тел")
(word 789 1321 818 1346 "31")))
4) сохранить result.dsed, нажать "сохранить исправленный текстовый слой.."
вуаля, файл с параграфами))



Автор: Bu
Дата сообщения: 13.02.2014 19:56
NME
Нашел как сделать! Нужно удалить все line, и изменить para на line, тогда копирование происходит корректно. По вашему примеру будет так:

Цитата:
(line 193 1313 820 1438
(word 193 1405 527 1435 "Тригонометрические")
(word 541 1411 739 1431 "зависимости")
(word 788 1413 820 1438 "23")
(word 195 1364 330 1390 "Плоские")
(word 343 1359 463 1389 "фигуры")
(word 788 1366 820 1392 "24")
(word 195 1313 400 1343 "Поверхности")
(word 415 1319 435 1337 "и")
(word 448 1319 565 1344 "объемы")
(word 577 1320 626 1338 "тел")
(word 789 1321 818 1346 "31"))

FINALLY!

Видимо у параграфов какое то другое (сакралное ) предназначение.
Автор: NME
Дата сообщения: 14.02.2014 17:16
Bu
эт сделать-то несложно - всего одну строку в коде закомментировать, только в этом случае инфа о конце строки пропадет.. надо подумать как сделать так, чтоб информация не терялась и, при необходимости, строки могли бы быть восстановлены..
Автор: Bu
Дата сообщения: 14.02.2014 18:42
NME
По-моему лучше дополнить интерфейс, чем думать как сохранить информацию. Может кому-то и понадобится разбиение абзацев на строки. Мой вариант:

Опция "в конце доп. перенос" добавляет перенос к последнему слову абзаца (точнее оставляет тот что остался после FR). Так, при вставке текста удобнее различать абзацы (добавляется пустая строка).
Автор: NME
Дата сообщения: 14.02.2014 21:40
Bu
интерфейс - это самое простое, но он не решает проблему потери информации о строках.. в принципе, метки можно будет сделать дополнительными пробелами в зонах Char в конце строки и каким-то похожим образом метить конец абзаца, а в программе реализовать конвертацию одного способа в другой..
доп. перенос мало кому нужен, к тому же очень просто в любом текстовом редакторе заменить перевод строки на двойной..
слышал, что 12й фр то ли вышел, то ли на подходе.. м.б. они там сделали адекватный текстовый слой и надобность в костыле отпадет сама собой.. когда-то это ведь должно случиться..
Автор: Bu
Дата сообщения: 15.02.2014 12:35
NME
FR12 делает так же как FR11 DjVu Text Layer Crutch - делит абзац на строки. Но не соединяет слова и сжимает файл. Т.е. ничего не изменилось можно считать.

Можете, тогда, для меня сделать версию с абзацем в одну линию, и переносом после последнего слова? Или скинуть исходники, я сам сделаю.
Автор: NME
Дата сообщения: 15.02.2014 16:51
Bu
сначала надо 12 посмотреть..
Автор: NME
Дата сообщения: 16.02.2014 09:37
Bu

Цитата:
FR12 делает так же как FR11 DjVu Text Layer Crutch

откуда такая информация? то, что я увидел, скачав с офсайта, это абсолютная копия текстового слоя FR11, но никак не FR11 DjVu Text Layer Crutch.. так что смысл развивать программу еще есть.. возможность разбиения по абзацам сделаю, а также возврат при необходимости к построчному разбиению и обратно.. ну и поддержку комстроки и др.. но все это чуть позже..
Автор: ILHS
Дата сообщения: 09.04.2014 20:05
Вопрос про FR11 DjVu Text Layer Crutch:
Вроде все делаю как надо, но почему-то переносить текстовый слой из одного файла в другой не получается. При этом сообщение "Готово" вспливает на экран. Временные файлы создаются.
ОС: Win7 64bit Greek.

З.Ы. пробовал с файлом созданным FR8 и перенос работает.
Есть какие-нибудь идей, что тут происходит?
Автор: NME
Дата сообщения: 11.04.2014 00:32
ILHS
скорее всего проблемы с путями, именами файлов и т.п.. не латинские буквы нежелательны..
можно также попробовать из под ком.строки внедрить слой из result.dsed в нужный файл, если какая-то ошибка в djvused - в консоли об этом будет написано..
если не поможет - присылай файлы, буду посмотреть..
з.ы. в скором будущем новый билд доделаю, там проблем с именами и т.п. не должно возникать..
Автор: NME
Дата сообщения: 11.04.2014 23:53
ILHS
проблема оказалась в том, что файл был модернизирован - в него были вставлены страницы с текстовым слоем не из FR11.. кроме того, имена некоторых страниц у 1й и 2й книги различались - поэтому слой и не копировался..
в общем, слой я перенес, ссылку на файл кинул в личку.. в следующий раз перед обработкой файла не стОит вносить в него коррективы..
Автор: ILHS
Дата сообщения: 12.04.2014 00:00
Понял. Еще раз спасибо. Ждем и новый билд.
Автор: hogu77
Дата сообщения: 11.05.2014 22:19
NME
FR11 DjVu Text Layer Crutch под FR 12 тоже работает.

Автор: NME
Дата сообщения: 12.05.2014 14:25
hogu77
я знаю, поэтому и решил продолжить работу над программой..
новый релиз уже сделал, доделаю описание и сегодня вечером или завтра выложу..
Автор: hogu77
Дата сообщения: 12.05.2014 14:54
NME

Цитата:
новый релиз уже сделал, доделаю описание и сегодня вечером или завтра выложу..

Отличная новость!



Автор: NME
Дата сообщения: 13.05.2014 09:25
новая ссылка в на FR11 DTL Crutch шапке..
из основных новшеств в 0.3:
- отпала необходимость в использовании djvused
- поддержка комстроки
- возможность создания параграфов
- возможность слияния частей слова, разделенных дефисом "-"
подробнее об этих и других изменениях в Описании
Автор: Bu
Дата сообщения: 13.05.2014 14:44
И как сделать чтобы абзац был в одну линию?
Автор: NME
Дата сообщения: 13.05.2014 15:14
Bu
описание прочитать..
или хотя бы запустить программу с дефолтными настройками..
Автор: Bu
Дата сообщения: 13.05.2014 15:34
NME
Да, отбой, я просто пытался скопировать не из исходного FR файла, а из уже ранее обработанного.

PS Похоже сочетание para + line + word реально работает.
PPS А добавьте вот сюда двойной 0x0A (можно назвать 0x0A (x2)). К примеру в MS Word при копировании добавляется два переноса между абзацами.
Автор: NME
Дата сообщения: 13.05.2014 15:53
Bu

Цитата:
двойной 0x0A

у меня этот параметр представлен только одним байтом.. и для того, чтоб выполнить хотелку всего одного человека, которому неохота в текстовом файле (или ворде) автоматом заменить во всем тексте перенос строки на двойной перенос, я переделывать в т.ч. логику работы не буду.. давай, без обид))
Автор: Bu
Дата сообщения: 13.05.2014 16:19
NME


Цитата:
у меня этот параметр представлен только одним байтом

Экономия на спичках?

Цитата:
и для того, чтоб выполнить хотелку всего одного человека, которому неохота в текстовом файле (или ворде) автоматом заменить во всем тексте перенос строки на двойной перенос

Я такое и на javascript могу сделать, просто лишние телодвижения.

Страницы: 123456789

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


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