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

PropertyAdfærd
name, version, appType, platform, variation, languageSkrivebeskyttet applikationsmetadata leveret af den indlejrende applikation
numPagesSkrivebeskyttet faktisk layout-sideantal, inklusive positioneret indhold ud over felt-widgets
currentPageNul-baseret aktuell side tjekket mod numPages; fokus på et felt vælger dets side
titleUnicode runtime-titel begrænset af MaxValueChars og publiceret med transaktionen
calculationsEnabledStyrer automatiske beregningsscripts; standarden er true
validationsEnabledStyrer 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

MetodeAdfæ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