THotPDF.OptimizeLoadedStreams Method

Перезаписывает выбранные семейства загруженных потоков как Flate, только если замена меньше на запрошенный порог

Объявление

function OptimizeLoadedStreams(
  FilterFamilies: THPDFLoadedStreamFilterFamilies;
  MinimumSavingsBytes: Int64;
  out AInfo: THPDFLoadedStreamOptimizationInfo): Integer;

Модуль

HPDFDoc

Параметры

ИмяНазначение
FilterFamiliesВыбирает кандидатов: неотфильтрованные, Flate, LZW, ASCII85, ASCIIHex и RunLength
MinimumSavingsBytesПоложительное минимальное сокращение байт, необходимое для замены потока-источника кандидатом
AInfoПринимает итоги по просмотренным, кандидатным, переписанным, неподдерживаемым, отказавшим потокам и байтам до/после/сэкономлено

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

Возвращает число полезных нагрузок потоков, заменённых в загруженном графе объектов

Примечания по использованию

Типы и диагностика

THPDFLoadedStreamFilterFamily = (lsffUnfiltered, lsffFlate, lsffLZW,
  lsffASCII85, lsffASCIIHex, lsffRunLength);
THPDFLoadedStreamFilterFamilies = set of THPDFLoadedStreamFilterFamily;

THPDFLoadedStreamOptimizationInfo = record
  ScannedStreamCount: Integer;
  CandidateStreamCount: Integer;
  RewrittenStreamCount: Integer;
  UnsupportedStreamCount: Integer;
  DecodeFailureCount: Integer;
  BytesBefore: Int64;
  BytesAfter: Int64;
  BytesSaved: Int64;
end;

Пример

Families := [lsffUnfiltered, lsffFlate, lsffLZW];
Count := PDF.OptimizeLoadedStreams(Families, 16, Info);
if Count > 0 then
  PDF.SaveLoadedDocument('optimized.pdf');

Связанные API