Метод THotPDF.OptimizeLoadedStreams

Перезаписує обрані сімейства завантажених потоків як 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