# Интернет > Графика >  Информация, FAQ и программы с форматом DjVu

## Booooo

_DjVu («Digital View» — «Цифровая фотография» — технология сжатия картинок с потерями, разработанная специально для использования сканированных страниц — книг, журналов, и пр., где обилие формул, схем, и рукописных символов делает чрезвычайно трудоёмким их распознание. Также DJVU является эффективным решением, если необходимо передать все нюансы оформления. 

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

Формат оптимизирован для передачи таким образом, что страницу можно просматривать ещё до завершения скачивания. Кроме того, DjVu-файл может включать в себя интерактивное оглавление и активные области — ссылки, что позволяет реализовывать удобную навигацию в DjVu-книгах.

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

Чем открыть DjVu-файл? ( Чем прочитать DjVu-файл? ) скачать

*Программы для работы с DjVu:*
_Приведённый ниже базовый список программ является полностью достаточным для целей DjVu-книгосканирования_

DjVu Small v0.3.4 (зеркало) 1,60 МБ - Основная DjVu-программа. Пакетное (де)кодирование в/из DjVu (Win98/2000/XP).
Document Express Editor v5.0.0 Build 16 (зеркало) 1,72 МБ - Облегчённая версия DjVu мета-редактора. Работает с аннотациями, собирает многостраничные DjVu из кучи одностраничных и т.п.
Document Express Editor v6.0.1 Build 1320 LE (зеркало) 1,19 МБ - Следующая версия DjVu-метаредактора. Функционально взаимно дополняет предыдущую, однако, к сожалению, не заменяет её полностью.

Новое:
- Редактирование дерева-оглавления.
- Работа с новыми аннотациями: Text и Line.
- Работа с двойными сканами.
DjvuOCR v2.4 beta4 full (зеркало) 1,28 МБ - Программа для вставки в DjVu-файл текстового OCR-слоя, распознанного в ABBYY FineReader 8 PE (7 PE).
DjVu Hyperlinks Editor v0.8 (зеркало) 256 КБ - Программа для автоматической генерации и внедрения гиперссылочного оглавления - навигационного механизма по DjVu-книге.
ScanKromsator v5.6A Full (вкл. dll-библиотеки и Help к SK v1.0 в формате Pdf) (зеркало) 2,25 МБ - Основная программа для обработки "сырых" сканов - поворот, нарезка, обрезка полей, удаление мусора и т.п.
Версия новее ScanKromsator v5.92 Full (зеркало) 3,40 МБ
Book Restorer v4.2.1 Eng Portable 12,57 МБ - Программа для обработки сканов, используемая для выпрямления искривленных строк текста, и для выравнивания освещённости сканов, хотя она умеет и многое другое.
NameCreator v1.0 (зеркало) 269 КБ - Программа для именования файлов DjVu-книг по стандартизованной системе.
DjVu Sep v2.3 (зеркало) 978 КБ - Программа предназначена для кодирования в формат DjVu полутоновых иллюстраций  по методу разделённых сканов (МРС). DjVu Sep на практике воплощает в себе МРС. Программа имеет cвободно-бесплатную лицензию GPL и полностью открытые исходные коды.
DjVu Imager v1.6 (зеркало) 1,17 МБ - Программа для вставки иллюстраций в DjVu-книгу.

_Добавлено через 1 минуту 15 секунд_
*Небольшой FAQ по DjVu-программам (Часто Задаваемые Вопросы):*

_1. Что это за формат такой - "DjVu"? Зачем он? Что он из себя представляет?_

DjVu ("Дежавю") - это графический формат. То есть DjVu-файлы   - это просто "картинки". Основное полезное свойство формата DjVu состоит в том, что он умеет наиболее хорошо (по сравнению со всеми остальными графическими форматами) "сжимать" сканированные изображения страниц бумажных книг - из-за чего этот формат широко применяется для создания электронных версий бумажных книг. Более подробную информацию о формате DjVu смотрите на главной странице сайта.

_2. Как именно пользоваться форматом DjVu?_

Как правило, это делается так: сначала необходимо каким-либо способом получить обычные графические файлы - "картинки" - содержащие изображения страниц бумажных книг. Обычно их получают путём сканирования бумажных книг. Потом эти обычные графические файлы кодируют в формат DjVu, отчего их размер сильно уменьшается - без потери качества изображения текста. Полученный DjVu-файл используется как электронная книга: его можно читать с экрана монитора, можно обмениваться друг с другом такими самодельными файлами через Интернет, можно распечатывать на принтере.

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

_3. Какой программой кодировать файлы в формат DjVu (OC Windows)?_

Используйте DjVu Small. Эта программа использует "фирменные" консольные утилиты от LizardTech - поэтому она ничем не хуже оригинального пакета LizardTech Document Express Enterpise with DjVu 5.1. Зато DjVu Small более удобна в работе и имеет маленький размер.

Кроме того, для этой цели можно использовать программы: LizardTech Document Express Enterpise with DjVu 5.1 (DEE 5.1), LizardTech Document Express Enterpise with DjVu 5.1 Light Edition (DEE 5.1 LE), Document Express Editor (5 или 6 версии), DjVu Solo 3.1. Однако все эти программы по разным причинам менее предпочтительны (либо они огромного размера, что затрудняет скачивание, либо крайне неудобны для пакетного кодирования).

_4. Какой программой декодировать DjVu-файлы в обычные графические файлы (OC Windows)?_

Используйте DjVu OCR 2 или выше. Это единственная программа, которая не даёт сбой при декодировании, если в многостраничном DjVu-файле некоторые "страницы" повреждены.

Кроме того, для этой цели можно использовать программы: DjVu Small, Irfan View + Irfan View DjVu Plugin v3.95 или выше, и любой обычный виртуальный принтер. Однако все эти программы по разным причинам менее предпочтительны (или это вероятность сбоя, или относительная сложность настройки).

_5. Как декодировать один многостраничный DjVu-файл во множество одностраничных (обычных) графических файлов?_

Используйте DjVu OCR 2 или выше. Он принимает на входе один многостраничный файл и декодирует его во множество одностраничных простых графических файлов.

Кстати - это вообще один из практических приёмов работы с форматом DjVu - преимущественная работа с многостраничными файлами. Если мы, работая с обычными графическими файлами, стараемся иметь дело в основном с одностраничными файлами (хотя бывают и многостраничные простые графические файлы), то в случае DjVu - наоборот - все стараются иметь дело с одним многостраничным DjVu-файлом, нежели чем с множеством составляющих его одностраничных DjVu-файлов. Это объясняется тем фактом, что обычные графические файлы мы можем редактировать, а DjVu-файлы - нет, а можем только просматривать их и декодировать в обычные файлы.

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

_6. Как собрать многостраничный DjVu-файл из множества одностраничных DjVu-файлов?_

Используйте Document Express Editor v5.0.0 Build 16 plus (без OCR и справки). Откройте в нём первый в последовательности одностраничный DjVu-файл, затем выберите в меню Edit -> Insert Page(s) After..., выберите в появившемся окне все остальные одностраничные DjVu-файлы из данной последовательности, и сохраните полученный многостраничный файл.

_7. Как добавить одностраничный DjVu-файл в имеющийся многостраничный DjVu-файл?_

См. предыдущий вопрос - нужно проделать точно такие же действия, только добавлять надо не множество, а один данный одностраничный DjVu-файл.
8. Чем просматривать DjVu-файлы (OC Windows)?

Используйте WinDjView. Это наилучший выбор - данная программа превосходит все прочие DjVu-просмотрщики - и даже "фирменный" броузерный DjVu-плагин от LizardTech.

_9. Как напрямую переконвертировать Pdf-файл в DjVu-файл (Pdf -> DjVu)?_

Для именно прямой конвертации используйте пакет Pdftodjvu LE. Преимущество такой конвертации в том, что при этом из Pdf-файла в DjVu-файл переносится OCR-слой и гиперссылки (но иногда бывают проблемы с русскими кодировками).

Однако, далеко не всегда имеет смысл делать именно прямую конвертацию Pdf -> DjVu. В отличие от формата DjVu, формат Pdf не является графическим. Формат Pdf - это формат-контейнер, который может содержать любой тип данных - текст, картинки, таблицы, даже аудио- и видеоинформацию. Формат Pdf обычно делится на такие виды:

- Векторный: в таком Pdf-файле содержится только символьная информация - текст, таблицы, графики, формулы, чертежи. Такие Pdf-файлы (внешне они выглядят как текст, набранный типографским шрифтом) лучше всего конвертировать в формат DjVu напрямую - получите отличное качество и наименьший размер DjVu-файла.

- Растровый: в таком Pdf-файле содержится только неформализованная информация - растровые картинки. Такие Pdf-файлы (внешне они выглядят как сканированное изображение текста) лучше всего конвертировать в формат DjVu НЕ напрямую - а по схеме "Pdf -> Tif -> DjVu". Всё дело в том, что прямой конвертер Pdftodjvu LE "заточен" именно на векторные Pdf-файлы, а растровые он плохо кодирует - получаются большие DjVu-файлы.

- Растрово-векторный: Такие Pdf-файлы, как правило, лучше конвертировать в формат DjVu НЕ напрямую - по схеме "Pdf -> Tif -> DjVu". И только в отдельных редких случаях можно применить прямое конвертирование "Pdf -> DjVu". Всё это зависит от конкретного Pdf-файла, от вида и соотношения растрового и векторного содержимого. Попробуйте оба варианта конвертирования и выберите наилучший.

_10. Как напрямую переконвертировать DjVu-файл в Pdf-файл?_

Это можно сделать при помощи какого-либо обычного виртуального принтера, например, Acrobat Distiller (устанавливается автоматически при инсталляции полного Adobe Acrobat (не-Reader'а) (показал наилучший результат), FinePrint v5.29, pdfFactory или LEADTOOLS ePrint v4.0. Правда, не все они корректно работают с русским языком.

При такой конвертации OCR-слой и гиперссылки не переносятся из DjVu-файла в Pdf-файл.

И ещё тут есть одна тонкость: если Вы печатаете из броузерного DjVu-плагина, то нельзя отправлять файл на печать выбором в пункте меню броузера "Файл" подпункта "Печать" - из-за этого DjVu-файл напечатается в виде пустых листов (видимо, какая-то ошибка реализации), а надо, кликнув правой кнопкой мыши на отображении файла в броузере, выбрать в контекстном меню пункт "Print..." и т.д.

_11. Как напрямую переконвертировать DjVu-файл в Word'овский Doc-файл?_

Это невозможно. Формат DjVu - это графический, а не текстовый формат. Поэтому DjVu-файлы не содержат никакой информации о структуре документа - в лучшем случае только внедрённый текстовый OCR-слой - так что информацию для подобной прямой переконвертации брать в DjVu-файле просто неоткуда.

Поэтому для создания Word'овского Doc-файла из DjVu-файла используется традиционный путь: DjVu-файл преобразуется в какой-нибудь обычный графический формат (см. п.5) и распознаётся в ABBYY FineReader v7.0 (или v8.0). В последних релизах ABBYY FineReader v9.0 предусмотрена прямая поддержка на чтение формата DjVu (при формировании пакета на распознавание).

_12. Что делать, если при открытии DjVu-файла в программе DjVuSolo v3.1 NonComm она выдаёт сообщение: "DjVu Decoder: Cannot decode DjVu files with version >=25"?_

Есть 2 способа решения этой проблемы:

А. Открывать этот файл и работать с ним в Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) (2,0 МБ), а не в DjVuSolo v3.1 NonComm.

Б. Понизить версию этого djvu-файла при помощи утилиты DjVuVersion и тогда станет возможной полноценная работа с ним в DjVuSolo v3.1 NonComm.

_13. Имеют ли DjVu-файлы встроенный текстовый OCR-слой?_

И да, и нет. То есть возможность добавить в DjVu-файл текстовый OCR-слой существует (предусмотрена cпецификациями DjVu). Обычно содержимое DjVu-файла распознаётся посредством ABBYY FineReader v7.0 (или v8.0) и затем результат распознавания вставляется в DjVu-файл посредством программы DjVuOCR 2.1.

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

_14. Зачем вставлять текстовый OCR-слой в DjVu-файл?_

Вопрос не так прост, как может показаться. Есть люди, которые делают DjVu-книги (т.е. DjVu-файлы) и умышленно не вставляют туда OCR-слой - т.к. из-за этого возрастает размер эл. книги и поэтому её становится дороже скачать из Интернета.

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

Кстати - встроенный текстовый OCR-слой НЕ содержит никакой информации о структуре документа - это всего лишь простой сплошной текст без какого-либо форматирования (хотя в DjVu-файле при этом ещё имеется служебная информация и местоположении слов (или букв - опционально) текста).

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

Для такого поиска используют разные программные средства - например, Google Desktop Search + DjVu Indexer Plugin или (что лучше всего) dtSearch + LizardTech DjVu iFilter.

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

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

Однако, далеко не во все DjVu-книги имеет смысл вставлять текстовый OCR-слой - в основном, только в DjVu-книги учебно-справочного характера. Скажем, в развлекательные DjVu-книги (например, о плаваниях капитана Кусто) вставлять текстовый OCR-слой смысла почти нет.

_15. Как разобрать многостраничный DjVu-файл на одностраничные DjVu-файлы?_

А зачем это Вам? Подобная необходимость практически никогда не должна возникать. Хотите декодировать многостраничный DjVu-файл в набор простых одностраничных графических файлов? Или же переконвертировать его в Pdf? Или осуществить иное преобразование? Так для этого вовсе не надо предварительно разбирать многостраничный DjVu-файл на составляющие его "страницы"- см. предыдущие вопросы.

Общий принцип таков: 

С форматом DjVu наиболее удобно работать в форме многостраничных файлов - а не в форме соответствующего множества одностраничных DjVu-файлов.

А как же быть, если Вы хотите сделать выборку из имеющегося многостраничного DjVu-файла - то есть Вам нужно оформить некое подмножество "страниц" многостраничного DjVu-файла как новый отдельный многостраничный DjVu-файл?

Наиболее правильно это можно сделать так: декодируйте желаемый диапазон "страниц" многостраничного DjVu-файла в соответствующий ему набор простых одностраничных графических файлов (при помощи DjVu Small), а потом закодируйте полученные одностраничные графические файлы в новый DjVu-файл (также при помощи DjVu Small; и сделайте OCR по необходимости).

А почему же эту задачу нельзя выполнить разборкой-сборкой многостраничного DjVu-файла? И можно ли вообще проделать подобную разборку-сборку?

Да, такую разборку-сборку проделать можно. Но крайне нежелательно - сильно увеличивается размер файла. Причина в том, что при создании многостраничного DjVu-файла любой LizardTech DjVu-кодировщик использует т.н. "словари" (другое название - "djbz-словари"). Словарь - это особенная уловка для снижения размера многостраничного DjVu-файла. Словарь содержит список геометрических форм, повторяющихся на ряде DjVu-страниц и общих для них. Как правило, это буквы текста. Словарь обычно автоматически создаётся для каждых 10-20 страниц (это настраиваемый параметр) многостраничного DjVu-файла DjVu-кодировщиком при кодировании и автоматически интегрируется в получающийся многостраничный DjVu-файл.

Таким образом, в многостраничном DjVu-файле словари повторяются через каждые 10-20 страниц, и в словарях хранятся символы, общие для соответствующей группы 10-20 страниц - что в итоге даёт солидное снижение размера многостраничного DjVu-файла.

Практически все нынешние многостраничные DjVu-файлы имеют такие встроенные словари.

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

Если же Вам, несмотря на все эти объяснения, всё-таки хочется проделать подобную разборку-сборку, то приведу описание этой процедуры.

Начнём с разборки: для этой операции можно использовать Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) - выделять вручную отдельно каждую "страницу" в многостраничном DjVu-файле и сохранять её отдельно через "Save Page As..." - получите соответствующий набор одностраничных DjVu-файлов.

Однако, подобный ручной способ разборки неприемлем для больших DjVu-файлов. Для облегчения этой процедуры я сделал специальную простейшую консольную программу DjVu Unbundler (275 КБ).

Сборку полученных "разобранных" одностраничных DjVu-файлов можно осуществлять как обычно - при помощи программы Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) - см. вопрос № 6.

