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 parent | Figli supportati e occorrenze massime |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate e value: uno ciascuno; items: due |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui e value: uno ciascuno |
| ui | extras e picture: uno ciascuno; una scelta di widget mutuamente esclusiva come descritto in Override delle proprietà UI |
| passwordEdit, choiceList e checkButton | border, extras e margin: uno ciascuno |
| font | extras e fill: uno ciascuno |
| para | hyphenation: uno |
| border | edge e corner: quattro ciascuno; extras, fill e margin: uno ciascuno |
| caption | extras, font, margin, para e value: uno ciascuno |
| margin | extras: uno |
| fill | color e extras: uno ciascuno; linear, pattern, radial, solid e stipple: un figlio mutuamente esclusivo |
| textEdit | border, comb, extras e margin: uno ciascuno |
| edge e corner | color 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