fractal

Иван Сторожев


Previous Entry Share Next Entry
fractal

Подготовка книги в PDF к публикации в сети

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

В этой статье пойдет речь о различных форматах сжатия в PDF и о том, как выбрать параметры PDF optimizer'а в Acrobat 7;

1.0. Оптимизация PDF.

Пару слов о создание PDF из файлов картинок. Сделать это можно средствами самого Акробата: Create PDF from multiple Files..., дальше будет запущен мастер и в нём всё понятно.

Важное замечание. Формат сканов, которые вы втягиваете в Акробат должен хранить значение разрешения. Ряд форматов этим свойством не обладают или оно у них не стандартизовано. Поэтому, никогда не используйте формат BMP для обмена файлами между Акробатом и другими программами, например Фотошопом. Формат BMP как раз не поддерживает сохранение значения разрешения изображения. Кроме того формат обмена должен сжимать без потерь, поэтому JPEG тоже не подходит. Оптимально использовать формат TIFF, сжатие LZW или без сжатия. Обратите внимание, TIFF поддерживает сжатие JPEG. Проследите, чтобы ненароком его не установить.

В последней, 7-й, версии Acrobat'а имеется инструмент "PDF optimizer".

Вы его найдете в меню Advanced --> PDF optimizer...

Перед публикацией следует обязательно обработать документ PDF этим инструментом.

Базовые настройки PDF optimizer'а.

Для различных вариантов PDF эти установки нужно подкорректировать, о чём ниже будет сказано.

Общая установка Make compatible with: Acrobat 7.0 and later


вкладка Images


Color Images
Downsample: Bicubic Downsampling to 150 pixel/inch. For images above 250 pixels/inch
Смысл этого параметра: все картинки с разрешением 250 ppi и выше будут уменьшены до 150 ppi. Картинки с разрешением меньше 250 ppi останутся неизменными

Compression: JPEG2000; Quality: Low; Tile size 512

Grayscale Images :
Downsample: Bicubic Downsampling to 150 pixel/inch. For images above 300 pixels/inch
Compression: JPEG2000; Quality: Low; Tile size 512

Monochrome Images:
Downsample: Off
Compression: JBIG2; Quality: Lossless


вкладка Scanned Pages

[ ]Optimize compression of page regions based on color content


вкладка Transparency

[ ] Flatten transparency


вкладка Discard Objects

[v] Discard all comments and form widgets
[v] Discard all form submiss, import and reset actions
[v] Discard all JavaScript actions
[ ] Discard all external cross references
[v] Discard all alternate images
[v] Discard embedded thumbnails
[v] Discard private data of other applications
[ ] Discard document structure
[v] Discard hidden layer content and flatten visible layers
[ ] Convert smooth lines to curves
[ ] Detect and merge image fragments


вкладка Clean Up

Object compression options: Compress entire file

[v] Use Flate to encode streams that are not encoded
[v] In streams that use LZW encoding, use Flate instead
[v] Remove invalid bookmarks
[v] Remove invalid links
[v] Remove unreferenced named destinations
[ ] Optimize the PDF for fast web view


Можно сохранить эти установки под подходящим именем, например "MyDefault" :-)

Дальше рассмотрим различные варианты исходных, неоптимизированных, PDF файлов и необходимые коррекции настроек инструмента PDF optimizer. Есть смысл их сохранить в виде профайлов PDF optimizer'а с "говорящими" названиями.

1.1. Черно-белые сканированные страницы

Ничего менять не надо. Если Вы включили в состав PDF цветную обложку, то тоже ничего менять не надо.

Однако имейте ввиду:

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


1.2. Цветные и серые полутоновые сканы без текста.

Большие разноцветные надписи поперек всей картинки, например надпись на обложке книжки/CD/DVD, здесь не имеются ввиду. Хотя формально это текст, но в плане сжатия от изображения он ничем не отличается.

вкладка Images

Возможные интервалы настроек выделены синим.

Color Images & Grayscale Images
Downsample: Bicubic Downsampling to 100..300 pixel/inch. For images above 250 pixels/inch
Compression: JPEG2000; Quality: Low-Medium-High-Maximum-Lossless; Tile size 512


Желательно конечное разрешение (PDF) брать кратным разрешению сканирования.

Например:
Вы сканировали с разрешением 600 dpi -- в PDF optimizer ставим 300, 150 или 100 ppi;
Вы сканировали с разрешением 800 dpi -- в PDF optimizer ставим 400, 200 или 100 ppi;
Ещё лучше, если размер картинок вы уменьшите не в Акробате (PDF optimizer'е), а раньше, в Фотошопе, до этапа создания PDF.

Разрешение выше 300 ppi ставить для сканированных изображений не нужно! Качество это не прибавит, а размер при увеличении разрешения в 2 раза увеличивается в 4 раза. Даже 300 ppi много. Лучше сделать downsampling до 150..200 ppi и Quality: High или Maximum. Если оригинал неважного качества: старая открытка/книга, большинство старых журналов и часть современных, плохое полиграфическое исполнение, то разрешения в 100 ppi вполне достаточно.

Конечно если вы сканируете очень высокачественную полиграфию (альбом репродукций за $300-400, например), то разрешение конечного PDF можно взять больше, до 300..400 ppi. Но тогда и сканер нужен соответствующий, ценой минимум $400 и обработка после сканирования серьезная. Да и сканировать/обрабатывать с таким качеством нужно уметь :-)

