Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - N.M.E.

Страницы: [1] 2 3 ... 6
1
DjVu / Re: Программа DjVu Small Mod
« : 19 °ЯаХЫм 2016, 21:13:36 »
А что происходит со словарём? Он оптимизируется заново, или просто сливаются два словаря из обоих файлов?
со словарем ничего не происходит, лезть в общий словарь чревато, ибо тогда по всей книге надо выискивать к каким страницам он привязан и менять ссылки на шейпы во всех блитах.. копируемые шейпы и блиты сохраняются в чанке Sjbz той страницы, в которую они вставляются, причем переносится не весь словарь, а только нужные примитивы.. про оптимизацию, сравнение вставляемых шейпов с уже имеющимися, я первоначально задумывался, но пришел к выводу, что сложность решения задачи не сопоставима с возможной выгодой в какие-то пару процентов по объему книги - лучше сделать проще и надежнее.. для оптимизации любой djvu-книги лучше создать отдельную утилиту, но она у меня в планах в такой далекой перспективе, что наврядли я до нее когда-нибудь дойду.. да и с текущим объемом винтов эта незначительная оптимизация имхо уже сейчас не актуальна..
Цитировать
Если Вы опубликуете исходник - можно будет его сконвертировать в C++.
Правда, наверное, имеет смысл подождать версии 1.0. Иначе придётся поддерживать две ветки кода.
где-то я встречал такую тему - литературное произведение было переведено на другой язык, а затем снова на язык оригинала - так там конечный продукт первоначальному вообще был не родня))) это я к тому, что исходники djvu на с++ открыты - djvulibre - и переводить мой наикривейший код с#, который был в бОльшей степени заимствован из djvulibre, обратно в с++ не самая лучшая идея..
если есть желание сделать либу на с++ для обработки отдельных зон или м.б. в программу встроить данный функционал - я могу помочь идеями и отдельными частями шарповского кода.. если не охота с кодом заморачиваться, я могу в свою утилиту встроить понимание консольной команды для слияния маск-слоя двух djvu-страниц.. в любом случае, кому надо, тот и сейчас может отдельно закодировать разные зоны страницы с разной степенью агрессивности и затем их слить.. но вот только по ощущениям это будет нужно такому малому количеству народа, что задача превращается скорее в спортивный интерес, чем в общественно полезное дело..
в общем, если есть какие-то конкретные вопросы и предложения, лучше писАть в личку на руборде, ник NME, я там чаще бываю, быстрее отвечу..

2
DjVu / Re: Программа DjVu Small Mod
« : 17 °ЯаХЫм 2016, 20:38:38 »
Я так понимаю, эта утилита просто с помощью всё той же библиотеки freeimage, будет бинаризовать области на картинке, отмеченные в файле .zon? По идее это можно делать батником из IrfanView.
нет, программа берет блиты и шейпы из одного djvu-файла и вставляет их в другой.. таким образом, основную книгу можно закодировать агрессивно, а отдельные зоны - без потерь во временном файле, и затем перенести все шейпы и блиты из временного в основной файл..
кстати, программу я уже сделал, называется DjVu Blits Merger, есть на ру-борде.. правда она сделана на шарпе и требует 2й фреймворк.. если её привязывать к Моду, то и на него будут те же ограничения распространяться (по крайней мере для данного режима)..
сейчас еще и консольного режима в ней нет, но при необходимости и это можно сделать..

3
Ковертация идёт так: *.djvu -> *.jpeg -> *.png (потом обратно)
Работа то есть идёт с *.png- файлами
а зачем jpeg-то? чтоб поиметь его артефакты? :o
Цитировать
Если бы картинка изначально была чисто чёрно-белой , а ещё лучше ОДИН текст- всё бы решалось просто, я бы конвертировал чисто в чёрно-белый *.jpeg безо всяких оттенков и с ним бы и работал. Но в *.djvu присутствуют серые картинки и их желательно сохранить при ужирнении шрифта.
блин, я старался, сделал пример, разложил всё по полкам, а получается - всё впустую.. я же показал, как отделить от фоновой графики текст и после его обработки соединить обратно с неизмененным фоном! а здесь опять про какие-то оттенки.. нет их - текст в черно-белом файле получается!
и еще раз - конвертация в jpeg в абсолютном большинстве случаев приводит к ухудшению качества картинки.. НИКОГДА при конвертации нельзя использовать данный формат, особенно если ты не профессионал в редактировании графических файлов - это аксиома.. есть много других форматов, которые в отличии от jpeg производят конвертацию без потерь - надо использовать их, если не хочешь испортить картинку свойственными jpeg'у артефактами..
Цитировать
Хотелось бы поподробнее- какими инструментами работали и так далее.
в данном случае для единичной картинки я использовал фотошоп - делал смещения вручную.. для массовой правки данный метод не годится.. но, я на 100% уверен, что ImageMagic'ом (или каким-либо другим инструментом) можно пакетно всё это сделать..
в общем, при желании можно сделать книгу вполне приличного качества, а не эту, извиняюсь за выражение, фигню с зазубренными буквами и испорченным фоном.. как? - написано ранее..
если остались ко мне какие-то вопросы и т.п. - можно писать в личку, а лучше на ру-борде - пока здесь админ не очистит форум от наплыва порноизвращенцев, я в топики заглядывать не буду..

