Override delle proprietà rich text XFA
La flattening nativa dei draw exData risolve gli attributi font e paragrafo per l'occorrenza dataset corrente, inclusi gli override creati da eventi JavaScript o FormCalc generali
const label = xfa.resolveNode("main.row[1].label");
label.font.typeface = "Helvetica";
label.font.size = "18pt";
label.font.weight = "bold";
label.font.posture = "italic";
label.font.underline = "1";
label.font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.para.spaceAbove = "3pt";
label.para.lineHeight = "30pt";
const span = label.value.exData.body.p.span;
span.setAttribute("color:#FFFF00", "style");
span.value = "Updated text";
Risoluzione font e paragrafo
Typeface, size, weight, posture, underline e colore di riempimento del font inizializzano lo stile dei run rich text dagli attributi effettivi dell'istanza e dai default di schema supportati
La callback di misurazione del testo riceve typeface, size e flag bold e italic effettivi, così misurazione e stili dei run emessi usano gli stessi valori dell'istanza
Il producer PDF Windows risolve le family logiche Courier, Helvetica e Times in Courier New, Arial e Times New Roman in modo coerente durante misurazione e output di draw, preservando la family intesa quando Windows non espone il nome logico come face installata
hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow e lineHeight del paragrafo influenzano il posizionamento dei run; lineHeight non può ridurre il passo di riga sotto l'altezza richiesta dal suo testo
Il CSS inline riconosciuto sovrascrive i valori ereditati di font o paragrafo; una dichiarazione che cambia un solo margine del paragrafo conserva l'altro margine ereditato
I run inline condividono una baseline testuale comune attraverso dimensioni font diverse, e la spaziatura tra paragrafi adiacenti usa il massimo tra la spaceBelow del precedente e la spaceAbove del successivo; vedi Geometria dei paragrafi rich text
Contenuto inline e persistenza
Gli attributi effettivi style e href sui nodi proprietà XHTML dichiarati partecipano all'elaborazione del rich text, e gli override testuali scalari effettivi sostituiscono il contenuto foglia corrispondente
Creare un override per attributo conserva il contenuto scalare di template del nodo invece di cancellarne il testo; un valore scalare esplicitamente vuoto omette il run foglia preservando il contenuto circostante
I nodi modulo legacy solo-attributo continuano a ereditare il testo di template; un nodo contenuto CDATA esplicitamente vuoto preserva la distinzione tra azzeramento scalare e corpo omesso dopo la serializzazione
Gli override persistono nel pacchetto modulo nativo, restano indipendenti attraverso occorrenze ripetute e sopravvivono a salvataggio e ricaricamento XDP; gli eventi falliti ripristinano l'esatto documento nativo precedente
Copertura
Questo comportamento si applica alla pipeline di wrapping del rich text e alle sue dichiarazioni CSS riconosciute; proprietà CSS aggiuntive, editing completo del rich text dei widget e creazione implicita dei nodi proprietà assenti restano obiettivi separati
L'attivazione dell'underline dei font usa il run renderer corrente; la doppia linea completa e la geometria text-decoration aggiuntiva restano obiettivi di rendering separati
API correlate
Property DOM XFA nativo, Default di schema, HPDFXFAResolveFormInstanceProperty e ApplyXFAAsAcroForm