_16. Что делать, если у меня ни один DjVu-просмотрщик не работает?_

Отключите 2-е ядро на своём 2-ядерном микропроцессоре (Хотя бы при помощи диспетчера задач) - и всё заработает.

_17. Почему не следует использовать один большой словарь на всю книгу при кодировании в DjVu?_

Отвечает Cptn_Cook:

1) Если файл смотрится по сети, то ничего не отобразится, пока не загрузится весь нужный словарь. Для типичной книги, словарь имеет размер 200-300 KB, для модема это существенно.

2) Если редактировать DjVu-файл при помощи DjVuLibre, то резка и склейка очень быстро приводит к тому, что словари начинают повторяться (не трудно понять, почему). При этом, если словарь порядка 10 КБ, то это не страшно, а если 200 КБ, то уже неприятно.

3) DjVu - довольно устойчивый к ошибкам формат, но если ошибка возникает в словаре, то ни одна страница, которая этим словарем пользуется, не отобразится (читай, вся книга при pages-per-dict = 10000).

4) Книга с одним большим словарём медленнее открывается в DjVu-просмотрщике - это заметно на глаз и вызывает раздражение у пользователя.

5) Большой словарь потребляет слишком много оперативной памяти - при работе с WinDjView.

На самом деле, совершенно не обязательно делать pages-per-dict = 10000. Такое значение дает выигрыш в размере файла 20%, но если использовать pages-per-dict = 20, то выигрыш (по сравнению с pages-per-dict = 10) 10%. Похоже, это неплохой компромис. Между прочим, any2djvu использовал pages-per-dict = 20, но потом поменял на pages-per-dict = 10, наверное потому, что в этом случае обработка быстрее.

