Metoda THotPDF.OptimizeLoadedStreams

Prepiše izbrane družine naloženih tokov kot Flate le, ko je nadomestek manjši za zahtevani prag

Deklaracija

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

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

Enota

HPDFDoc

Parametri

ImeNamen
FilterFamiliesIzbere nefiltrirane kandidate ter kandidate Flate, LZW, ASCII85, ASCIIHex in RunLength
MinimumSavingsBytesPozitivno najmanjšo zmanjšanje bajtov, ki je potrebno, preden kandidat nadomesti svoj izvorni tok
RecompressionModeIzbere standardno pot z enim prehodom ali deterministično izbiro Flate z visokim razmerjem prek štirih strategij
AInfoPrejme skupne vrednosti pregledanih, kandidatov, prepisanih, nepodprtih, spodletelih ter bajtov pred, po in prihranjeno

Vrnjena vrednost

Vrne število zamenjanih koristnih tokov v naloženem grafu predmetov

Opombe o uporabi

Tipi in diagnostika

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;
  FilterStatistics: THPDFLoadedStreamFilterStatistics;
  RecompressionMode: THPDFFlateRecompressionMode;
  CompressionTrialCount: Integer;
end;

FilterStatistics beleži število tokov pred optimizacijo, kodirane bajte in pripis stopenj po posamezni družini brez vsilitve dodatnega prehoda dekodiranja

Primer

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

Povezani API-ji