XFA Host Model

Zet TXFAWidgetRuntimeOptions.ScriptOptions.EnableJavaScript aan om het stateful xfa.host-model te gebruiken via de meegeleverde QuickJS-engine

Configureer applicatiemetadata via TXFAWidgetRuntimeOptions.HostModel vóór het aanmaken van de runtime, en lees de huidige status via TXFAWidgetRuntime.HostModel

Properties

PropertyGedrag
name, version, appType, platform, variation, languageRead-only applicatiemetadata aangeleverd door de embeddende applicatie
numPagesRead-only echt layout-pagin aantal, inclusief gepositioneerde content voorbij veld-widgets
currentPageZero-based huidige pagina, gecheckt tegen numPages; een veld focussen kiest diens pagina
titleUnicode-runtime-titel, begrensd door MaxValueChars en gepubliceerd met de transactie
calculationsEnabledStuurt automatische berekeningsscripts; de default is true
validationsEnabledStuurt validatiescripts voor bewerkte waarden; de default is true

Applicatieversie identificeert de embeddende applicatie; de library substitueert diens release-nummer niet

Host-status hoort bij de runtime; titel- en paginawijzigingen wijzigen de originele PDF-objectgraaf niet en worden niet in opgeslagen XDP-data geëncodeerd

Navigatie, focus en data-reset

MethodeGedrag
pageUp(), pageDown()Beweegt binnen paginagrenzen en stopt op de eerste of laatste pagina
getFocus()Geeft de live gefocuste veld-occurrence terug, of null wanneer focus afwezig, verwijderd of verborgen is
setFocus(fieldOrSOM)Vraagt focus op een zichtbare live veld-occurrence; null of lege tekst wist focus
resetData(paths="")Herstelt template-defaultwaarden voor velden gekozen door een kommagescheiden SOM-lijst, of alle velden wanneer paths leeg is; herhaalde instance-aantallen en ongerelateerde occurrences worden behouden

Reset-velden verlaten de bewerkingsmodus en verkrijgen geldige interactiestatus, wat voorkomt dat een verouderde bewerkingsbuffer de resetwaarde overschrijft

Reset en Data DOM loadXML kunnen in hetzelfde event draaien; diens wijzigingen delen de event-transactie, en een gefaald script of uitgeput budget herstelt datawaarden, bewerkingsbuffers, host-status en script-object-lexicale status vóór een retry

Veld-identiteiten volgen diens data-occurrence wanneer een instance manager herhaalde subforms herordent, en snapshot-herstel behoudt die logische identiteiten

Focus-levenscyclus en transacties

Runtime-focuswijzigingen committen en valideren een pending bronbewerking, voeren bron-exit-scripts uit, kiezen het nieuwe veld en voeren target-enter-scripts uit voordat berekening en layout settelen

Focus-requests gedaan door enter- of exit-scripts kunnen de target omleiden; elke focus-drain staat 64 overgangen toe en deelt de script operation- en elapsed-time-budgetten

Scripts zien de activiteit via xfa.event.name; berekeningen en validatie ontvangen diens bijbehorende context-namen

Publieke FocusWidget- en enter/exit-DispatchEvent-aanroepen gebruiken dezelfde transactionele levenscyclus; ClearFocus annuleert diens huidige bewerkingsbuffer vóór de exit-levenscyclus, met behoud van diens vorige annuleringsgedrag

OnFocusChanged publiceert geordende callbacks na commitment; intermediaire omleidingen blijven binnen de transactie, en gefaalde scripts, validatie of budgetten herstellen host-status, focus, bewerkingsbuffers, documentwaarden en script-lexicale status samen

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;

Applicatie-effecten en resterende dekking

Dialoogen, printen, externe navigatie, import/export en HTTP-effecten gebruiken expliciet application host transport en geregistreerde responses; het statusmodel zelf start geen UI- of netwerkoperatie

Extra host-dialoog-API's, elke Acrobat host-property, dynamische synchrone reflow-queries en complete SOM-operatoren blijven aparte integratiedoelen

Related APIs: TXFAHostModelState, PXFAHostModelState, HPDFXFAHostModelJavaScript en Interactive XFA Widget Runtime