_18. Как распечатать файл формата DjVu?_

Скачайте и установите программу WinDjView. Откройте в ней DjVu-файл, выберите в меню пункт "Файл" - "Печать" и распечатайте его.

_19. Как напрямую преобразовать Word'овский Doc-файл в файл формата DjVu?_

Есть 2 варианта:

1. Установите программу "виртуальный DjVu-принтер" и, открыв Doc-файл в Word'е, отправьте его на печать на этот виртуальный принтер.

2. Если у Вас стоит MS Word 2007, то скачайте с http://tokage.celartem.com/beta Office 2007 DjVu Exporter, проинсталлируйте его и, открыв Doc-файл в Word'е 2007, сохраните его в формат DjVu.

_20. Как закодировать множество одностраничных графических файлов в соответствующее множество одностраничных DjVu-файлов?_

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

Если Вам это всё-таки действительно очень нужно, то используйте Document Express Enterprise 5.1 (можно Light Edition)

_Добавлено через 11 секунд_
*Небольшой FAQ по DjVu-программам (Часто Задаваемые Вопросы):*

_1. Что это за формат такой - "DjVu"? Зачем он? Что он из себя представляет?_

DjVu ("Дежавю") - это графический формат. То есть DjVu-файлы   - это просто "картинки". Основное полезное свойство формата DjVu состоит в том, что он умеет наиболее хорошо (по сравнению со всеми остальными графическими форматами) "сжимать" сканированные изображения страниц бумажных книг - из-за чего этот формат широко применяется для создания электронных версий бумажных книг. Более подробную информацию о формате DjVu смотрите на главной странице сайта.

