XFA Rich Text Property Overrides

Native flattening van exData-draws lost font- en paragraaf-attributes op voor de huidige dataset-occurrence, inclusief overrides aangemaakt door algemene JavaScript- of FormCalc-events

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

Font- en paragraaf-resolutie

Typeface, grootte, weight, posture, underline en font-vulkleur initialiseren de rich text-run-stijl vanuit effectieve instance-attributes en ondersteunde schema-defaults

De tekstmeting-callback ontvangt de effectieve typeface, grootte, bold- en italic-vlaggen, dus meting en uitgeschreven run-stijlen gebruiken dezelfde instance-waarden

De Windows PDF-producer lost logische Courier-, Helvetica- en Times-families consistent op naar Courier New, Arial en Times New Roman tijdens meting en draw-uitvoer, met behoud van de beoogde family wanneer Windows de logische naam niet als installed face blootlegt

Paragraaf hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow en lineHeight raken run-plaatsing; lineHeight kan de regelstap niet onder de hoogte verlagen die diens tekst vraagt

Herkende inline CSS overschrijft geërfde font- of paragraaf-waarden; een declaratie die slechts één paragraafmarge wijzigt, behoudt de andere geërfde marge

Inline runs delen een gemeenschappelijke tekstbaseline over verschillende fontgroottes heen, en aangrenzende paragraafspacing gebruikt het maximum van de voorafgaande spaceBelow en volgende spaceAbove; zie Rich Text Paragraph Geometry

Inline content en persistentie

Effectieve style- en href-attributes op gedeclareerde XHTML-property-nodes doen mee aan rich text-verwerking, en effectieve scalar-tekst-overrides vervangen de bijbehorende bladcontent

Een attribute-override creëren behoudt de template-scalar-content van die node in plaats van diens tekst te wissen; een expliciet lege scalar-waarde laat de bladrun weg terwijl omringende content behouden blijft

Legacy attribute-only-formulier-nodes erven nog steeds template-tekst; een expliciet leeg CDATA-content-node behoudt na serialisatie het onderscheid tussen een scalar-wissing en een weggelaten body

Overrides persisteren in het native formulier-packet, blijven onafhankelijk over herhaalde occurrences heen en overleven XDP-opslag en -herladen; gefaalde events herstellen het exact eerdere native document

Dekking

Dit gedrag geldt voor de rich text-wrapping-pipeline en diens herkende CSS-declaraties; extra CSS-properties, volledige widget rich text-bewerking en impliciete creatie van afwezige property-nodes gaan verder als aparte doelen

Font-underline-activatie gebruikt de huidige run-renderer; complete double-line- en extra text-decoration-geometrie blijven aparte rendering-doelen

Related APIs

Native XFA Property DOM, Schema Defaults, HPDFXFAResolveFormInstanceProperty en ApplyXFAAsAcroForm