Méthode THotPDF.OptimizeLoadedStreams

Récrit certaines familles de flux chargés en Flate uniquement lorsque le remplacement est plus petit de la marge demandée

Déclaration

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

Unité

HPDFDoc

Paramètres

NomRôle
FilterFamiliesSélectionne les candidats non filtrés, Flate, LZW, ASCII85, ASCIIHex et RunLength
MinimumSavingsBytesRéduction minimale positive en octets requise avant qu'un candidat remplace son flux source
AInfoReçoit les totaux de flux analysés, candidats, réécrits, non pris en charge, échoués, avant, après et octets économisés

Valeur de retour

Renvoie le nombre de charges utiles de flux remplacées dans le graphe d'objets chargé

Notes d'utilisation

Types et diagnostics

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;

Exemple

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

API associées