_2. Как именно пользоваться форматом DjVu?_

Как правило, это делается так: сначала необходимо каким-либо способом получить обычные графические файлы - "картинки" - содержащие изображения страниц бумажных книг. Обычно их получают путём сканирования бумажных книг. Потом эти обычные графические файлы кодируют в формат DjVu, отчего их размер сильно уменьшается - без потери качества изображения текста. Полученный DjVu-файл используется как электронная книга: его можно читать с экрана монитора, можно обмениваться друг с другом такими самодельными файлами через Интернет, можно распечатывать на принтере.

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

_3. Какой программой кодировать файлы в формат DjVu (OC Windows)?_

Используйте DjVu Small. Эта программа использует "фирменные" консольные утилиты от LizardTech - поэтому она ничем не хуже оригинального пакета LizardTech Document Express Enterpise with DjVu 5.1. Зато DjVu Small более удобна в работе и имеет маленький размер.

Кроме того, для этой цели можно использовать программы: LizardTech Document Express Enterpise with DjVu 5.1 (DEE 5.1), LizardTech Document Express Enterpise with DjVu 5.1 Light Edition (DEE 5.1 LE), Document Express Editor (5 или 6 версии), DjVu Solo 3.1. Однако все эти программы по разным причинам менее предпочтительны (либо они огромного размера, что затрудняет скачивание, либо крайне неудобны для пакетного кодирования).

