XFA Rich Text Property Overrides

Natywny flattening drawów exData rozpoznaje atrybuty fontu i akapitu dla bieżącego wystąpienia dataset, łącznie z nadpisaniami utworzonymi przez ogólne zdarzenia JavaScript albo FormCalc

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 and paragraph resolution

Typeface, size, weight, posture, underline i kolor wypełnienia fontu inicjalizują styl runa rich text z efektywnych atrybutów instancji i obsługiwanych wartości domyślnych schematu

Callback pomiaru tekstu otrzymuje efektywny typeface, size, flagi bold i italic, więc pomiar i emitowane style runów używają tych samych wartości instancji

Producer PDF Windows rozpoznaje logiczne rodziny Courier, Helvetica i Times na Courier New, Arial i Times New Roman konsekwentnie podczas pomiaru i wyjścia draw, zachowując zamierzoną rodzinę, gdy Windows nie odsłania logicznej nazwy jako zainstalowanego kroju

Akapitowe hAlign, marginLeft, marginRight, textIndent, spaceAbove, spaceBelow i lineHeight wpływają na umiejscowienie runów; lineHeight nie może zmniejszyć kroku linii poniżej wysokości wymaganej przez tekst

Rozpoznany inline CSS nadpisuje dziedziczone wartości fontu albo akapitu; deklaracja zmieniająca wyłącznie jeden margines akapitu zachowuje drugi dziedziczony margines

Inline runy dzielą wspólną linię bazową tekstu między różnymi rozmiarami fontów, a odstęp sąsiednich akapitów używa maksimum poprzedzającego spaceBelow i następującego spaceAbove; zobacz Rich Text Paragraph Geometry

Inline content and persistence

Efektywne atrybuty stylu i href na zadeklarowanych węzłach właściwości XHTML uczestniczą w przetwarzaniu rich text, a efektywne nadpisania tekstu skalarnego zastępują odpowiadającą zawartość liścia

Utworzenie nadpisania atrybutu zachowuje skalarną zawartość szablonu tego węzła zamiast wymazywać jej tekst; jawna pusta wartość skalarna pomija run liścia przy zachowaniu otaczającej zawartości

Legacy węzły formularza wyłącznie z atrybutami nadal dziedziczą tekst szablonu; jawny pusty węzeł zawartości CDATA zachowuje rozróżnienie między skalarnym wyczyszczeniem a pominiętym body po serializacji

Nadpisania utrwala się w natywnym pakiecie formularza, pozostają niezależne między powtarzalnymi wystąpieniami i przetrwają zapis i przeładowanie XDP; nieudane zdarzenia przywracają dokładnie poprzedni natywny dokument

Coverage

To zachowanie dotyczy pipeliny zawijania rich text i jej rozpoznanych deklaracji CSS; dodatkowe właściwości CSS, pełne edycje rich text widgetów i niejawne tworzenie brakujących węzłów właściwości pozostają odrębnymi celami

Aktywacja underline fontu używa bieżącego renderera runów; pełna geometria podwójnego podkreślenia i dodatkowych text-decoration pozostaje odrębnym celem renderowania

Related APIs

Native XFA Property DOM, Schema Defaults, HPDFXFAResolveFormInstanceProperty i ApplyXFAAsAcroForm