4
Для заценения прилагается два *.djvu до ужирнения и после. Глаз радуется на жирный шрифт. МОЙ глаз радуется.
все буквы стали зубчатыми - видимо, из-за jpeg-a..
что сделал я:
1. открыл файл в WinDjView Extended; Вид->Режим->Черно-белый; Файл->Экспорт всех страниц->Тип файла: Картинки TIFF->Сохранить..
2. отредактировал картинку - "ужирнил" описанным выше способом, сохранил..
3. создал из картинки text.djvu с профилем very agressive..
4. извлек новую маску djvuextract.exe text.djvu Sjbz=mask
5. извлек старый фон djvuextract.exe "до.djvu" BG44=bg
6. собрал djvumake.exe after.djvu Sjbz=mask BG44=bg
вот что получилось http://rghost.ru/75SdvQ694 - имхо намного лучше - нет зазубренных букв и испорченных фоновых картинок..

Если бы был способ преобразовать чёрно-белое изображение в ноли и единицы (и обратно, естессно; единица- чёрный пиксель, а ноль- белый), можно было бы пободаться в алгоритме ужирнения шрифта с кем угодно.
*.bmp - это единицы и нули..

5
для начала нужно понять, что за файл - есть ли фоновый слой, цветная маска, текст, аннотации, букмарки - нужно ли это оставлять в новой книге?
если весь текст находится в маске (foreground) и также есть фоновая графика (background), то нужно разделить графику на фон и маску (например, с помощью DjVuToy - вкладка FileInfo -> открываем файл, вводим диапазон страниц, жмем Export, который выше и правее -> получим кучу одностраничных djvu-файлов с суффиксами _BG44 и _Sjbz)
далее файлы _Sjbz переводим в графику, но только не в jpeg - лучше в bmp или tif..
чтоб не возиться с каждым файлом отдельно, рекомендую одностраничные файлы _Sjbz собрать в многостраничную книгу (можно тем же DjVuToy -> переместить нужные файлы в отдельную папку, на вкладке Merger выбрать эту папку и сохранить полученную книгу).. а затем эту книгу экспортировать в графические файлы..
после проведенных манипуляций с графикой создаем из нее новый djvu и вклеиваем туда старые _BG44 (кажется djvumake это может делать).. агрессивность кодирования - в зависимости от исходной графики, нужно имхо попробовать несколько вариантов и выбрать приемлемый для себя..
в итоге - картинки остались теми же, текст стал новым..
если в исходном файле были дополнительные чанки (текст, анно и т.п.), все это можно утилитами DjVuLibre перенести в новый файл..
в общем, чтобы понять, что конкретно надо делать, нужно на исходный материал посмотреть..

6
DjVu / Re: Программа DjVu Small Mod
« : 03 ЅЮпСам 2015, 00:08:59 »
textsharik
на днях собирался выпустить релиз утилиты, которая позволила бы решить в том числе и данную задачу.. к сожалению, сегодня нашел баг и как его исправить пока не придумал.. но, я надеюсь, она таки увидит свет и можно будет подумать над добавлением данного функционала в мод..

7
ну что, есть успехи в автоматизации процесса?
а вообще, если не секрет, каким образом были сделаны данные файлы? в сети в свободном доступе блуждает только один файл sdjvu.. а программу SDjVuAdmin вообще мало кто видел..  если можно, выложи несколько файлов для изучения, ибо имеющегося явно не достаточно для изучения формата..

8
sdjvu - диковинный зверь.. неизвестный, неизученный и вообще, практически нигде не встречающийся.. видимо садисты какие-то в наследство оставили кучу таких файлов)))
а если серьезно - то снять пароль с таких файлов имхо нереально даже за деньги.. возможно, небольшая горстка людей, занимавшихся разработкой данного формата и могла бы это сделать, но где их найдешь..
а вот перевести в bmp - это вполне реально.. нужно воспользоваться каким-нибудь автоматизатором - записать последовательность действий, запустить, подождать, получить бмп-шки..
я в свое время пользовался этим http://www.dimonius.ru/?ghost - немного глюкавый, но времени мне сэкономил немало.. возможно, есть и другие, более удобные..
вся хитрость заключается в понимании того, какие однотипные действия приведут к нужному результату.. по максимуму надо задействовать эмуляцию нажатия клавиш, по минимуму - передвижение мышью.. поэкспериментировать можно с разными сочетаниями на небольшом количестве файлов..
в общем, данный метод может сэкономить и время, и деньги))) надо только с автоматизатором разобраться и дело будет сделано..