_4. Какой программой декодировать DjVu-файлы в обычные графические файлы (OC Windows)?_

Используйте DjVu OCR 2 или выше. Это единственная программа, которая не даёт сбой при декодировании, если в многостраничном DjVu-файле некоторые "страницы" повреждены.

Кроме того, для этой цели можно использовать программы: DjVu Small, Irfan View + Irfan View DjVu Plugin v3.95 или выше, и любой обычный виртуальный принтер. Однако все эти программы по разным причинам менее предпочтительны (или это вероятность сбоя, или относительная сложность настройки).

_5. Как декодировать один многостраничный DjVu-файл во множество одностраничных (обычных) графических файлов?_

Используйте DjVu OCR 2 или выше. Он принимает на входе один многостраничный файл и декодирует его во множество одностраничных простых графических файлов.

Кстати - это вообще один из практических приёмов работы с форматом DjVu - преимущественная работа с многостраничными файлами. Если мы, работая с обычными графическими файлами, стараемся иметь дело в основном с одностраничными файлами (хотя бывают и многостраничные простые графические файлы), то в случае DjVu - наоборот - все стараются иметь дело с одним многостраничным DjVu-файлом, нежели чем с множеством составляющих его одностраничных DjVu-файлов. Это объясняется тем фактом, что обычные графические файлы мы можем редактировать, а DjVu-файлы - нет, а можем только просматривать их и декодировать в обычные файлы.

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

