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
| Ouderklasse | Ondersteunde kinderen en maximum occurrences |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui en validate en value: één elk; items: twee |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui en value: één elk |
| ui | extras en picture: één elk; één mutual exclusive widget-keuze zoals beschreven in UI Property Overrides |
| passwordEdit, choiceList en checkButton | border, extras en margin: één elk |
| font | extras en fill: één elk |
| para | hyphenation: één |
| border | edge en corner: vier elk; extras, fill en margin: één elk |
| caption | extras, font, margin, para en value: één elk |
| margin | extras: één |
| fill | color en extras: één elk; linear, pattern, radial, solid en stipple: één mutual exclusive kind |
| textEdit | border, comb, extras en margin: één elk |
| edge en corner | color 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