Native XFA-UI-Property-Override
Units: HPDFXFA, HPDFXFARuntime und HPDFXFAEventScript
Erzeugung und Choice-Gruppen
Unterstützte field- und draw-UI-Knoten legen extras und picture offen plus eine wechselseitig exklusive Widget-Choice: barcode, button, checkButton, choiceList, dateTimeEdit, defaultUi, imageEdit, numericEdit, passwordEdit, signature oder textEdit
Jedes Kind hat Kardinalität eins; getElement und direkter Property-Zugriff materialisieren unterstützte fehlende Properties unter dem tatsächlichen Formularvorkommen, mit gemeinsamen nativen Erzeugungsbudgets und Transaktions-Rollback
const row = xfa.form.resolveNode("main.row[1]");
row.input.ui.textEdit.multiLine = "1";
row.input.ui.textEdit.hScrollPolicy = "off";
row.password.ui.passwordEdit.hScrollPolicy = "off";
row.selection.ui.choiceList.open = "multiSelect";
row.selection.ui.choiceList.commitOn = "select";
Das Erzeugen einer konfligierenden Widget-Choice lässt die Ereignistransaktion fehlschlagen; extras und picture bleiben Metadaten und werden bei der Auswahl des effektiven UI-Widgets übersprungen
Defaults und unterstützte Kindpfade
UI, passwordEdit, choiceList und checkButton legen gängige id-, use- und usehref-Schema-Attribute offen
PasswordEdit hat die Defaults hScrollPolicy=auto und passwordChar=*; choiceList die Defaults open=userControl, textEntry=0 und commitOn=select
PasswordEdit, choiceList und checkButton unterstützen border-, extras- und margin-Kinder; textEdit behält seine border-, comb-, extras- und margin-Pfade und seine bestehenden kontextuellen Defaults
CheckButton hat die Defaults size=10pt, shape=square, mark=default und allowNeutral=0; die automatische native Boolean-Erzeugung konsumiert effektive Instanz-Marker-, Border- und skalare Caption-Properties
setAttribute(value, name) bleibt für explizite zusätzliche Attribute verfügbar; weitere Widget-Klassen-Defaults und Kind-Schemas bleiben separate Ziele
Echte Runtime- und Flatten-Consumer
Die Runtime baut die Widget-Arten nach erfolgreichen Ereignissen aus der effektiven UI für jedes wiederholte Vorkommen neu auf; erzeugte textEdit-, passwordEdit- und choiceList-Knoten werden echte Text-, Passwort- und Listen- oder Combo-Controls
Das Feld-Flattening nutzt dieselbe effektive UI-Auswahl, einschließlich einer nativen formularseitigen UI oder einer Widget-Choice, die einer leeren oder reinen Metadaten-Template-UI hinzugefügt wurde
UI-Attribute fließen in echte PDF-Feld-Flags ein, einschließlich Multiline- und No-Scroll-Text, Passwort-Maskierung, Multi-Select und Commit-on-Select; deklarierte item-Optionen und aktuelle gebundene Werte bleiben verbunden
Andere wiederholte Instanzen behalten ihre bisherige UI und Werte; gespeichertes XDP-Neuladen und nachfolgende Ereignisse lösen erzeugte native UI-Property-Knoten weiter auf
Gespeicherte Text-Appearances
Wenn AutoFormAppearances aktiviert ist, beachten XFA-Multiline-Text-Appearances explizite LF-, CR- und CRLF-Umbrüche und platzieren jede Zeile separat
Für unterstützten Single-Byte-Text misst der Zeilenumbruch die effektive Standard-Schriftfamilie und -größe; ein Wort, das breiter als das Control ist, wird in gemessene passende Präfixe gespalten, wobei alle Textzeichen in der erzeugten Appearance bewahrt bleiben
Jede ausgegebene Zeile konsumiert ihre effektive left-, center- oder right-Ausrichtung und das bestehende native Clipping-Rechteck
Abdeckung
Die Schema-Erzeugung fügt nicht von sich aus fehlende Consumer für jede Widget-Choice hinzu; spezialisiertes image-, barcode- und default-widget-Verhalten, eigene Passwortzeichen, reichhaltigerer Widget-Text, Unicode-Einbettung und zusätzliche Value-Kind-Erzeugung bleiben aktive Ziele
Template-Default-Initialisierung für einen fehlenden impliziten Dataset-Wert und allgemeine Prototyp-Vererbung bleiben ebenfalls separate Arbeit
Referenz und verwandte APIs
UI-Grammatik und Defaults folgen der XFA-3.3-Spezifikation
Erzeugung fehlender nativer Properties, Natives Property DOM und Interaktive XFA-Runtime