Nativt skapande av frånvarande XFA-egenskaper
Enhet: HPDFXFAEventScript, integrerad via HPDFXFARuntime och HPDFXFA
Händelseåtkomst
JavaScript-formulärnoder exponerar getElement(className, occurrence=0); en frånvarande stödd egenskap skapas med schemastandardvärden, och upprepad åtkomst returnerar samma levande egenskapshandtag
Direkt egenskapsåtkomst, som field.font eller draw.para, skapar förekomst noll när det stödda barnet saknas
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";
Förekomstargumentet måste vara ett icke-negativt heltal inom schemats kardinalitet; att begära edge[3] skapar de föregående saknade edge-förekomsterna, var och en med egna schemastandardvärden
Stödda skapandevägar
| Förälderklass | Stödda barn och högsta antal förekomster |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate och value: en vardera; items: två |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui och value: en vardera |
| ui | extras och picture: en vardera; ett ömsesidigt uteslutande widgetval enligt UI Property Overrides |
| passwordEdit, choiceList och checkButton | border, extras och margin: en vardera |
| font | extras och fill: en vardera |
| para | hyphenation: en |
| border | edge och corner: fyra vardera; extras, fill och margin: en vardera |
| caption | extras, font, margin, para och value: en vardera |
| margin | extras: en |
| fill | color och extras: en vardera; linear, pattern, radial, solid och stipple: ett ömsesidigt uteslutande barn |
| textEdit | border, comb, extras och margin: en vardera |
| edge och corner | color och extras: en vardera |
Icke listade barnklasser returnerar null från getElement; ogiltiga förekomster och motstridiga val av fill-barn misslyckar händelsetransaktionen
Skapande av metadatacontainers kör inte nyligen lagrade skript; beteendet för event, calculate och validate följer den befintliga körningsmodellen i runtimen
Nativ persistens och identitet
Skapande och efterföljande skrivningar publicerar faktiska noder i formulärpaketet under den valda upprepade förekomsten; mallen och övriga förekomster behåller sina ursprungliga värden
Nästa händelse bygger om formulärexklusiva egenskapsbindningar från det sparade nativa formulärpaketet, så både direkt åtkomst och SOM-upplösning ser den skapade hierarkin
Kvarhållna skriptobjektsreferenser fortsätter att adressera den nativa egenskapen efter lyckade transaktioner och instansinsättning; att skriva via en referens efter att dess instans tagits bort misslyckas och återställer transaktionen
Kloning av en upprepad prototyp klonar också dess formulärexklusiva egenskapsstruktur och använder schemastandardvärden för nya egenskapsattribut i stället för en annan förekomsts överskrivningar
Motorfel och nativa mutationsfel återställer nativa bytes, egenskapsnoder, datamängder, skripttillstånd och instansordning; skapandet delar budgetar för noder, operationer, djup, bytes och värden
Effektiva konsumenter och sparad PDF-utmatning
Fält- och rich draw-konsumenter läser skapade egenskaper för font, fill/color, stycke samt border/edge under faktisk layout och utplattning; efterföljande händelser och omlästningar av sparad XDP bevarar dessa värden
Med THotPDF.AutoFormAppearances=True genererar XFA-textfält sin nativa appearance efter att den effektiva stilen tillämpats, inklusive stödda standardteckensnittsfamiljer, punktstorlek, textfärg, justering samt solid kantfärg och -bredd
AutoFormAppearances förblir ett explicit dokumentalternativ; dess standardvärde False fortsätter att förlita sig på läsarens appearance-generering
Skapandets och formateringskonsumenternas täckning är separata: ytterligare värdebarnklasser och widget-, allmänna schemaklasser, egenskapsborttagning/omflyttning, rikare widgettext och Unicode-inbäddning av appearance är aktiva implementeringsmål
Relaterade API:er
Nativ XFA Property DOM, Standardvärden i XFA egenskapsschema, TXFAEventAction och TXFAEventBinding