ExternalizeInlineImages

Оптимизация документов, обработка изображений, производительность

Описание

Находит байт-идентичные поддерживаемые встроенные изображения в содержимом выбранных страниц и заменяет их повторяющиеся определения BI–EI ссылками на один общий Image XObject

Синтаксис

Delphi

Function TPDFlib.ExternalizeInlineImages(Const PageRange: WideString= ''; MinimumOccurrences: Integer= 2): Integer;

Параметры

PageRangeДиапазон страниц с нумерацией от 1, например 1,3,5-7, или пустая строка для всех страниц; duplicate page numbers are ignored
MinimumOccurrencesМинимальное число точных вхождений, требуемое для переноса группы, и должно быть не меньше 2

Возвращаемые значения

Число замененных вхождений встроенных изображений или 0, когда ни одна группа не подходит, диапазон некорректен, минимум меньше 2 или операция отменена до применения

Примечания

Группировка включает размеры, глубину, флаги image-mask и интерполяции, цветовое пространство, цепочку фильтров, параметры декодирования, массив декодирования и закодированную полезную нагрузку, с индексацией SHA-256 и последующим точным сравнением

Поддерживаются прямые изображения DeviceGray, DeviceRGB и DeviceCMYK, а также stencil masks; именованные или сложные цветовые пространства и неизвестные записи встроенных словарей остаются без изменений

Существующие фильтры и параметры decode сохраняются; полезная нагрузка без фильтра сжимается Flate только когда сжатое представление меньше

Группа выносится только когда консервативная оценка, включающая Image XObject, ресурсы страницы и замещающие инструкции, меньше исходных встроенных фрагментов

Операция сообщает о ходе сборки и применения, отвечает на Abort на границах страниц, восстанавливает ранее выбранную страницу и идемпотентна

Отмена во время сборки не вносит изменений; отмена во время применения сохраняет уже завершенные страницы

Пример

ReplacedImages:= PDF.ExternalizeInlineImages('1-200', 3);
Writeln(ReplacedImages);

См. также

OptimizeImages, RecompressStreams, NormalizeContentStreams