Erzeugung fehlender nativer XFA-Properties

Unit: HPDFXFAEventScript, integriert über HPDFXFARuntime und HPDFXFA

Ereigniszugriff

JavaScript-Formularknoten legen getElement(className, occurrence=0) offen; eine fehlende unterstützte Property wird mit Schema-Defaults erzeugt, und wiederholter Zugriff liefert dasselbe Live-Property-Handle

Direkter Property-Zugriff, etwa field.font oder draw.para, erzeugt Vorkommen null, wenn das unterstützte Kind fehlt

const label = xfa.form.resolveNode("main.row[1].label");
const font = label.getElement("font", 0);
font.typeface = "Helvetica";
font.size = "18pt";
font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.border.getElement("edge", 3).thickness = "0.25pt";

Das occurrence-Argument muss ein nichtnegativer Integer innerhalb der Schema-Kardinalität sein; die Anforderung von edge[3] erzeugt die fehlenden vorherigen edge-Vorkommen, jeweils mit eigenen Schema-Defaults

Unterstützte Erzeugungspfade

ElternklasseUnterstützte Kinder und maximale Vorkommen
fieldassist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate und value: je eines; items: zwei
drawassist, border, caption, desc, extras, font, keep, margin, para, traversal, ui und value: je eines
uiextras und picture: je eines; eine wechselseitig exklusive Widget-Choice wie in UI-Property-Override beschrieben
passwordEdit, choiceList und checkButtonborder, extras und margin: je eines
fontextras und fill: je eines
parahyphenation: eines
borderedge und corner: je vier; extras, fill und margin: je eines
captionextras, font, margin, para und value: je eines
marginextras: eines
fillcolor und extras: je eines; linear, pattern, radial, solid und stipple: ein wechselseitig exklusives Kind
textEditborder, comb, extras und margin: je eines
edge und cornercolor und extras: je eines

Nicht gelistete Kindklassen liefern null aus getElement; ungültige Vorkommen und konfligierende fill-Choice-Kinder lassen die Ereignistransaktion fehlschlagen

Die Erzeugung von Metadaten-Containern führt neu gespeicherte Skripte nicht aus; das event-, calculate- und validate-Verhalten folgt dem bestehenden Runtime-Ausführungsmodell

Native Persistenz und Identität

Erzeugung und nachfolgende Schreibzugriffe veröffentlichen echte native Form-Packet-Knoten unter dem ausgewählten wiederholten Vorkommen; das Template und andere Vorkommen behalten ihre Originalwerte

Das nächste Ereignis baut die formularseitigen Property-Bindings aus dem gespeicherten nativen Form-Packet neu auf, sodass direkter Zugriff und SOM-Auflösung die erzeugte Hierarchie sehen

Erhaltene Skriptobjekt-Referenzen adressieren die native Property auch nach erfolgreichen Transaktionen und Instanzeinfügung weiter; ein Schreibzugriff auf eine Referenz nach dem Entfernen ihrer Instanz schlägt fehl und stellt die Transaktion wieder her

Das Klonen eines wiederholten Prototyps klont auch seine formularseitige Property-Struktur und nutzt Schema-Defaults für neue Property-Attribute statt der Override eines anderen Vorkommens

Engine-Fehler und native Mutationsfehler stellen native Bytes, Property-Knoten, datasets, Skriptzustand und Instanzreihenfolge wieder her; die Erzeugung teilt Knoten-, Operations-, Tiefe-, Byte- und Wertbudgets

Effektive Consumer und gespeicherter PDF-Output

Feld- und Rich-Draw-Consumer lesen erzeugte font-, fill/color-, absatz- und border/edge-Properties während tatsächlicher Layout- und Flatten-Vorgänge; nachfolgende Ereignisse und gespeicherte XDP-Neuladungen bewahren diese Werte

Mit THotPDF.AutoFormAppearances=True erzeugen XFA-Textfelder ihre native Appearance, nachdem der effektive Style angewendet wurde, einschließlich unterstützter Standard-Schriftfamilien, Punktgröße, Textfarbe, Ausrichtung sowie einfarbiger Rahmenfarbe und -breite

AutoFormAppearances bleibt eine explizite Dokumentoption; ihr Default False verlässt sich weiterhin auf die Appearance-Erzeugung durch den Reader

Erzeugungs- und Formatierungs-Consumer-Abdeckung sind getrennt: zusätzliche value-Kindklassen und Widget-Schemas, allgemeine Schema-Klassen, Property-Entfernung/Reparenting, reichhaltigerer Widget-Text und Unicode-Appearance-Einbettung bleiben aktive Implementierungsziele

Verwandte APIs

Natives XFA Property DOM, XFA-Property-Schema-Defaults, TXFAEventAction und TXFAEventBinding