Всё, что сказано абзацем выше о разрешении относится к конечному результату. Само сканирование печатной продукции должно идти с разрешением не ниже 600 dpi. Размер рисунка нужно уменьшать потом, после обработки и коррекции.


1.3. Цветные/серые картинки и распознанный текст

Это, скорее всего, результат работы FineReader. Для эффективной обработки в Акробате, параметры FineReader'а при сохранении в PDF должны быть такими:

Размер бумаги по умолчанию

[v] Сохранять размер оригинала

Здесь можно поставить как "Сохранять размер оригинала", так и подходящий стандартный размер, ближайший к размеру страницы. Если вы выбрали стандартный размер, просмотрите получившийся PDF, не обрезаны ли где тест/изображение.

В сети часто встречаются PDF'ы, где при сохранении не обратили должного внимания на этот параметр. В результате неприглядный вид: тест A5 на листе A4. Поэтому обратите внимание на этот параметр.


Формат сохранения: Только текст и картинки

[ ] Сохранять цвет фона и букв

Если в книжке есть цветной текст, установите этот чекбокс.

[v] Разрешить теги PDF (для Acrobat 5.0 или более поздней версии)

Картинки и шрифты

Качество: Высокое (для печати)

Формат:

LZW, цветной (без потерь)
LZW, серый (без потерь)
CCITT4, черно-белый

Выбирайте формат сохранения в соответствии с характером картинок. Будьте внимательны. Сохранив, например, черно-белые рисунки в формате "LZW, серый", вы неоправданно увеличите размер файла и ухудшите качество картинок. Если в книжке есть как черно-белые, так полутоновые картинки формат сохранения выбираете полутоновый (серый или цветной)

Шрифт: Использовать стандартные шрифты

[v] Встраивать шрифты



Параметры PDF optimizer'а выбирают в зависимости от характера картинок. Если картинки полутоновые: пейзажи, портреты героев, фотографии и т.п., то можно оставить настройки по умолчанию или воспользоваться рекомендациями к разделу 1.2.

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

вкладка Images

Color Images
Downsample: Off
Compression: JPEG2000; Quality: Maximum-Lossless; Tile size 512

Grayscale Images
Downsample: Off
Compression: JPEG2000; Quality: Maximum-Lossless; Tile size 512

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

Compression: ZIP

и сравните размер полученных файлов. Возможно размер сжатого ZIP файла окажется меньше, чем JPEG2000



1.4. Цветные/серые полутоновые картинки и нераспознанный текст

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

Для полутоновых картинок оптимальное разрешение лежит в пределах 100-200, сжатие в JPEG2000 с потерями. Для сканированного текста оптимальное разрешение 300-400-600 (400-600 для мелкого шрифта, формул и т.п.), сжатие JBIG2 без потерь. При сжатии сканированного текста в JPEG2000 с потерями, да ещё со сниженным разрешением он становится плохо читаемым. При установках разрешения и сжатия JPEG2000 приемлимых для качества текста, размеры PDF становятся несуразно большими. Сделать тут что-то, оставаясь в рамках формата PDF сложно, но кое-что можно, хотя по параметрам качество/размер PDF тут всё равно будет сильно (в разы) уступать DJVU.

Как ясно из предыдущего абзаца, нужно как-то разделить на отдельные части участки изображения с текстом и с полутоновыми картинками, после этого PDF optimizer сможет обработать их по отдельности, с оптимальными параметрами сжатия и разрешения.

Возможные варианты такого разделения:

1) Вручную в Фотошопе, пользуясь всеми его мощными средствами для облегчения и частичной автоматизации процесса. К сожалению Фотошоп не умеет сохранять layer или slices в PDF. Он их перед сохранением "склеивает", а нам нужно, чтобы или слои или slices сохранялись в PDF как отдельные картинки и с правильным типом (черно-белые, цветные, серые). Наверняка можно написать скрипт, который это будет делать автоматически, но у меня нет времени разбираться со скриптовым языком Фотошопа. Может кто-нибудь возьмется и поделится с обществом? Или может кто-то знает такой плагин? Я в сети не нашел. Правда, даже если удастся решить проблему экспорта, необходимость ручной работы по нарезке изображения все равно останется.

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

Всё же я опишу работу с этим инструментом Акробата.

Требования к исходному скану: разрешение сканирования должно быть не ниже 600 dpi.

Действовать нужно в 2 этапа.

