THotPDF.OptimizeLoadedStreams Method
Prepisuje odabrane obitelji učitanih tokova kao Flate samo kada je zamjena manja za traženi prag
Deklaracija
function OptimizeLoadedStreams(
FilterFamilies: THPDFLoadedStreamFilterFamilies;
MinimumSavingsBytes: Int64;
out AInfo: THPDFLoadedStreamOptimizationInfo): Integer;
Jedinica
HPDFDoc
Parametri
| Naziv | Svrha |
|---|---|
FilterFamilies | Odabire nefiltrirane te Flate, LZW, ASCII85, ASCIIHex i RunLength kandidate |
MinimumSavingsBytes | Pozitivno minimalno smanjenje bajtova potrebno prije nego kandidat zamijeni svoj izvorni tok |
AInfo | Prima ukupne brojeve skeniranih, kandidata, prepisanih, nepodržanih, neuspjelih, prije, poslije i spremljenih bajtova |
Povratna vrijednost
Vraća broj payloada toka zamijenjenih u učitanom grafu objekata
Napomene o uporabi
CompressionLevelodabire brzinu i omjer zlib-a, dokclNonečini prolazak neoperativnim- Dekodirani i komprimirani kandidati prelaze u privremene datoteke u vlasništvu nakon
LoadedStreamMemoryThreshold, držeći memoriju velikih dokumenata ograničenom - Izvorni payload i rječnik ostaju nepromijenjeni nakon neuspjeha dekodiranja ili nedovoljne uštede
- Tokovi s
/DecodeParmspreskaču se kako semantika prediktora i nestandardni LZW ne bi bili slučajno promijenjeni - Lanci s više filtera ispunjavaju uvjet samo kada je svaka obitelj odabrana i podržana
- Pozovite
SaveLoadedDocumentnakon prolaska za trajno spremanje usvojenih payloada
Vrste i dijagnostika
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;
Example
Families := [lsffUnfiltered, lsffFlate, lsffLZW];
Count := PDF.OptimizeLoadedStreams(Families, 16, Info);
if Count > 0 then
PDF.SaveLoadedDocument('optimized.pdf');