Native XFA Absent Property Creation

Unit: HPDFXFAEventScript, geïntegreerd via HPDFXFARuntime en HPDFXFA

Event-toegang

JavaScript formulier-nodes leggen getElement(className, occurrence=0) bloot; een afwezige ondersteunde property wordt met schema-defaults aangemaakt, en herhaalde toegang geeft hetzelfde live property-handle terug

Directe property-toegang, zoals field.font of draw.para, creëert occurrence nul wanneer het ondersteunde kind afwezig is

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";

Het occurrence-argument moet een niet-negatieve integer binnen schema-cardinaliteit zijn; edge[3] opvragen creëert de voorafgaande ontbrekende edge-occurrences, elk met diens eigen schema-defaults

Ondersteunde creatiepaden

OuderklasseOndersteunde kinderen en maximum occurrences
fieldassist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui en validate en value: één elk; items: twee
drawassist, border, caption, desc, extras, font, keep, margin, para, traversal, ui en value: één elk
uiextras en picture: één elk; één mutual exclusive widget-keuze zoals beschreven in UI Property Overrides
passwordEdit, choiceList en checkButtonborder, extras en margin: één elk
fontextras en fill: één elk
parahyphenation: één
borderedge en corner: vier elk; extras, fill en margin: één elk
captionextras, font, margin, para en value: één elk
marginextras: één
fillcolor en extras: één elk; linear, pattern, radial, solid en stipple: één mutual exclusive kind
textEditborder, comb, extras en margin: één elk
edge en cornercolor en extras: één elk

Niet-genoteerde kind-klassen geven null terug vanuit getElement; ongeldige occurrences en conflicterende fill-keuze-kinderen laten de event-transactie falen

Creëren van metadata-containers voert nieuw opgeslagen scripts niet uit; event-, calculate- en validate-gedrag volgt het bestaande runtime-executie-model

Native persistentie en identiteit

Creëren en daaropvolgende writes publiceren echte native formulier-packet-nodes onder de gekozen herhaalde occurrence; de template en andere occurrences behouden diens originele waarden

Het volgende event herbouwt form-only-property-bindingen vanuit het opgeslagen native formulier-packet, dus zowel directe toegang als SOM-resolutie observeren de gecreëerde hiërarchie

Vastgehouden script-object-referenties blijven het native property aanspreken na geslaagde transacties en instance-insertie; een referentie wegschrijven nadat diens instance is verwijderd faalt en herstelt de transactie

Een herhaald prototype klonen kloont ook diens form-only-property-structuur, met schema-defaults voor nieuwe property-attributes in plaats van de overrides van een andere occurrence

Engine-falen en native mutatiefalen herstellen native bytes, property-nodes, datasets, script-status en instance-volgorde; creatie deelt node-, operation-, diepte-, byte- en waardebudgetten

Effectieve consumers en opgeslagen PDF-uitvoer

Veld- en rich-draw-consumers lezen aangemaakte font-, fill/kleur-, paragraaf- en border/edge-properties tijdens echte layout en flattening; daaropvolgende events en opgeslagen XDP-reloads behouden deze waarden

Met THotPDF.AutoFormAppearances=True genereert een XFA-tekstveld diens native appearance nadat de effectieve stijl is toegepast, inclusief ondersteunde standaard fontfamilies, puntgrootte, tekstkleur, uitlijning en solid randkleur en -breedte

AutoFormAppearances blijft een expliciete documentoptie; diens default False blijft leunen op appearance-generatie door de reader

Creëren en formatteren van consumer-dekking zijn apart: extra value-kind-klassen en widget-schema's, algemene schema-klassen, property-verwijdering/her-oudering, rijker widget-tekst en Unicode-appearance-embedding blijven actieve implementatiedoelen

Related APIs

Native XFA Property DOM, XFA Property Schema Defaults, TXFAEventAction en TXFAEventBinding