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);