Вторник, 07.05.2024, 23:33
Приветствую Вас Гость

LabSoft

Меню сайта
Категории каталога
Статьи по кодингу [24]
Материалы по кодингу
КреатиFF [144]
Рассказы, истории, анекдоты...
Разное [8]
Советы, трюки, полезные рекомендации, статьи о новом и забытом старом...
Наш опрос
Какой язык программирования Вы используете?
Всего ответов: 40
Главная » Статьи » Разное

Как сделать DJVU-книгу.
О формате DjVu

В 1996 году компания AT&T Labs-Research начала работу над созданием стандарта DjVu. В 1998 году вышел релиз плагина для браузеров для Windows и Linux. 1999 — год выхода второй версии формата, которая позволяла объединять несколько изображений в один файл, с возможностью «перелистывания» страниц, а также нанесение на изображение так называемых «горячих точек», участков изображения, служащих гиперссылками. В 2000 году появился DjVu третьей версии. В этом же году к продвижению формата подключилась компания LizardTech. В ноябре 2000 года DjVu стал распространяться на условиях GNU GPL. В январе 2001 вышла самая известная версия (3.1) программы для создания DjVu документов — DjVu Solo. Более чем через год (в марте 2002) появилась коммерческая DjVu Enterprise 3.5, а еще через год, в марте 2003-го — довольно дорогая версия самой совершенной программы для создания DjVu книг — Document Express 4.0

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

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

Каждый документ можно создавать в разных режимах: одностраничном (Indirect) и многостраничном (Bundle). Многостраничный документ удобнее для пользователя, так как все страницы сохраняются в одном файле. Одностраничные документы можно объединять в многостраничный документ.

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

Графические форматы при просмотре распаковывают изображение целиком. При больших объемах файлов это требует большого объема оперативной памяти, а также вызывает чрезмерный трафик обмена с жестким диском. DjVu не распаковывает файл целиком, а только фрагмент, видимый на экране именно тогда, когда его открывает пользователь. При этом вывод данных происходит поэтапно. Сначала слой текста, потом background. В результате даже крупные изображения (например, 2500*3300 точек — обычная страница 300 dpi) без проблем просматриваются на очень слабых компьютерах.

Как сделать файл в формате DjVu

Для изготовления документов в этом формате есть несколько путей. Они зависят от типа исходного файла. Если вы в основном работаете с электронной документацией (PDF или DOC), то создать DjVu проще простого при условии использования программы LizardTech Virtual Printer. Надо просто дать команду на печать, выбрав в свойствах принтера виртуальный принтер LizardTech. После выполнения конвертации останется только сохранить файл в нужном месте. Особенностью этого метода является то, что в этом случае невозможно использовать распознавание текста для русского языка. Он просто не поддерживается виртуальным принтером. Распознавать текст, если возникнет необходимость, придется прямо с экрана с помощью ABBYY Screenshot Reader.

Отметим, что простота использования LizardTech Virtual Printer не должна обольщать вас. Очень многое зависит от качества файла. Если с файлами формата DOC проблем, как правило, не возникает, то с форматом PDF могут возникнуть проблемы, если отсканированные исходники очень низкого качества. В этом случае LizardTech Virtual Printer просто переведет PDF файл в последовательность картинок. Правда, и в этом случае созданный файл будет как минимум вдвое меньше по размеру. Но вся прелесть DjVu будет растеряна.

Сканирование

Рекомендуемое разрешение сканирования — от 300 до 600 dpi. Считается, что чем больше — тем лучше. Это так и есть, но всегда приходится выбирать между двумя зайцами: большее разрешение предполагает больший размер файла. Это означает, что при сканировании в 600 dpi средней книжки в пару сотен страниц нужно приготовить не менее 1 Гб свободного места на диске. Опыт показывает, что техническая литература вполне нормально «дежавируется» при сканировании с разрешением в 300, а при необходимости в распознавании текста (OCR) в 400 dpi. Сканирование рукописей, раритетов, цветных каталогов и аналогичной продукции лучше делать с разрешением 600.

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

Сканировать лучше через вьювер или графический редактор, поддерживающий пакетный режим. Использование DjvuSolo или LizardTech DjVu Editor DocumentExpress возможно, но неудобно: DjvuSolo не может сканировать документы в многостраничном режиме, а DocumentExpress требует открытия программы сканирования при каждой новой странице. Пакеты не рекомендуем делать большими — 10-15 разворотов не более. Этим вы обеспечите себе гарантию не напрасной работы при случайном отключении света, меньшие потери в случае ошибочного удаления файлов, меньшую нагрузку на компьютер при обработке файлов. И не забывайте делать резервные копии этих пакетов!

