Property-overrides för XFA rich text
Nativ tillplattning av exData-dokument löser typsnitts- och styckeattribut för den aktuella datasetförekomsten, inklusive overrides skapade av allmänna JavaScript- eller FormCalc-händelser
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";
Upplösning av typsnitt och stycke
Typeface, size, weight, posture, underline och typsnittets fyllningsfärg initierar run-stilen utifrån effektiva instansattribut och schemastandardvärden som stöds
Callbacken för textmätning tar emot effektiv typeface, storlek samt flaggorna bold och italic, så att mätning och genererade run-stilar använder samma instansvärden
Windows-PDF-producenten löser de logiska familjerna Courier, Helvetica och Times konsekvent till Courier New, Arial och Times New Roman under mätning och ritatekning, vilket behåller den avsedda familjen när Windows inte exponerar det logiska namnet som ett installerat typsnitt
Styckets hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow och lineHeight påverkar run-placeringen; lineHeight kan inte minska radsteget under den höjd som texten kräver
Erkända inline-CSS-overrides ersätter ärvda typsnitts- eller styckevärden; en deklaration som bara ändrar en styckemarginal bevarar den ärvda marginalen
Inline-runs delar en gemensam textbaslinje över olika teckenstorlekar, och avståndet mellan angränsande stycken använder maximum av föregående spaceBelow och följande spaceAbove; se Styckegeometri för rich text
Inline-innehåll och persistens
Effektiva style- och href-attribut på deklarerade XHTML-egenskapsnoder deltar i rich-text-bearbetningen, och effektiva skalära textoverrides ersätter motsvarande lövinnehåll
Att skapa en attributoverride behåller nodens mallskalärinnehåll i stället för att radera dess text; ett explicit tomt skalärt värde utelämnar lövrun:en och bevarar omgivande innehåll
Äldre formulärnoder med enbart attribut ärver fortsatt malltext; en explicit tom CDATA-innehållsnod bevarar skillnaden mellan en skalär rensning och en utelämnad body efter serialisering
Overriderna sparas i den nativa formulärpaktenen, förblir oberoende mellan upprepade förekomster och överlever XDP-sparning och omladdning; misslyckade händelser återställer exakt det tidigare nativa dokumentet
Täckning
Detta beteende gäller wrapping-pipelinen för rich text och dess erkända CSS-deklarationer; ytterligare CSS-egenskaper, fullständig redigering av widgetrich text samt implicit skapande av saknade egenskapsnoder fortsätter som separata mål
Aktivering av typsnittsunderline använder den aktuella run-renderern; fullständig dubbel linje och ytterligare geometri för text-dekorationsgeometri återstår som separata renderingsmål
Relaterade API:er
Property-DOM i native XFA, Schemastandardvärden, HPDFXFAResolveFormInstanceProperty och ApplyXFAAsAcroForm