_6. Как собрать многостраничный DjVu-файл из множества одностраничных DjVu-файлов?_

Используйте Document Express Editor v5.0.0 Build 16 plus (без OCR и справки). Откройте в нём первый в последовательности одностраничный DjVu-файл, затем выберите в меню Edit -> Insert Page(s) After..., выберите в появившемся окне все остальные одностраничные DjVu-файлы из данной последовательности, и сохраните полученный многостраничный файл.

_7. Как добавить одностраничный DjVu-файл в имеющийся многостраничный DjVu-файл?_

См. предыдущий вопрос - нужно проделать точно такие же действия, только добавлять надо не множество, а один данный одностраничный DjVu-файл.
8. Чем просматривать DjVu-файлы (OC Windows)?

Используйте WinDjView. Это наилучший выбор - данная программа превосходит все прочие DjVu-просмотрщики - и даже "фирменный" броузерный DjVu-плагин от LizardTech.

_9. Как напрямую переконвертировать Pdf-файл в DjVu-файл (Pdf -> DjVu)?_

Для именно прямой конвертации используйте пакет Pdftodjvu LE. Преимущество такой конвертации в том, что при этом из Pdf-файла в DjVu-файл переносится OCR-слой и гиперссылки (но иногда бывают проблемы с русскими кодировками).

Однако, далеко не всегда имеет смысл делать именно прямую конвертацию Pdf -> DjVu. В отличие от формата DjVu, формат Pdf не является графическим. Формат Pdf - это формат-контейнер, который может содержать любой тип данных - текст, картинки, таблицы, даже аудио- и видеоинформацию. Формат Pdf обычно делится на такие виды:

- Векторный: в таком Pdf-файле содержится только символьная информация - текст, таблицы, графики, формулы, чертежи. Такие Pdf-файлы (внешне они выглядят как текст, набранный типографским шрифтом) лучше всего конвертировать в формат DjVu напрямую - получите отличное качество и наименьший размер DjVu-файла.

- Растровый: в таком Pdf-файле содержится только неформализованная информация - растровые картинки. Такие Pdf-файлы (внешне они выглядят как сканированное изображение текста) лучше всего конвертировать в формат DjVu НЕ напрямую - а по схеме "Pdf -> Tif -> DjVu". Всё дело в том, что прямой конвертер Pdftodjvu LE "заточен" именно на векторные Pdf-файлы, а растровые он плохо кодирует - получаются большие DjVu-файлы.

- Растрово-векторный: Такие Pdf-файлы, как правило, лучше конвертировать в формат DjVu НЕ напрямую - по схеме "Pdf -> Tif -> DjVu". И только в отдельных редких случаях можно применить прямое конвертирование "Pdf -> DjVu". Всё это зависит от конкретного Pdf-файла, от вида и соотношения растрового и векторного содержимого. Попробуйте оба варианта конвертирования и выберите наилучший.

_10. Как напрямую переконвертировать DjVu-файл в Pdf-файл?_

