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řída | Podporovaní potomci a maximální počet výskytů |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate a value: po jednom; items: dva |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui a value: po jednom |
| ui | extras a picture: po jednom; jedna vzájemně se vylučující volba widgetu, jak popisuje UI Property Overrides |
| passwordEdit, choiceList a checkButton | border, extras a margin: po jednom |
| font | extras a fill: po jednom |
| para | hyphenation: jedna |
| border | edge a corner: po čtyřech; extras, fill a margin: po jednom |
| caption | extras, font, margin, para a value: po jednom |
| margin | extras: jedna |
| fill | color a extras: po jednom; linear, pattern, radial, solid a stipple: jeden vzájemně se vylučující potomek |
| textEdit | border, comb, extras a margin: po jednom |
| edge a corner | color 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