Creazione nativa di proprietà XFA assenti

Unit: HPDFXFAEventScript, integrata attraverso HPDFXFARuntime e HPDFXFA

Accesso da eventi

I nodi form JavaScript espongono getElement(className, occurrence=0); una proprietà supportata assente viene creata con i default dello schema, e l'accesso ripetuto restituisce lo stesso handle proprietà live

L'accesso diretto alle proprietà, come field.font o draw.para, crea l'occorrenza zero quando il figlio supportato è assente

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

L'argomento occurrence deve essere un intero non negativo entro la cardinalità dello schema; richiedere edge[3] crea le occorrenze edge mancanti precedenti, ciascuna con i propri default dello schema

Percorsi di creazione supportati

Classe parentFigli supportati e occorrenze massime
fieldassist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate e value: uno ciascuno; items: due
drawassist, border, caption, desc, extras, font, keep, margin, para, traversal, ui e value: uno ciascuno
uiextras e picture: uno ciascuno; una scelta di widget mutuamente esclusiva come descritto in Override delle proprietà UI
passwordEdit, choiceList e checkButtonborder, extras e margin: uno ciascuno
fontextras e fill: uno ciascuno
parahyphenation: uno
borderedge e corner: quattro ciascuno; extras, fill e margin: uno ciascuno
captionextras, font, margin, para e value: uno ciascuno
marginextras: uno
fillcolor e extras: uno ciascuno; linear, pattern, radial, solid e stipple: un figlio mutuamente esclusivo
textEditborder, comb, extras e margin: uno ciascuno
edge e cornercolor e extras: uno ciascuno

Le classi figlio non elencate restituiscono null da getElement; occorrenze non valide e figli fill in scelta conflittuale fanno fallire la transazione dell'evento

La creazione di contenitori di metadati non esegue gli script appena memorizzati; il comportamento event, calculate e validate segue il modello di esecuzione runtime esistente

Persistenza e identità native

La creazione e le scritture successive pubblicano nodi form-packet nativi reali sotto l'occorrenza ripetuta selezionata; il template e le altre occorrenze conservano i loro valori originali

L'evento successivo ricostruisce i binding di proprietà solo-form dal packet form nativo salvato, così sia l'accesso diretto che la risoluzione SOM osservano la gerarchia creata

I riferimenti di script object conservati continuano a puntare alla proprietà nativa dopo transazioni riuscite e inserimento di istanze; scrivere un riferimento dopo che la sua istanza è stata rimossa fallisce e ripristina la transazione

Clonare un prototype ripetuto clona anche la sua struttura di proprietà solo-form, usando i default dello schema per i nuovi attributi di proprietà invece degli override di un'altra occorrenza

I fallimenti del motore e delle mutazioni native ripristinano byte nativi, nodi proprietà, dataset, stato degli script e ordine delle istanze; la creazione condivide i budget su nodi, operazioni, profondità, byte e valori

Consumatori effettivi e output PDF salvato

I consumatori di campi e draw rich leggono le proprietà create di font, fill/color, paragrafo e border/edge durante layout e appiattimento reali; gli eventi successivi e i ricaricamenti XDP salvati conservano questi valori

Con THotPDF.AutoFormAppearances=True, i campi text XFA generano il loro aspetto nativo dopo l'applicazione dello stile effettivo, incluse famiglie font standard supportate, dimensione in punti, colore del testo, allineamento e colore e larghezza del bordo solido

AutoFormAppearances resta un'opzione esplicita del documento; il suo default False continua a fare affidamento sulla generazione degli aspetti da parte del reader

La copertura dei consumatori di creazione e formattazione è separata: ulteriori classi figlio value e schemi widget, classi schema generali, rimozione/riparenting di proprietà, testo widget più ricco e incorporazione Unicode degli aspetti restano obiettivi di implementazione attivi

API correlate

DOM proprietà XFA nativo, Default di schema delle proprietà XFA, TXFAEventAction e TXFAEventBinding