Это можно сделать при помощи какого-либо обычного виртуального принтера, например, Acrobat Distiller (устанавливается автоматически при инсталляции полного Adobe Acrobat (не-Reader'а) (показал наилучший результат), FinePrint v5.29, pdfFactory или LEADTOOLS ePrint v4.0. Правда, не все они корректно работают с русским языком.

При такой конвертации OCR-слой и гиперссылки не переносятся из DjVu-файла в Pdf-файл.

И ещё тут есть одна тонкость: если Вы печатаете из броузерного DjVu-плагина, то нельзя отправлять файл на печать выбором в пункте меню броузера "Файл" подпункта "Печать" - из-за этого DjVu-файл напечатается в виде пустых листов (видимо, какая-то ошибка реализации), а надо, кликнув правой кнопкой мыши на отображении файла в броузере, выбрать в контекстном меню пункт "Print..." и т.д.

_11. Как напрямую переконвертировать DjVu-файл в Word'овский Doc-файл?_

Это невозможно. Формат DjVu - это графический, а не текстовый формат. Поэтому DjVu-файлы не содержат никакой информации о структуре документа - в лучшем случае только внедрённый текстовый OCR-слой - так что информацию для подобной прямой переконвертации брать в DjVu-файле просто неоткуда.

Поэтому для создания Word'овского Doc-файла из DjVu-файла используется традиционный путь: DjVu-файл преобразуется в какой-нибудь обычный графический формат (см. п.5) и распознаётся в ABBYY FineReader v7.0 (или v8.0). В последних релизах ABBYY FineReader v9.0 предусмотрена прямая поддержка на чтение формата DjVu (при формировании пакета на распознавание).

_12. Что делать, если при открытии DjVu-файла в программе DjVuSolo v3.1 NonComm она выдаёт сообщение: "DjVu Decoder: Cannot decode DjVu files with version >=25"?_

Есть 2 способа решения этой проблемы:

А. Открывать этот файл и работать с ним в Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) (2,0 МБ), а не в DjVuSolo v3.1 NonComm.

Б. Понизить версию этого djvu-файла при помощи утилиты DjVuVersion и тогда станет возможной полноценная работа с ним в DjVuSolo v3.1 NonComm.

_13. Имеют ли DjVu-файлы встроенный текстовый OCR-слой?_

И да, и нет. То есть возможность добавить в DjVu-файл текстовый OCR-слой существует (предусмотрена cпецификациями DjVu). Обычно содержимое DjVu-файла распознаётся посредством ABBYY FineReader v7.0 (или v8.0) и затем результат распознавания вставляется в DjVu-файл посредством программы DjVuOCR 2.1.

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

_14. Зачем вставлять текстовый OCR-слой в DjVu-файл?_

Вопрос не так прост, как может показаться. Есть люди, которые делают DjVu-книги (т.е. DjVu-файлы) и умышленно не вставляют туда OCR-слой - т.к. из-за этого возрастает размер эл. книги и поэтому её становится дороже скачать из Интернета.

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

Кстати - встроенный текстовый OCR-слой НЕ содержит никакой информации о структуре документа - это всего лишь простой сплошной текст без какого-либо форматирования (хотя в DjVu-файле при этом ещё имеется служебная информация и местоположении слов (или букв - опционально) текста).

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

Для такого поиска используют разные программные средства - например, Google Desktop Search + DjVu Indexer Plugin или (что лучше всего) dtSearch + LizardTech DjVu iFilter.

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

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

Однако, далеко не во все DjVu-книги имеет смысл вставлять текстовый OCR-слой - в основном, только в DjVu-книги учебно-справочного характера. Скажем, в развлекательные DjVu-книги (например, о плаваниях капитана Кусто) вставлять текстовый OCR-слой смысла почти нет.

_15. Как разобрать многостраничный DjVu-файл на одностраничные DjVu-файлы?_

А зачем это Вам? Подобная необходимость практически никогда не должна возникать. Хотите декодировать многостраничный DjVu-файл в набор простых одностраничных графических файлов? Или же переконвертировать его в Pdf? Или осуществить иное преобразование? Так для этого вовсе не надо предварительно разбирать многостраничный DjVu-файл на составляющие его "страницы"- см. предыдущие вопросы.

Общий принцип таков: 

С форматом DjVu наиболее удобно работать в форме многостраничных файлов - а не в форме соответствующего множества одностраничных DjVu-файлов.

А как же быть, если Вы хотите сделать выборку из имеющегося многостраничного DjVu-файла - то есть Вам нужно оформить некое подмножество "страниц" многостраничного DjVu-файла как новый отдельный многостраничный DjVu-файл?

Наиболее правильно это можно сделать так: декодируйте желаемый диапазон "страниц" многостраничного DjVu-файла в соответствующий ему набор простых одностраничных графических файлов (при помощи DjVu Small), а потом закодируйте полученные одностраничные графические файлы в новый DjVu-файл (также при помощи DjVu Small; и сделайте OCR по необходимости).

А почему же эту задачу нельзя выполнить разборкой-сборкой многостраничного DjVu-файла? И можно ли вообще проделать подобную разборку-сборку?

Да, такую разборку-сборку проделать можно. Но крайне нежелательно - сильно увеличивается размер файла. Причина в том, что при создании многостраничного DjVu-файла любой LizardTech DjVu-кодировщик использует т.н. "словари" (другое название - "djbz-словари"). Словарь - это особенная уловка для снижения размера многостраничного DjVu-файла. Словарь содержит список геометрических форм, повторяющихся на ряде DjVu-страниц и общих для них. Как правило, это буквы текста. Словарь обычно автоматически создаётся для каждых 10-20 страниц (это настраиваемый параметр) многостраничного DjVu-файла DjVu-кодировщиком при кодировании и автоматически интегрируется в получающийся многостраничный DjVu-файл.

Таким образом, в многостраничном DjVu-файле словари повторяются через каждые 10-20 страниц, и в словарях хранятся символы, общие для соответствующей группы 10-20 страниц - что в итоге даёт солидное снижение размера многостраничного DjVu-файла.

Практически все нынешние многостраничные DjVu-файлы имеют такие встроенные словари.

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

Если же Вам, несмотря на все эти объяснения, всё-таки хочется проделать подобную разборку-сборку, то приведу описание этой процедуры.

Начнём с разборки: для этой операции можно использовать Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) - выделять вручную отдельно каждую "страницу" в многостраничном DjVu-файле и сохранять её отдельно через "Save Page As..." - получите соответствующий набор одностраничных DjVu-файлов.