При сканировании необходимо сразу задавать рамки зоны сканировании средствами программного обеспечения сканера, так как в программах создания DjVu файлов кадрирование не предполагается. Если этого не сделать, то либо придется выполнять дополнительную операцию обрезки файлов в графическом редакторе, либо мириться с выросшим размером файлов и черными полями на самой картинке. Если вы думаете в дальнейшем использовать бесплатный DjVuSolo, то вам предстоит еще и повернуть отсканированные картинки во вьювере или графическом редакторе; DocumentExpress позволяет поворачивать страницы при работе с файлом. Про этап поворота картинок мы больше говорить не будем.

Хорошим тоном при создании «дежавюшных» книг считается постраничное представление книги. Но это увеличивает объем работ, пожалуй, вдвое, если не больше. В большинстве случаев для уменьшения объемов работ можно обойтись сканированием разворотов книги, если использовать одну маленькую хитрость. Сделайте полоску бумаги длиной, равной ширине окна сканера. Ширина полоски должна быть такой, чтобы полоска закрывала собой сгиб разворота, но не наезжала на текст. Полоску желательно сделать из бумаги, по цвету и текстуре схожей с бумагой сканируемой книги. Посредине бумаги проведите тонкую линию. Примерьтесь на сканере, куда попадает сгиб книги, наложите на это место полоску линией вниз и приклейте скотчем к рамке окна сканера. Проверьте на паре-тройке разворотов в разных местах книги (начало, середина, конец) точность наложения. Идеальным будет, если вы найдете (сделаете) нетолстую полоску железа (подойдет даже кусочек нетолстой деревянной или пластмассовой линейки), по размеру совпадающей с бумажной полоской и придавите бумажную полоску. После нескольких проб вы сможете достаточно корректно выполнять сканирование.

Есть способ более качественного удаления этой полоски и, заодно, общего «шума». Этот способ дает отличные результаты, но увеличивает объем работ в разы. Его рекомендуется применять для случаев, когда фоновый слой не имеет никакого значения для читателя. Для его применения лучше всего сканировать каждый разворот отдельным файлом, а не все единым пакетом. Переводите каждый из отсканированных разворотов книги в формат DjVu. Затем открываете страницу в DjVu-вьювере, отключаете фоновый слой при просмотре (команда View>Display>Foreground), и экспортируете полученный результат в картинку формата BMP или TIFF. Проводите повторное преобразование в DjVu. Этот метод непригоден для страниц с фотографиями, которые также будут удалены вместе с центральной полосой. Так же этот метод непригоден для книг, для которых важно сохранение передачи текстуры бумаги.

Первый этап

DocumentExpress Editor — работа по созданию книги только начинается.
Первый этап создания файлов DjVu — основа для всего последующего. Остановившись на этом этапе, вы получите самые низкие размеры файлов, все последующие этапы, добавляя нужные функции, увеличивают объем файла. При ограниченных требованиях к конечному результату на этом этапе можно остановиться. Отсканируйте нужную книгу. Параметры сканирования выбирайте в зависимости от конечных требований к готовой книге. Самый простой вариант: разрешение 300, режим Gray (в тонах серого) — для самых простых случаев технической литературы на приличной бумаге с черно-белыми рисунками. Если в книге встречаются цветные картинки, то сканируйте их отдельно в цветном режиме.

Переведите каждый из пакетов в формат DjVu. Для текстовых фрагментов, таблиц и диаграмм выбирайте параметры Scan, Normal или Bitonal (в зависимости от качества скана и ваших потребностей), для страниц с фотографиями выбирайте режим Photo. Разрешение создаваемых файлов — 300, независимо от разрешения сканирования. Режим страниц — Bundle. Теперь все документы нужно объединить в единый документ. Делается это просто, с помощью штатных команд Insert page before (after) — установить страницы до (после). Все, книга готова.

Второй этап

Второй этап, на котором останавливается большинство: в книгу добавляется распознавание текста. Для создания таких файлов нужно использовать программы, способные работать с версиями формата DjVu не ниже 22 (коммерческая версия DjVu Solo, DjVuEditor Pro, Document Express выше 4.0). Последние версии профессиональной программы Document Express достаточно корректно распознают русский текст, при условии качественно выполненного сканирования (более ранние версии далеко не всегда корректно распознают русские тексты). Если у вас такая версия, то не надо осложнять себе работу дополнительными программами, а просто при конвертации файла добавить функцию OCR (Optical Character Recognition — оптического распознавания текста). Надо заметить такую особенность привязки текста к картинкам в формате DjVu: происходит не просто прицепка текста к странице, а привязка текста к реальному его расположению на картинке. Благодаря этому можно копировать именно ту часть текста, которая интересует. И последняя особенность — некоторое увеличение размера файла при вставке текста, примерно на 70 Кб на каждые 500 Кб документа (7 Кб на страницу).

