Metoden THotPDF.OptimizeLoadedStreams

Skriver om valda inlästa strömfamiljer som Flate endast när ersättningen är mindre med den begärda tröskeln

Deklaration

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

Unit

HPDFDoc

Parametrar

NamnSyfte
FilterFamiliesVäljer ofiltrerade samt Flate-, LZW-, ASCII85-, ASCIIHex- och RunLength-kandidater
MinimumSavingsBytesPositiv minsta byte-reduktion som krävs innan en kandidat ersätter sin källström
AInfoTar emot totaler för skannade, kandidat-, omskrivna, stöds-inte-, misslyckade-, före-, efter- och sparade byte

Returvärde

Returnerar antalet strömnyttolaster som ersatts i den inlästa objektgrafen

Användningsanteckningar

Typer och 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;

Exempel

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

Relaterade API:er