THotPDF.OptimizeLoadedStreams-metoden

Omskriver udvalgte indlæste strømfamilier som Flate kun, når erstatningen er mindre med den anmodede tærskel

Deklaration

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

Enhed

HPDFDoc

Parametre

NavnFormål
FilterFamiliesVælger ufiltrerede, Flate-, LZW-, ASCII85-, ASCIIHex- og RunLength-kandidater
MinimumSavingsBytesPositiv minimum byte-reduktion, der kræves, før en kandidat erstatter sin kildestrøm
AInfoModtager scannede, kandidat-, omskrevne, ikke-understøttede, fejlede, før-, efter- og sparede-byte-totaler

Returværdi

Returnerer antallet af strøm-payloads, der erstattes i den indlæste objektgraf

Brugsnoter

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

Eksempel

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

Relaterede API'er