Текст книги "Создание электронных книг из сканов. DjVu или Pdf из бумажной книги легко и быстро"
Автор книги: TWDragon
Жанр:
Программирование
сообщить о нарушении
Текущая страница: 2 (всего у книги 4 страниц)
2.4 Подготовка рисунков
После того, как все опции установлены и общие параметры пакетной обработки заданы, приходит время разобраться с рисунками (если таковые имеются в книге). Первое, что стоит сделать с найденным рисунком выделить его мышью.
Выделенная область в программе ScanKromsator носит название зоны (Zone). Чтобы выделенный рисунок распознавался программой как не подлежащий обработке, после выделения достаточно щелкнуть в инструментальной панели на кнопке Mark as Picture Zone-
(отметить как картинку). Впрочем, для одноцветных рисунков выделение необязательно, наоборот – преобразование в ч/б может сильно улучшить их восприятие.
Большие хитрости
Самая большая хитрость в подготовке черно-белых изображений – выбрать правильный способ их кодирования. Дело в том, что ScanKromsator может преобразовать изображение не только в черно-белое фотографическое (оно будет просто вырезано из страницы), но и в так называемое точечно-диффузное одноцветное ( Bitonal Dithered Image). Суть этого процесса в том, что оттенки черно-белого изображения получаются путем изменения частоты расстановки отдельных черных пикселей. Фактически (с точки зрения алгоритма сжатия) такое изображение – одноцветное, то есть безградационное. Это позволяет очень существенно (до 20 раз!) выиграть в размере при сжатии алгоритмами, аналогичными LZW, DjVu, ZIP и другими. В случае JPEG сжатие может вообще не удаться, так как этот алгоритм рассчитан на плавные переходы оттенков.
Использовать Dithered Imageвозможно только на изображениях с высоким разрешением. Дело в том, что при отображении на экране или бумаге диффузного изображения с высоким разрешением происходит уменьшение, и отдельные черные и белые точки пересчитываются в серые. Если изображение не уменьшается при отображении, расположение точек становится заметным глазу, и изображение приходит в негодность.
Применять диффузное кодирование при работе в ScanKromsator имеет смысл при работе с фотографическими изображениями, напечатанными офсетом (на них виден небольшой растр) и глубокой печатью (на них мал общий контраст). Высококонтрастное или фактически одноцветное изображение кодировать диффузным способом опасно – можно «обсыпать» края контрастных объектов отдельными точками. Фактически, можно применить диффузное кодирование к любому изображению с достаточно высокой плотностью серого цвета и достаточно малым общим контрастом (например, таким, как показанное на рисунке выше).
Диффузное кодирование задается для выделенного рисунка кнопкой Exclude and Mark as Dithered Zone
(Исключить и отметить как зону диффузного кодирования) инструментальной панели, или командой меню Zones =› Exclude and Mark as Dithered Zone. При включении диффузного кодирования рисунок не изымается из страницы при обработке.
2.5 Обработка и подготовка выходных файлов
После того, как все настройки заданы и рисунки оформлены в виде зон – нужно проверить качество выходных файлов. Для этого следует выбрать несколько страниц, которые вам покажутся самыми «проблемными». Как правило, это страницы с рисунками, чертежами и таблицами. Каждая страница передается на обработку командой Process =› Current Fileили клавишами Ctrl+P.
ScanKromsator произведет обработку страниц по заданному настройками сценарию, а потом выведет специальный маленький просмотрщик с окном, подобным старым версиям ACDSec.
Перед запуском обработки программа может выдать запрос на изменение разрешения (DPI) изображения. На этот запрос нужно всегда отвечать утвердительно, иначе оверсемплинг применен не будет, и выходные файлы придут в негодность.
Когда экспериментальные файлы удовлетворили требованиям к качеству, приходит время запускать основной процесс обработки. Сами первичные выходные файлы лучше удалить, чтобы программа не застопорилась на них с запросом о перезаписи. Обработка запускается нажатием кнопки Process!инструментальной панели.
Длительность обработки целиком зависит от быстродействия компьютера, и в среднем составляет для 400-страничной книги от 20 минут до полутора часов.
После обработки в выходной папке будут находиться:
• Собственно выходные файлы со страницами книги, преобразованными в черно-белые одноцветные изображения;
• Рисунки, сохраненные под именами типа pic000l. tif.
В самих страницах на месте выделенных рапсе рисунков останутся «дыры».
Поэтому для получения изображений, пригодных для распознавания, нужно объединить страницы с рисунками. Это делается командой меню Zones =› Picture Zone =› Merge Zones. После окончания процесса объединения все выходные файлы будут готовы для распознавания.
Шаг 3. Распознавание и первичная вычитка
Вот, наконец, и пришло время для включения в процесс FineReader.
Да, великого и ужасного. Для цели книгосканирования лучше всего подойдет версия 9.0 Pro, но мне впору пришлась лицензионка 7.0 Pro, списанная за ненадобностью на работе. Шучу.
Первое, что нужно сделать – зайти в диалог опций пакета, и сбросить там все флажки на вкладке Сканирование/Открытиев группе Обработка изображений.
После этого нужно переместить куда-нибудь в известное место сам пакет, чтобы потом легко найти его. Я предпочитаю сохранять в папку, куда выводил изображения страниц ScanKromsator. Когда страницы открыты, можно сразу запускать распознавание.
Первичная вычитка в FineReader сводится к легкой коррекции самых заметных ошибок.
Главное правило при работе если вы собираетесь сохранять файл в DjVu, ни в коем случае не удаляйте знаки переноса строки и концевые дефисы абзацев! Тогда внедрить текстовый слой в DjVu-файл можно будет легко и быстро, и не возникнет проблем при модификации готовой книги.
Шаг 4. Сохранение и финальное редактирование
4.1 PDF или DjVu?
Вопрос выбора формата обязательно встает ребром, как только принимается решение преобразовать книгу в электронный вид. При выборе формата нужно учитывать несколько факторов. Чтобы лучше разобраться в них, приведу краткое сравнение особенностей форматов PDF и DjVu.
PDFизначально «компьютерный» издательский формат, рассчитанный на максимально точное отображение электронного документа на любых устройствах. Соответственно, он показывает наилучшие результаты именно при сохранении изначально электронных документов. PDF использует формат сжатия JPEG для графики и LZW для текста. Соответственно, лучше всего этому формату удается сохранение мультимедийных документов с полноцветным оформлением и обилием графики. Однако при сохранении сканированных страниц получается своего рода «суррогат»: текст, наложенный на сжатое JPEG изображение полного формата страницы. Такая методика дает большой проигрыш в размере (средняя книга из 300 страниц весит несколько сотен мегабайт), но приемлемое качество. PDF не переносит диффузных (Dithered) изображений, опять-таки из-за наличия в составе алгоритма JPEG. Сжатие превращает такие иллюстрации в подобие картин Казимира Малевича. Может, кому-то это понравится, но, ради спортивного интереса – посмотрите когда-нибудь на свой портрет, сжатый подобным образом…
DjVu– динамично развивающийся формат, разработанный специально для хранения сканированных документов большого объема. По сути это многостраничный графический формат, являющий собой своеобразную надстройку над алгоритмом сжатия графики JBIG. Главная особенность DjVu – использование так называемых словарей, то есть наборов описаний контрастных контуров, специфичных для страницы. Таким образом, при достаточном единообразии изображения (например, типографского шрифта) – сжатие может проводиться в сотни раз!
Использование словарей позволяет делить изображение на «слои», содержащие текст, графику и задний план. Специальных средств отображения текста формат DjVu не имеет, но позволяет хранить невидимый текстовый слой со сведениями о координатах расположения строк на изображении страницы. Такая структура дает возможность проводить текстовый поиск в файлах.
Средняя книга в формате DjVu занимает не более 10 мегабайт.
Все сказанное заставляет подумать, что DjVu – идеальный формат для электронных книг. В целом это недалеко от истины. При обработке сканов обычных черно-белых книг, таблиц и справочников с относительно небольшим количеством иллюстраций и вклеек DjVu настолько сильно выигрывает в размере и качестве файла у PDF, что применять последний становится бессмысленно.
Совсем иная картина при сохранении широкоформатных журналов, детских богато иллюстрированных книг и разнообразных фотокаталогов и альбомов.
Здесь обилие полноцветной графики высокого разрешения нивелирует все достоинства JBIG (поскольку в факторе сжатия сложных изображений он существенно проигрывает JPEG). Кроме того, попытки кодера DjVu понизить цветность отдельных участков изображения при его сохранении – крайне отрицательно сказываются на качестве.
Собственно в моей практике было всего два случая, когда DjVu проиграл PDF. Оба раза это были книги с большим количеством иллюстраций – «Петрович и Патапум» и фотокаталог деталей для завода. На них DjVu все-таки дал более чем двухкратный выигрыш в размере по сравнению с PDF, но при этом проиграл в качестве на два порядка, и был забракован.
Собственно, общие рекомендации по выбору формата сохранения могу дать следующие:
• Для сохранения подавляющего большинства художественной и научной литературы, таблиц и справочников, альбомов чертежей и атласов – ничего лучше, чем формат DjVu на сей момент не существует;
• Для сохранения полноформатных иллюстрированных детских книг, комиксов, альбомов по искусству, цветных фотокаталогов – стоит применить формат PDF, тем паче, что такие издания обычно на мобильных устройствах не просматриваются.
4.2 Сохранение в формат PDF
Сохранение в формат PDF я лично предпочитаю выполнять в FineReader, с небольшой финишной обработкой в Adobe Acrobat. Если текст распознан без большого количества грубых ошибок – PDF-кодер Ридера выдает вполне приемлемые результаты. Но с настройками сохранения, выставленными в программе по умолчанию – вы будете сильно разочарованы качеством графики. Поэтому, прежде чем выдать программе команду на сохранение файла – я обязательно захожу в диалог настройки пакета FineReader, жму на вкладке Сохранениекнопку Форматы– и выставляю опции на вкладке PDF:
При показанных настройках рост размера сохраняемого файла составляет примерно 10-25 % но сравнению с настройками по умолчанию. Качество же графики растет на порядок, поэтому скупиться себе дороже. Выставив настройки, можно смело сохранять все распознанные страницы в один файл.
Единственная беда полученного файла – отсутствие оглавления. В принципе, для детской книжки или комикса это можно пережить, но вот в случае фотокаталога или альбома по искусству создать оглавление придется, чтобы потом не возиться с текстовым поиском. Для этого лучше всего обзавестись Adobe Acrobat какой-нибудь старой версии, вроде 7.0 – все задачи по созданию оглавления он решит отлично.
Создать оглавление в Adobe Acrobat очень просто. Найдя начало нового раздела, нужно скопировать текст его заголовка из рабочего поля, а потом щелкнуть на кнопке с «солнышком» на панели закладок, как она выглядит на рисунке. Появится свежая закладка на текущую страницу. Название новой закладки вводится таким же образом, как имя файла в «Проводнике» Windows. После того, как все закладки созданы, их можно с помощью простого перетаскивания распределить по уровням вложенности (разделы и подразделы).
Сохранив файл в последний раз, вы получите готовую электронную книгу.
4.3 Сохранение в формат DjVu
Для сохранения в формат DjVu понадобится программное обеспечение, работающее с этим форматом. Конкретно это:
• Специализированный DjVu-кодер LizardTech Document Express Enterprise 5.1;
• Процессор текстовых слоев DjVu OCR 2.4(выложен на сервере по адресу http://www.djvu-soft.narodTu/soft
[Закрыть]);
• DjVu-редактор LizardTech Document Express Editor 6.0.1.
Вся операция сохранения начинается с настройки предварительно установленного кодера DjVu. Диалог настройки в LizardTech Document Express Enterprise вынесен в отдельное приложение, называемое Configuration Manager(Менеджер настроек). Запускаем это приложение.
Интерес здесь представляют профили кодирования, сгруппированные в списке Select Profile. Задача настройки (это нужно будет сделать всего один раз) состоит в том, чтобы подготовить три специальных профиля для кодирования изображения:
1. Одноцветный ( Bitonal) на разрешение 600 dpi – для кодирования основной части книги и диффузных ( Dithered) иллюстраций;
2. Фотографический ( Photo) профиль на 300 dpi – для кодирования обложек и полноцветных иллюстраций;
3. Сканерный ( Scanned) профиль на разрешение 600 dpi – для кодирования страниц с черно-белыми клишированными фотоиллюстрациями.
Для создания каждого профиля нужно сперва выбрать из списка Select Profileбазовый профиль. Соответственно, для указанного списка это будут профили Bitonal(600dpi), Photo (300dpi) и Scanned(600dpi). Выбрав профиль, нажимаем кнопку Advanced Settings, не трогая никаких основных настроек. В появившемся диалоге на вкладках Text и Background выставляем параметры так, как показано на рисунках:
Для профиля Bitonal:
Для профиля Photo:
Для профиля Scanned:
Что сие означает
На вкладках тонкой настройки профилей основное место занимают опции кодера – коэффициент усиления, обработка полутонов и яркостной составляющей и т. п. Трогать эти настройки нужно только в том случае, если требуется специальным образом закодировать сложное и объемное изображение. В случае книжных сканов в этом нет никакой необходимости, так что интерес будут представлять только группа параметров Text Quality, список JB2 Format, цифровое поле Pages per Dictionaryи поля Back/Foreground Quality.
Группа Text Qualityзадает методику кодирования контрастных контуров, опознанных по единообразию размеров (т. е. представляющих символы шрифта). Значения в этом списке можно менять только для профилей Scannedи Photo(в профиле Bitonal изменение установки качества на любую, кроме Most-loss (~aggressive)приводит к конфликту при работе кодировщика). На размер файла эти настройки влияют довольно слабо (для серых сканов и изображений размер меняется в пределах 20 % при установках от Losslessдо Most-Loss).
Поля Background Qualityи Foreground Qualityвыставляют фактор сжатия JBIG соответственно для слоев заднего и переднего планов. На размер выходного файла влияют слабо, если только скан не снят с формата A3. В принципе, значения, показанные на рисунках, дают оптимальное качество в подавляющем большинстве случаев книгосканирования.
Поле Pages per Dictionary– именно та настройка, наличие которой позволяет существенно сократить размер файла. Она задает максимальное количество страниц, на которые будет распространяться отдельный словарь. Это позволяет (за счет единообразия типографского шрифта) увеличить степень сжатия в несколько раз. В то же время, задавать большое количество страниц на словарь для профилей Photoи Scannedнецелесообразно – что приведет к ухудшению качества.
После того, как все настройки заданы, можно сохранить профили (дав им информативные имена, вроде Advanced Bitonal…), и приступить непосредственно к кодированию.
Для начала нужно рассортировать выходные файлы на несколько групп, каждую из которых будет кодировать свой профиль. В отдельные группы выделяем: файлы с текстом и диффузными черно-белыми иллюстрациями, текстом и черно-белыми недиффузными иллюстрациями, цветные и черно-белые вклейки.
Собственно, профиль Scannedнужен только для самых сложных случаев (страницы с текстом и высококонтрастными черно-белыми клишированными фотографиями, не поддающимися диффузному кодированию), основную работу сделают профили Bitonalи Photo. Группы файлов можно разобрать по папкам с именами профилей, чтобы потом не ошибаться с выбором. Затем запускаем приложение Workflow Managerпакета Document Express Enterprise.
Командой меню File =› Open Image…открываем первые из подлежащих кодированию файлов (но не обложку!). Как правило, первые страницы книги целиком черно-белые. Для них подойдет профиль на основе Bitonal. Смотря по характеру страниц, можно выбрать и другой профиль. Открыв изображение, выбираем для кодирования ранее подготовленный профиль из списка Raster Profile.
Если книга не имеет иллюстраций в тексте, все страницы, кроме обложек, можно сразу сохранить в один DjVu-файл. Если же имеются иллюстрации, цветные вклейки и т. п., то каждую страницу нужно сохранить в свой DjVu-файл, чтобы потом собрать их воедино в редакторе. Обычно, кодируя книгу, я заранее сохраняю первые страницы без иллюстраций в один DjVu-файл с именем, совпадающим с именем книги (соответственно, эти файлы уже не выделяю ни в какую группу для кодирования). Потом в папку, где лежит этот файл, кодирую все оставшиеся страницы – каждую в отдельный файл. Открыв затем редактором файл с именем «Название книги. djvu», просто добавляю к нему уже имеющиеся закодированные DjVu-файлы, предварительно отсортировав их по именам. Так легко и быстро можно получить готовый файл для добавления обложек.
Итак, открыв изображения, подлежащие кодированию тем или иным профилем, задаем в поле Job Name имя задания. Если книга сохраняется в один файл, то эта строка будет его именем. В противном случае все файлы DjVu, соответствующие страницам, будут сохранены с именами, совпадающими с именами файлов страниц.
Теперь время перейти с вкладки Workflowна вкладку Output. Здесь из списка Separate Filesвыбираем тип сохранения: One document only(единичный документ), либо Each file(каждый файл отдельно). Затем, щелкнув по ссылке Choose Folder…выбираем папку для сохранения выходных файлов DjVu. Если сохранение идет по одному файлу, крайне нежелательно сохранять DjVu-страницы в папку с выходными файлами ScanKromsator (папку с изображениями страниц) это очень затруднит выбор файлов для открытия редактором.
Каждая команда Open Images…(кроме первой после запуска программы) в Workflow Managerсоздает новое задание ( Job). Параметры на вкладках можно выставлять отдельно для каждого задания. После того, как все готово, можно запустить задания на выполнение. Для этого достаточно поставить галочку рядом с именем каждого задания. К сожалению, индикация прогресса работы в Workflow Manager не предусмотрена. Однако кодер работает очень быстро, кодирование даже 500-страничного тома редко длится более 10 минут. Когда кодирование основной части книги завершено, можно открыть в Workflow Manager файлы с обложками и закодировать их в отдельные файлы DjVu, использовав ранее подготовленный профиль Photo.
Когда готов весь набор файлов DjVu (книга в одном файле или в виде страниц, обложки), можно сложить все файлы в одну папку, и приступить к сборке полноценной электронной книги. Запускаем Document Express Editor.
Открываем в Document Express Editor файл с первой страницей обложки.
Затем командами меню Edit =› Insert Page(s)…добавляем в нужные места все остальные подготовленные файлы. Теперь книга имеет законченный вид, и ее можно сохранить командой File =› Save As…
Остались сущие пустяки – добавить в книгу текст, распознанный в FineReader, и создать оглавление. Начнем с добавления текста. Находим в редакторе страницу, с которой начиналось распознавание и запоминаем ее номер (теперь он не первый, как это было в пакете FineReader, так как добавились обложка и форзац). Теперь закроем редактор, и запускаем приложение DjVuOCR 2.4 (автор – камрад Gencho из солнечной Болгарии).
Интерфейс этого процессора обработки DjVu интуитивно понятен. Нас интересует режим «Ручной OCR manager». Здесь нужно указать адрес папки пакета FineReader с распознанной книгой, номер первой страницы пакета в файле DjVu, а также имя самого файла DjVu. Флажок «Создать» не должен пугать – на самом деле, в существующий файл DjVu просто будет записан невидимый слой с текстами и координатами строк. Когда все параметры заданы, запускаем обработку. Проходит она очень быстро, и теперь файл DjVu готов к созданию оглавления.
На сайге http://www.djvu-soft.narod.ru
[Закрыть]можно найти несколько программ, предназначенных для автоматизации создания оглавления в файлах DjVu, но я, лично, предпочитаю полный контроль над этим процессом.
Если в книге нет непронумерованных вклеек, задача очень проста. Берем в руки книгу, и смотрим, как посчитать номер страницы в файле относительно номера страницы в книге. Теперь жмем кнопку Rectangular Hyperlinkна инструментальной панели редактора. Нажав кнопку – выделяем область (например строку), которая станет ссылкой оглавления. Появляется диалоговое окно Rectangular Highlight/Hyperlink Properties:
К сожалению, процесс ручного создания оглавления не отличается удобством. Каждый раз придется выбирать тип ссылки Page Numberв списке Link То:, а потом выбирать из списка Pageномер страницы. Когда оглавление готово, файл сохраняется, и DjVu-книга готова!