XFA Host Model
Aktivér TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript for at bruge den statefulde xfa.host-model gennem den medfølgende QuickJS-motor
Konfigurér applikationsmetadata gennem TXFAWidgetRuntimeOptions.HostModel, før runtime'en oprettes, og læs den aktuelle tilstand gennem TXFAWidgetRuntime.HostModel
Properties
| Property | Adfærd |
|---|---|
name, version, appType, platform, variation, language | Skrivebeskyttet applikationsmetadata leveret af den indlejrende applikation |
numPages | Skrivebeskyttet faktisk layout-sideantal, inklusive positioneret indhold ud over felt-widgets |
currentPage | Nul-baseret aktuell side tjekket mod numPages; fokus på et felt vælger dets side |
title | Unicode runtime-titel begrænset af MaxValueChars og publiceret med transaktionen |
calculationsEnabled | Styrer automatiske beregningsscripts; standarden er true |
validationsEnabled | Styrer valideringsscripts for redigerede værdier; standarden er true |
Applikationsversion identificerer den indlejrende applikation; biblioteket substituerer ikke sit eget release-nummer
Host-tilstand tilhører runtime'en; titel- og sideændringer ændrer ikke den originale PDF-objektgraf og kodnes ikke ind i gemt XDP-data
Navigation, fokus og data-nulstilling
| Metode | Adfærd |
|---|---|
pageUp(), pageDown() | Flyt inden for sidegrænserne og stop ved første eller sidste side |
getFocus() | Returnerer den live fokuserede felt-occurrence eller null, når fokus mangler, er fjernet eller skjult |
setFocus(fieldOrSOM) | Anmoder om fokus på en synlig live felt-occurrence; null eller tom tekst rydder fokus |
resetData(paths="") | Gendanner skabelonstandardværdier for felter valgt af en kommasepareret SOM-liste eller alle felter, når paths er tom; gentagne instance-antal og urelaterede occurrences bevares |
Nulstillede felter forlader redigeringstilstand og genvinder gyldig interaktionstilstand, hvilket forhindrer en forældet redigeringsbuffer i at overskrive nulstillingsværdien
Reset og Data DOM loadXML kan køre i samme event; deres ændringer deler event-transaktionen, og et mislykket script eller opbrugt budget gendanner dataværdier, redigeringsbuffere, host-tilstand og script-object leksikalsk tilstand inden et retry
Felt-identiteter følger deres data-occurrence, når en instance manager omordner gentagne subforms, og snapshot-gendannelse bevarer disse logiske identiteter
Fokuslevetid og transaktioner
Runtime-fokusændringer committerer og validerer en ventende kilderedigering, afvikler kilde exit-scripts, vælger det nye felt og afvikler target enter-scripts, før beregning og layout falder til ro
Fokus-anmodninger fra enter- eller exit-scripts kan omdirigere targetet; hvert focus-drain tillader 64 overgange og deler script-operations- og forløbet-tidsbudgetter
Scripts ser aktiviteten gennem xfa.event.name; beregninger og validering modtager deres tilsvarende kontekstnavne
Public FocusWidget- og enter/exit DispatchEvent-kald bruger samme transaktionelle livscyklus; ClearFocus annullerer sin aktuelle redigeringsbuffer før exit-livscyklussen og bevarer sin tidligere cancellation-adfærd
OnFocusChanged publicerer ordnede callbacks efter commit; mellemliggende omdirigeringer forbliver inde i transaktionen, og mislykkede scripts, validering eller budgetter gendanner host-tilstand, fokus, redigeringsbuffere, dokumentværdier og script leksikalsk tilstand sammen
Options := TXFAWidgetRuntimeOptions.Default;
Options.ScriptOptions.EnableJavaScript := True;
Options.HostModel.Name := 'Application';
Options.HostModel.Version := '1.0';
Options.HostModel.Language := 'en-US';
Runtime := TXFAWidgetRuntime.Create(XDPBytes, 595, 842, Options);
xfa.host.title = "Order form";
xfa.host.setFocus("rows[1].quantity");
xfa.host.resetData("rows[1].quantity,rows[1].price");
xfa.host.calculationsEnabled = false;
Applikationseffekter og tilbageværende dækning
Dialoger, printing, ekstern navigation, import/eksport og HTTP-effekter bruger eksplicit applikationshost-transport og registrerede responser; tilstandsmodellen selv starter ingen UI- eller netværksoperation
Yderligere host dialog-API'er, hver Acrobat host-property, dynamiske synkrone reflow-queries og komplette SOM-operatorer forbliver separate integrationsmål
Relaterede API'er: TXFAHostModelState, PXFAHostModelState, HPDFXFAHostModelJavaScript og Interactive XFA Widget Runtime