THotPDF.OptimizeLoadedStreams-Methode

Schreibt ausgewählte geladene Stream-Familien als Flate um, nur wenn der Ersatz um den angeforderten Schwellenwert kleiner ist

Deklaration

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

Unit

HPDFDoc

Parameter

NameZweck
FilterFamiliesWählt ungefilterte, Flate-, LZW-, ASCII85-, ASCIIHex- und RunLength-Kandidaten
MinimumSavingsBytesPositive Mindest-Byte-Reduktion, die erforderlich ist, bevor ein Kandidat seinen Quell-Stream ersetzt
AInfoEmpfängt gescannte, Kandidat-, umgeschriebene, nicht unterstützte, fehlgeschlagene, vorher-, nachher- und eingesparte-Byte-Summen

Rückgabewert

Gibt die Anzahl der Stream-Payloads zurück, die im geladenen Objektgraphen ersetzt wurden

Verwendungshinweise

Typen und Diagnostik

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;

Beispiel

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

Verwandte APIs