Если же у вас нет Document Express выше четвертой версии, то придется прибегнуть к хитростям. Для этого нужно иметь прекрасную российскую программу распознавания текста — ABBYY FineReader. Эта программа великолепно справляется с распознаванием русского текста. Дело за малым — связать текст и картинку DjVu. Обычным способом связать текст и картинку нельзя, не предусмотрена эта возможность в ABBYY FineReader. (Хотя компания ABBYY планирует в ближайших версиях ABBYY FineReader включить поддержку формата DjVu.) Но вас выручит творчество болгарского программиста Gencho. Он создал пакет утилит (OCR1 и OCR2) для автоматизации процесса распознавания и привязки текста к картинке. Техника работы с этими утилитами довольно сложна и детально описана в самих архивах с пакетами. Кратко суть: утилиты проверяют корректность распознавания текста по картинке и при создании файла Djvu (пакет от Генчо сам может создавать файлы этого формата) «привязывают» текст к картинке.

Если файл не распознан и у вас нет Document Express, то ваш помощник — ABBYY Screenshot Reader

Как быть, если у вас файл без текста, но текст нужен? Вариантов несколько. Первый — открыть файл в Document Express и задать распознавание по команде Tools > OCR > OCR Entire Document. Этот способ позволит включить текст в DjVu-документ. Если нет Document Express, то придется опять хитрить. Самый простой выход — вариант второй — набрать текст ручками.

Вариант третий: перевести текст в изображение формата BMP (TIFF) и распознать в ABBYY FineReader. Для реализации второго варианта лучше сохранять в BMP только маску, то есть, именно текстовое изображение. В этом способе есть одно неудобство: ни одна программа не сохраняет картинки в пакетном режиме. То есть, если в вашем документе 34 страницы, то вы получите не многостраничный TIFF документ, а 34 отдельных файла. И вторая особенность — распознанный текст невозможно добавить в документ.


Этот вариант есть смысл применять, если нужен полный текст книги. Если же нужно распознать только часть текста, то нет нужды возиться с файлами и форматами. Достаточно воспользоваться одним компонентом программы ABBYY FineReader: ABBYY Screenshot Reader. Выделив нужную часть текста, просто распознайте ее с помощью этой утилиты. Впрочем, эта утилита может оказаться полезной не только для малых объемов теста. С ее помощью можно распознавать и всю книгу, страница за страницей, вместо сохранения страниц в формате BMP или TIFF. В этом случае есть два плюса: пропускается этап работы по сохранению страниц и то, что работу в этом случае можно остановить в любой момент. На качество распознавания использование маленькой утилиты ABBYY Screenshot Reader вместо полного пакета не сказывается. Механизм распознавания, созданный компанией ABBYY, успешно справляется с самыми сложными случаями, и справится даже с той картинкой, что постоянно приводится в качестве образца неудачного файла PDF. При использовании ABBYY Screenshot Reader надо помнить, что проверку и корректировку распознавания лучше выполнять сразу.

Третий этап

Третий этап создания файлов DjVu необходим для особо привередливых пользователей. DjVu поддерживает создание аннотаций, гиперссылок и вставку превьюшек, и этим можно и нужно пользоваться. Представьте себе книгу с гиперссылками, когда можно при необходимости не перелистывать страницы, а в один клик перемещаться на нужную страницу, картинку, сноску, приложение, таблицу. Создание гиперссылок поддерживает даже некоммерческий DjvuSolo. Добавление ссылок и аннотаций возможно после создания самого файла. Поле для гиперссылок (и аннотаций) может быть любым по форме и по размеру, ссылки могут вести как на URL, так и на страницы документа. Гиперссылка может открываться как в этом же окне, так и в новом. Ограничения на объем комментария — 300 знаков.

Исключительный результат сжатия. Как правило, страница умещается в 50 Кб.

Формат DjVu показывает впечатляющие результаты сжатия при высоком качестве и уровне сервиса. Уменьшение размера может быть в тысячу и более раз, что позволяет получать файлы разворотов книги в пределах 30 Кб. Однако это — исключительный результат. Типовой — сжатие в среднем 780, размеры страниц примерно 50 Кб — на этот результат и можно ориентироваться. (Данные приведены для создания типовых файлов с технической книги типографского формата 60х90 1\16; режим сканирования — 400 dpi, grey; выходные параметры — разрешение 300 dpi, режим — Normal, с OCR, без аннотаций, гиперссылок и превьюшек.)

Категория: Разное | Добавил: Jimmy (16.02.2008) | Автор: cnews.ru
Просмотров: 5235 | Рейтинг: 5.0/1 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0