Metode THotPDF.OptimizeLoadedStreams

Menulis ulang keluarga stream yang dimuat terpilih sebagai Flate saja ketika penggantian lebih kecil sebesar ambang yang diminta

Deklarasi

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

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

Unit

HPDFDoc

Parameter

NamaTujuan
FilterFamiliesMemilih kandidat tidak-terfilter, Flate, LZW, ASCII85, ASCIIHex, dan RunLength
MinimumSavingsBytesReduksi byte minimum positif yang diperlukan sebelum kandidat menggantikan stream sumbernya
RecompressionModeMemilih path pass-tunggal standar atau pemilihan Flate rasio-tinggi empat-strategi deterministik
AInfoMenerima total byte yang dipindai, kandidat, ditulis-ulang, tidak didukung, gagal, sebelum, sesudah, dan disimpan

Nilai kembali

Mengembalikan jumlah muatan stream yang diganti dalam grafik objek yang dimuat

Catatan penggunaan

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

FilterStatistics mencatat jumlah stream pra-optimisasi, byte terkode, dan atribusi tahap per-keluarga tanpa memaksa pass dekode tambahan

Contoh

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

API terkait