9
Общий / Re: Кривой импорт OCR в DjVu.
« : 01 ёоЫм 2015, 22:11:03 »
Как победить?
1. Использовать 8й файн + DjvuOCR
2. 9й файн ограничить на работу только одним ядром + DjvuOCR
3. 11 или 12й + FR11 DjVu Text Layer Crutch

была утилитка, предназначенная для решения данной проблемы - переименования номеров файлов в проекте, но чёта она не всегда корректно работала..

10
1. изменить в книге заголовки страниц (title) в соответствии с бумажным вариантом (обложка, I, II, III и т.п.).. самый простой способ - с помощью программы DjVu Title Maker (есть на руборде)..
2. для навигации использовать просмотрщики DjView или WinDjView Extended - в них заголовки (при наличии) отображаются вместо номеров страниц.. но в WinDjView Extended нужно использовать не Ctrl+ G, а вводить номер в соответствующее поле на панели инструментов - при Ctrl+ G происходит переход на страницу по номеру, а не по названию..

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

12
Pdf / Re: PDF-технология ClearScan
« : 08 °ЯаХЫм 2015, 23:59:07 »
Если я правильно понял...
совсем неправильно  :(
программа векторизирует графику в шрифт и загоняет в пдф, что-то типа ClearScan.. в описании же прямо об этом сказано - smoothscan saves the vectorized images into a custom TrueType font and embeds the font into the output pdf file..

13
DjVu / Re: Содержание и смещение страницы
« : 05 °ЯаХЫм 2015, 22:35:44 »
ну, почему же мечты?
1) извлекаешь оглавление из книги
djvused.exe "моя книга .djvu" -u -e "print-outline" > bookmark.txt
2) записываешь номер страницы в новом формате
было
(bookmarks
 ("Предисловие"
  "#1" )
 ("Глава I"
  "#2" )
 ("Глава II"
  "#10" )
 ("Глава III"
  "#20" ) )
стало
(bookmarks
 ("Предисловие"
  "?djvuopts&page=1&showposition=0,0.2" )
 ("Глава I"
  "?djvuopts&page=2&showposition=0,0.5" )
 ("Глава II"
  "?djvuopts&page=10&showposition=0,0.2" )
 ("Глава III"
  "?djvuopts&page=20&showposition=0,0.8" ) )
т.е. вместо "#" записываешь "?djvuopts&page=", а после номера страницы "&showposition=0,0.2", где красным цветом обозначена доля листа, на которую нужно сделать отступ.. доля листа - это число от 0 до 1, где 0 - самый верх (т.е. без отступа), 1 - самый низ, 0.5 соответственно середина страницы..
3) вставляешь оглавление обратно
djvused.exe "моя книга .djvu" -e "set-outline bookmark.txt" -s
4) наслаждаешься навигацией по книге в WinDjView Extended или DjView..
всё реально  ;)

14
DjVu / Re: Содержание и смещение страницы
« : 02 °ЯаХЫм 2015, 23:48:07 »
windjview модификации extended наряду с djview от Боту поддерживают такие ссылки.. жаль, что удобного инструмента для их создания нет.. подошел бы bookmarker - для pdf в нем такая функция предусмотрена.. а вот для djvu автор программы делать такой функционал не стал, хоть я его и просил.. на работе, говорит, загрузка и сильно заморачиваться не охота..
возможно, когда-нибудь в будущем такая программа появится, а пока остается только вручную..

15
самый простой имхо способ с помощью DjvuToy
1) разбиваем файлы на отдельные страницы - вкладка Splitter.. все галки лучше снять.. по-умолчанию создадутся папки с отдельными страницами и словарями..
2) удаляем из папок ненужные страницы (расширение *.djvu).. словари (обычно это *.djbz или *.iff) удалять не нужно..
3) перекидываем всё в одну папку.. страницы (*.djvu) можно переименовать при необходимости - при последующем объединении страницы в книге будут расставлены в алфавитном порядке.. словари переименовывать нельзя..
4) объединяем страницы в книгу - вкладка Merger.. программа сама выберет только нужные словари и внедрит их вместе со страницами в книгу..

однако, существует ограничение - если попадутся два словаря с одинаковым именем - понадобятся дополнительные телодвижения.. самый простой вариант в данном случае - установить при разбивке одного из файлов с совпадающими именами словарей чекбокс "embed incl chunk" - в этом случае размер конечного файла может оказаться чуть больше, чем если бы имена не совпадали.. другой вариант - посмотреть в свойствах объединяемых страниц ссылки на словари и оставить только нужные - возможно, один из словарей с совпадающим именем не нужен и его можно удалить..

есть еще варианты, но они менее быстрые и удобные..

добавлено:
p.s. в принципе, чтоб не мучиться с именами страниц, перед разбивкой файла можно установить чекбокс на "renumber" - тогда имена файлов будут совпадать с номерами страниц, это удобно.. но перед копированием в одну папку нужно не забыть переименовать их все в нужной последовательности..

Страницы: [1] 2 3 ... 6