Native XFA Absent Property Creation

Unit: HPDFXFAEventScript, integrovaná přes HPDFXFARuntime a HPDFXFA

Přístup v události

JavaScriptové form uzly vystavují getElement(className, occurrence=0); chybějící podporovaná vlastnost se vytvoří se schema defaulty a opakovaný přístup vrátí tentýž živý handle vlastnosti

Přímý přístup k vlastnosti, jako field.font či draw.para, vytvoří výskyt nula, když podporovaný potomek chybí

const label = xfa.form.resolveNode("main.row[1].label");
const font = label.getElement("font", 0);
font.typeface = "Helvetica";
font.size = "18pt";
font.fill.color.value = "0,128,255";
label.para.hAlign = "right";
label.border.getElement("edge", 3).thickness = "0.25pt";

Argument výskytu musí být nezáporné celé číslo v rámci kardinality schema; žádost o edge[3] vytvoří předchozí chybějící výskyty edge, každý se svými schema defaulty

Podporované cesty tvorby

Rodičovská třídaPodporovaní potomci a maximální počet výskytů
fieldassist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate a value: po jednom; items: dva
drawassist, border, caption, desc, extras, font, keep, margin, para, traversal, ui a value: po jednom
uiextras a picture: po jednom; jedna vzájemně se vylučující volba widgetu, jak popisuje UI Property Overrides
passwordEdit, choiceList a checkButtonborder, extras a margin: po jednom
fontextras a fill: po jednom
parahyphenation: jedna
borderedge a corner: po čtyřech; extras, fill a margin: po jednom
captionextras, font, margin, para a value: po jednom
marginextras: jedna
fillcolor a extras: po jednom; linear, pattern, radial, solid a stipple: jeden vzájemně se vylučující potomek
textEditborder, comb, extras a margin: po jednom
edge a cornercolor a extras: po jednom

Nevypsané potomní třídy vrátí z getElement null; neplatné výskyty i rozporní potomci volby fill zhatí transakci události

Tvorba metadatových kontejnerů nespustí nově uložené skripty; chování event, calculate a validate řídí stávající runtime prováděcí model

Nativní perzistence a identita

Tvorba i následné zápisy publikují skutečné nativní uzly form packetu pod vybraným opakovaným výskytem; šablona i ostatní výskyty si uchovávají své původní hodnoty

Další událost znovu postaví bindingy jen-form vlastností z uloženého nativního form packetu, takže přímý přístup i SOM rozřešení uvidí vytvořenou hierarchii

Držené reference skriptových objektů dál adresují nativní vlastnost po úspěšných transakcích i vložení instance; zápis reference poté, co se její instance odstraní, selže a obnoví transakci

Klonování opakovaného prototypu naklonuje i jeho strukturu jen-form vlastností, se schema defaulty pro nové atributy vlastností, nikoli override jiného výskytu

Chyby engine i nativní mutace obnoví nativní bajty, property uzly, datasety, skriptový stav i pořadí instancí; tvorba sdílí rozpočty uzlů, operací, hloubky, bajtů i hodnot

Efektivní konzumenti a ukládaný PDF výstup

Konzumenté polí i rich draw čtou vytvořené vlastnosti fontu, fill/barvy, odstavce i border/edge během skutečného layoutu i zploštění; následné události i reloady uloženého XDP ty hodnoty zachovají

S THotPDF.AutoFormAppearances=True generují XFA textová pole svou nativní appearance po aplikaci efektivního stylu, tedy i s podporovanými standardními font rodinami, velikostí v bodech, barvou textu, zarovnáním i barvou a šířkou solid ohraničení

AutoFormAppearances zůstává explicitní dokumentovou volbou; její default False dál spoléhá na generování appearance čtečkou

Tvorba a pokrytí formátujícími konzumenty jsou oddělené: další potomní třídy hodnot i widget schema, obecné schema třídy, odebírání/přesouvání vlastností, bohatší text widgetů i vkládání Unicode appearance zůstávají aktivními implementačními cíli

Související API

Nativní XFA Property DOM, Defaulty XFA property schema, TXFAEventAction a TXFAEventBinding