THotPDF.OptimizeLoadedStreams メソッド

置換が要求されたしきい値だけ小さい場合にのみ、選択された読み込み済みストリームファミリーを Flate として再書き込みします

宣言

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

ユニット

HPDFDoc

パラメータ

名前目的
FilterFamilies未フィルタ、Flate、LZW、ASCII85、ASCIIHex、RunLength の候補を選択します
MinimumSavingsBytes候補がそのソースストリームを置き換える前に必要な正の最小バイト削減
AInfoスキャン、候補、再書き込み、サポート外、失敗、前、後、および節約バイトの合計を受け取ります

戻り値

読み込まれたオブジェクトグラフで置き換えられたストリームペイロードの数を返します

使用上の注意

型と診断

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;

例

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

関連 API