XFA Rich Text property-overrides

Native flattening af exData-draws opløser font- og afsnitsattributter for den aktuelle dataset-occurrence, inklusive overrides oprettet af generelle JavaScript- eller 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- og afsnitsopløsning

Typeface, størrelse, vægt, postur, underline og font-fyldfarve initialiserer rich text run-stilen fra effektive instance-attributter og understøttede skemastandarder

Tekstmålings-callbacken modtager den effektive typeface, størrelse, bold- og italic-flag, så måling og udsendte run-styles bruger samme instance-værdier

Windows PDF-producenten opløser logiske Courier-, Helvetica- og Times-familier konsistent til Courier New, Arial og Times New Roman under måling og draw-output og bevarer den tilsigtede familie, når Windows ikke udstiller det logiske navn som installeret face

Afsnits hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow og lineHeight påvirker run-placering; lineHeight kan ikke reducere linjetrinnet under den højde, som dets tekst kræver

Genkendt inline CSS tilsidesætter nedarvede font- eller afsnitsværdier; en erklæring, der kun ændrer én afsnitsmargin, bevarer den anden nedarvede margin

Inline runs deler en fælles tekstbaseline på tværs af forskellige fontstørrelser, og tilstødende afsnitsafstand bruger maksimum af foregående spaceBelow og følgende spaceAbove; se Rich Text afsnitsgeometri

Inline indhold og persistens

Effektive style- og href-attributter på deklarerede XHTML property-noder deltager i rich text-behandling, og effektive scalar-tekst-overrides erstatter det tilsvarende bladindhold

At oprette en attribut-override beholder den nodes skabelon scalar-indhold i stedet for at slette dens tekst; en eksplicit tom scalar-værdi udelader blad-runet, mens omgivende indhold bevares

Legacy attribut-kun formularnoder fortsætter med at nedarve skabelontekst; en eksplicit tom CDATA-indholdsnode bevarer skelnen mellem en scalar-rydning og en udeladt body efter serialisering

Overrides persisterer i den native formularpakke, forbliver uafhængige på tværs af gentagne occurrences og overlever XDP-gemning og -genindlæsning; mislykkede events gendanner det eksakte tidligere native dokument

Dækning

Denne adfærd gælder rich text-ombrydningspipelinen og dens genkendte CSS-erklæringer; yderligere CSS-properties, komplet widget rich text-redigering og implicit oprettelse af fraværende property-noder fortsætter som separate mål

Font underline-aktivering bruger den aktuelle run-renderer; komplet dobbeltlinje og yderligere tekst-dekorationsgeometri forbliver separate rendering-mål

Relaterede API'er

Native XFA Property DOM, Schema Defaults, HPDFXFAResolveFormInstanceProperty og ApplyXFAAsAcroForm