1 этап) Откройте исходный PDF, запустите PDF optimizer, переключитесь на вкладку Scanned Pages, установить галочку в "Optimize compression of page regions based on color content", вкладка Images, будет автоматически отключена, о чем последует предупреждение. Далее установим параметры:

вкладка Scanned Pages

[v] Optimize compression of page regions based on color content

Движок Small Size --- High Quality установите в "High Quality"

Filters
Deskew: Off

Background removal:
если текст в скане встречается только на белом фоне, то поставьте значения "Medium..High"
если на цветном фоне, на фоне изображения, то "Off..Low"

Edge shadow removal: Off

Despeckle:
если скан очищен заранее: Off
если много шума (мелких точек) на черно-белых участках -- "Low..Medium..High"

Descreen: Off
Halo Removal: On


Запустите оптимизацию, сохраните PDF, закройте файл. Откройте сохраненный файл.

2 этап) Снова откройте PDF optimizer, на вкладке Scanned Pages, уберите галочку в "Optimize compression of page regions based on color content", перейдите на вкладка Images. Параметры:

вкладка Images

Color Images
Downsample: Bicubic Downsampling to 150 pixel/inch. For images above 250 pixels/inch
Compression: JPEG2000; Quality: Low; Tile size 512

Grayscale Images :
Downsample: Bicubic Downsampling to 150 pixel/inch. For images above 300 pixels/inch
Compression: JPEG2000; Quality: Low; Tile size 512

Monochrome Images:
Downsample: Subsampling to 300 pixels/inc. For images above 400 pixel/inch
Compression: JBIG2; Quality: Lossless


3) Еще можно применить специальный способ снижения разрешения исходных сканов до 150-200 ppi, с уменьшенной, по сравнению со стандартным, потерей четкости текста. Делают такую обработку в Фотошопе, но я здесь её описывать не буду, смысла в этом особого нет. Сканы с картинками + нераспознанный текст нужно делать только в DJVU. И качество будет выше, и размер меньше.

Дополнения, на основе обсуждения на KpNemo.

Какая получается экономия? По отзывам юзеров в 2 раза, по моим наблюдениями в 1.5-2.5 раза.

О публикации в сети. В любом случае PDF перед публикацией желательно запаковать мощным архиватором с максимальным сжатием (RAR, 7zip, bz2). Практически всегда удается выгадать ещё немного в плане размера. Кроме того архиваторы обеспечивать контроль целостности файла и возможность восстановления при повреждении.

О разрешении при сканировании. Один из участников обсуждения на KpNemo высказал мысль: "2) сканировать на 600dpi и выше - откровенное извращение, если на выходе будет экранное разрешение (96dpi). Любой шум можно убрать при переходе от 300 точек на дюйм к 100". Это утверждение неверное. Вот кусочек дисскусии (на сером фоне реплики оппонента):


rodocop: :

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

И для большинства оригиналов разрешения в 300dpi вполне достаточно. Да черт с ним, даже если это не совсем так, то и обратное утверждение никак не может быть столь же категорическим!


Обычно линеатура составляет 120-160. При сканировании с разрешением 300 dpi артефакты (муар)появляются прямо на этапе сканирования, как результат взаимодействия (интерференции) цифрующего растра сканера и типографского растра оригинала. Т.е. в результате "регулярность структуры" как раз теряется, а для эффективной постфильтрации нам её надо сохранить.

Чтобы этого не происходило, разрешение сканера должен быть минимум в 3 раза больше линеатуры, это также позволит в дальнейшем максимально точно выделить растр и убрать именно его, а не блюрить всё подряд. Подробно и, на мой взляд, правильно этот вопрос разобран автором одного из самых мощных фильтров для удаления типографского растра здесь.
Советую обратить внимание на этот сайт и купить там фильтр  Descreen. Если вы занимаетесь сканировнием -- этот фильтр просто незаменим. Кроме того на сайте имеется прекрасное руководство по сканированию картинок, называемое хелпом к фильтру Descreen. :-)

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

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

Полезные ссылки по сканированию книжек.

Фильтр Descreen
Обсуждение на RuBoard, далее по ссылкам в шапке
ScanKromsator (СканКромсатор -- Программа для предварительной обработки отсканированных книг
Посмотрите среди моих публикаций на KpNemo
там было 3 статьи по обработке сканов книг.

Если есть вопросы, дополнения/исправления, замечания по сути или по изложению, если что-то непонятно -- спрашивайте, комментируйте, ругайте.
P.S. К френдам: просьба пропиарить эту статью. Это в общих интересах: вдруг кто-нибудь прочитает и перед тем, как выложить в сеть, действительно сделает более компактный PDF. :-)
 



  • 1
gilgamesh_lugal April 8th, 2007
Спасибо. Полезный текст.

(Anonymous) August 8th, 2007
DJVU эффективнее чем PDF

sciuro April 10th, 2007
ocr

  • 1
?

Log in

No account? Create an account