THotPDF.OptimizeLoadedStreams Method

Przepisuje wybrane rodziny wczytanych strumieni jako Flate tylko wtedy, gdy zamiennik jest mniejszy o żądany próg

Deklaracja

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

Jednostka

HPDFDoc

Parametry

NazwaPrzeznaczenie
FilterFamiliesWybiera kandydatów niefiltrowanych, Flate, LZW, ASCII85, ASCIIHex i RunLength
MinimumSavingsBytesDodatnia minimalna redukcja bajtów wymagana, zanim kandydat zastąpi swój strumień źródłowy
AInfoOdbiera sumy zeskanowanych, kandydatów, przepisanych, nieobsługiwanych, zakończonych niepowodzeniem, przed, po i zapisanych bajtów

Wartość zwracana

Zwraca liczbę ładunków strumienia zastąpionych we wczytanym grafie obiektów

Uwagi dotyczące użycia

Types and diagnostics

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;

Przykład

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

Powiązane API