Изменение структуры документа PDF при его последовательном редактировании

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

PDF (аббревиатура от англ. Portable Document Format) — разработанный фирмой Adobe Systems с использованием ряда возможностей языка PostScript, как независимый от платформы формат представления в электронном виде полиграфической продукции, различной электронной документации (в том числе электронные книги) и презентаций.

Структура файла:

Обычный PDF-файл содержит четыре раздела:

· заголовок (header);

· «тело файла» (body);

· таблицу перекрестных ссылок (cross-reference table);

· trailer.

Пошаговая коррекция документа. Содержимое PDF-файла может быть изменено без переписывания всего файла. Изменения можно внести в конец файла, сохраняя его первоначальное содержание. Когда файл модифицируется, добавляются новые или измененные объекты, раздел таблицы ссылок и новый trailer. Удаленные объекты остаются неизменными в файле, но помечаются как удаленные в таблице ссылок.

Есть два формата данных таблицы: для объектов, которые используются, и для объектов, которые были удалены.

<cross-reference entry> ::=

<in-use entry> |

<free entry>

Для объекта, который используется в публикации, указываются байтовое смещение, определяющее количество байтов от начала файла к началу объекта, номер генерации объекта, и ключевое слово n: <in-use entry> ::= <byte offset><generation number> n.

Для объекта, который свободен, указываются объектный номер следующего свободного объекта, номер генерации и ключевое слово f: <free entry> ::= <object number of next free object><generation number> f.

Когда косвенный объект удаляется, его запись в таблице помечается как «свободная», и номер генерации объекта увеличивается на единицу, чтобы открыть возможность использования объекта с таким номером.

5. Подготовка электронных изданий в формате DejaVu. Разделение изображения на слои: передний план, задний план и однобитовую маску. Использование текстового слоя. Создание гиперссылок.

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

Особенности:

- чисто растровый формат

- применяется для учебной литературы

- для переноса информации с бумажных носителей в электронный вид (сканирование)

- сохраняет структуру фона

- структура формата открыта

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

Плюсы:

- главный плюс – это, безусловно, небольшой размер;

- при небольшом размере файла сохраняется хорошее качество изображений и особенно текста;

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

- возможность использования формата для отображения литературы и документов, содержащих формулы, диаграммы, таблицы, а также исторических документов, с сохранением фактуры отсканированного документа;

- текст остается четким даже при сильном увеличении.

Минусы: DjVu – это сжатие изображения с потерями. То есть часть информации неизбежно теряется. В основном, это касается картинок.

В основу разработки формата положено 6 технологий:

1) Алгоритм отделения текста от фона на отсканированном изображении

2) Вейвлетный алгоритм сжатия фона IW44

3) Универсальный алгоритм сжатия ZIP

4) Алгоритм распаковки «по запросу» (позволяет показать часть изображения, не разворачивая всю картинку в оперативной памяти компьютера, а также легко масштаб. изображение)

5) Алгоритм «маскировки» изображений

6) Алгоритм сжатия чёрно-белых изображений JB2

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

Для добавления гиперссылки чаще всего достаточно воспользоваться пунктами меню "HyperLinks" в программах создания DjVu-документов.

После выделения текста гиперссылки можно указать тип ссылки (гиперссылка может указывать на веб-страницу, либо страницу DjVu-документа). В первом случае следует указать адрес веб-страницы, во втором - номер или имя страницы документа.

При создании гиперссылки можно определить ее стиль, задать комментарий, который будет отображен рядом со ссылкой.

Для сжатия цветных изображений в DjVu применяется специальная технология, разделяющая исходное изображение на три слоя (в общем случае): передний план (foreground), задний план (backgroung) и чёрно-белую (однобитовую) маску (mask).

Маска сохраняется с разрешением исходного файла; именно она содержит изображение текста и прочие чёткие детали. Разрешение заднего плана, в котором остаются иллюстрации и текстура страницы, понижается для экономии места. Передний план содержит цветовую информацию о деталях, не попавших в задний план; его разрешение понижается ещё сильнее. Затем задний и передний планы сжимаются с помощью вейвлет-преобразования, а маска — алгоритмом JB2.

Параметры компонентов изображения в формате DjVu.

Имя слоя Пояснение Разрешение, dpi Глубина цвета, bits/pix
Mask монохромная маска-трафарет
Background цветной фон
Foreground цвета маски

Особенностью алгоритма JB2 является то, что он ищет на странице повторяющиеся символы и сохраняет их изображение только один раз. В многостраничных документах каждые несколько подряд идущих страниц пользуются общим «словарём» изображений. При просмотре слои последовательно рендерятся и объединяются в конечной картинке.

Основная проблема - отделить текст от фона, особенно если это цветной текст, и более того, разноцветный. К счастью, цвет текста в большинстве документов практически одинаков в рамках одного знака. Это позволяет сохранять цветовую информацию о тексте с разрешением всего 25 dpi (слой "foreground") (см. табл.).

Разделение изображения на текст и фон (формирование слоя-маски) основано на так называемой мультимасштабной кластеризации. Изображение разбивается на разноразмерные вложенные сетки, в каждой ячейке которых происходит распознавание текстовых и фоновых цветов по максимальным пикам на гистограмме. Отделив текст от фона в самой крупной сетке, алгоритм переходит к уточнению на основе данных из сеток меньшего размера. Разработчиками найдено эмпирическое соотношение: цвет, определенный как "текстовый" в наибольшей ячейке, смешивается с "текстовым" цветом в меньшей, вложенной ячейке в пропорции 20% к 80% . Результат смешения принимается за цвет текста для расчетов в еще более мелкой сетке по тому же принципу 20/80.

Очевидно, смешение одинаковых цветов даст тот же самый цвет. В этом случае вложенные ячейки игнорируются, и общий объем информации о слое-маске уменьшается на 10...30% по сравнению с разбиением одноразмерной сеткой наименьшего шага.

Однако для сжатия большинства книг можно обойтись только двумя цветами. В этом случае используется всего один слой, что позволяет достичь рекордной степени сжатия. В типичной книге с чёрно-белыми иллюстрациями, отсканированной с разрешением 600 dpi, средний размер страницы составляет около 15 Кб, то есть приблизительно в 100 раз меньше, чем исходный файл. Однако, при этом не стоит забывать, что в DjVu используется сжатие данных с потерями. Для особо важных документов, возможно, будет разумнее использовать более «надёжные» форматы: PNG, JPEG 2000, TIFF и т. п. В общей сложности выигрыш объёма в этом случае составляет 4—10 раз.

Наши рекомендации