THotPDF.OptimizeLoadedStreams Method
Kirjoittaa valitut ladatut virtaperheet uudelleen Flate-muotoon vain silloin, kun korvaus on pyydetyn kynnyksen verran pienempi
Määrittely
function OptimizeLoadedStreams(
FilterFamilies: THPDFLoadedStreamFilterFamilies;
MinimumSavingsBytes: Int64;
out AInfo: THPDFLoadedStreamOptimizationInfo): Integer;
Yksikkö
HPDFDoc
Parametrit
| Nimi | Tarkoitus |
|---|---|
FilterFamilies | Valitsee suodattamattomat, Flate-, LZW-, ASCII85-, ASCIIHex- ja RunLength-ehdokkaat |
MinimumSavingsBytes | Positiivinen pienin tavusäästö, joka vaaditaan, ennen kuin ehdokas korvaa lähdevirtansa |
AInfo | Vastaanottaa skannatut, ehdokas-, uudelleenkirjoitetut, tukemattomat, epäonnistuneet, ennen- ja jälkeen-tavujen sekä säästetyt tavut yhteensä |
Paluuarvo
Palauttaa ladatussa objektiverkossa korvattujen virtahyötykuormien määrän
Käyttöhuomautukset
CompressionLevelvalitsee zlib-nopeuden ja -suhteen, kun taasclNonetekee kierroksesta ei-toimivan- Dekoodatut ja pakatut ehdokkaat siirtyvät omistettuihin väliaikaistiedostoihin rajan
LoadedStreamMemoryThresholdjälkeen, mikä pitää suurten asiakirjojen muistin rajattuna - Alkuperäinen hyötykuorma ja sanakirja pysyvät muuttumattomina dekoodausvirheen tai riittämättömän säästön jälkeen
/DecodeParms-virrat ohitetaan, jotta ennustaja- ja ei-oletus-LZW-semantiikkaa ei muuteta vahingossa- Monisuodinketjut ovat kelpoisia vain, kun jokainen perhe on valittu ja tuettu
- Kutsu
SaveLoadedDocumentkierroksen jälkeen säilyttääksesi hyväksytyt hyötykuormat
Tyypit ja diagnostiikka
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;
Esimerkki
Families := [lsffUnfiltered, lsffFlate, lsffLZW];
Count := PDF.OptimizeLoadedStreams(Families, 16, Info);
if Count > 0 then
PDF.SaveLoadedDocument('optimized.pdf');