THotPDF.OptimizeLoadedStreams Method

Riscrive le famiglie di flusso caricato selezionate come Flate solo quando la sostituzione è più piccola della soglia richiesta

Dichiarazione

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

Unità

HPDFDoc

Parametri

NomeScopo
FilterFamiliesSeleziona i candidati non filtrati, Flate, LZW, ASCII85, ASCIIHex e RunLength
MinimumSavingsBytesRiduzione minima positiva in byte richiesta prima che un candidato sostituisca il suo flusso sorgente
AInfoRiceve i totali di byte scansionati, candidati, riscritti, non supportati, falliti, prima, dopo e risparmiati

Valore restituito

Restituisce il numero di payload di flusso sostituiti nel grafo degli oggetti caricato

Note d'uso

Tipi e diagnostica

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;

Esempio

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

API correlate