Однако, подобный ручной способ разборки неприемлем для больших DjVu-файлов. Для облегчения этой процедуры я сделал специальную простейшую консольную программу DjVu Unbundler (275 КБ).

Сборку полученных "разобранных" одностраничных DjVu-файлов можно осуществлять как обычно - при помощи программы Document Express Editor v5.0.0 Build 16 plus (без OCR и справки) - см. вопрос № 6.

_16. Что делать, если у меня ни один DjVu-просмотрщик не работает?_

Отключите 2-е ядро на своём 2-ядерном микропроцессоре (Хотя бы при помощи диспетчера задач) - и всё заработает.

_17. Почему не следует использовать один большой словарь на всю книгу при кодировании в DjVu?_

Отвечает Cptn_Cook:

1) Если файл смотрится по сети, то ничего не отобразится, пока не загрузится весь нужный словарь. Для типичной книги, словарь имеет размер 200-300 KB, для модема это существенно.

2) Если редактировать DjVu-файл при помощи DjVuLibre, то резка и склейка очень быстро приводит к тому, что словари начинают повторяться (не трудно понять, почему). При этом, если словарь порядка 10 КБ, то это не страшно, а если 200 КБ, то уже неприятно.

3) DjVu - довольно устойчивый к ошибкам формат, но если ошибка возникает в словаре, то ни одна страница, которая этим словарем пользуется, не отобразится (читай, вся книга при pages-per-dict = 10000).

4) Книга с одним большим словарём медленнее открывается в DjVu-просмотрщике - это заметно на глаз и вызывает раздражение у пользователя.

5) Большой словарь потребляет слишком много оперативной памяти - при работе с WinDjView.

На самом деле, совершенно не обязательно делать pages-per-dict = 10000. Такое значение дает выигрыш в размере файла 20%, но если использовать pages-per-dict = 20, то выигрыш (по сравнению с pages-per-dict = 10) 10%. Похоже, это неплохой компромис. Между прочим, any2djvu использовал pages-per-dict = 20, но потом поменял на pages-per-dict = 10, наверное потому, что в этом случае обработка быстрее.

_18. Как распечатать файл формата DjVu?_

Скачайте и установите программу WinDjView. Откройте в ней DjVu-файл, выберите в меню пункт "Файл" - "Печать" и распечатайте его.

_19. Как напрямую преобразовать Word'овский Doc-файл в файл формата DjVu?_

Есть 2 варианта:

1. Установите программу "виртуальный DjVu-принтер" и, открыв Doc-файл в Word'е, отправьте его на печать на этот виртуальный принтер.

2. Если у Вас стоит MS Word 2007, то скачайте с http://tokage.celartem.com/beta Office 2007 DjVu Exporter, проинсталлируйте его и, открыв Doc-файл в Word'е 2007, сохраните его в формат DjVu.

_20. Как закодировать множество одностраничных графических файлов в соответствующее множество одностраничных DjVu-файлов?_

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

Если Вам это всё-таки действительно очень нужно, то используйте Document Express Enterprise 5.1 (можно Light Edition)

----------


## superaaalx

Еще можно использовать DjVu.Small.v0.2.rar, DjVu.Small.v0.3.4.rar (пароль на архивы: qwerty),
а также Lizardtech Document Express Enterprise 5.1.0 :)

----------


## And56

Скинте ссылку на Djvu.Reader.v2.0.26-z

----------


## Booooo

> Скинте ссылку на Djvu.Reader.v2.0.26-z


Получите DjVuReader v2.0.0.26 1,34 МБ :cool:

----------

