Posjetitelji operatora sadržaja
HotPDF izlaže svaku operaciju u dekodiranom toku sadržaja kroz sučelje posjetitelja s brojanjem referenci i Delphi povratni poziv događaja bez toga da pozivatelji moraju pisati PDF tokenizer
Pregled i mjerenje
THPDFContentOperatorEventData identificira faze početka toka, operatora i kraja toka te izvještava o indeksu operacije, nazivu operatora, broju operanda, opsegu bajtova i determinističkom stanju prije nego se izvrši trenutni izvorni operator
Stanje sadrži dubine stanja grafike, tekstualnog objekta, označenog sadržaja i kompatibilne sekcije, dok THPDFContentOperatorView pruža na zahtjev samo-čitanje operacije ili bajtove operanda bez kopiranja cijelog izvornog toka
Transformiraj ili odbij
Povratni pozivi biraju coaKeep, coaDelete, coaReplace, coaStop ili coaReject
Akcije brisanja i zamjene postaju sortirane nepreklapajuće AST izmjene; odbijanje objavljuje bez izlaza i coaStop se uspješno dovršava nakon trenutnog operatora
Snimke stanja slijede izvorni prolaz izvora čak i kada je operacija zamijenjena, čineći ponovljeni pregled determinističkim
Proračuni i validacija
THPDFContentOperatorVisitOptions.Default konfigurira MaxSourceBytes, MaxOperators, MaxLexemes, MaxDepth, MaxReplacementBytes i ValidateOutput
Otkazivanje se provjerava tijekom prolaza, a transformirani izlaz se ponovno razrješava pod istim ograničenjima leksema, dubine i operatora prije nego se može vratiti ili upisati u učitanu stranicu
Neispravan ulaz, nevaljani izlaz zamjene, iznimke povratnih poziva, kvarovi ograničenja i eksplicitno odbijanje razlikuju se prema THPDFContentOperatorVisitStatus i dijagnostici
Registracija za učitanu stranicu
PDF.ContentOperatorVisitor := Visitor;
PDF.OnContentOperator := HandleContentOperator;
Options := THPDFContentOperatorVisitOptions.Default;
if PDF.VisitLoadedPageContentOperators(0, True, Options,
CancellationToken, Statistics) then
UseStatistics(Statistics);
Posjetitelj sučelja pokreće se prije povratnog poziva događaja kada su oba dodijeljena, a oba se izvršavaju sinkrono na pozivnoj niti
S ApplyChanges=True HotPDF najprije potvrđuje cijeli transformirani tok, zatim zamjenjuje sadržaj stranice u jednoj izmjeni grafa i poništava kompajlirane predmemorije popisa prikaza, rastera, diska, font dekodera i sličica