Native XFA Absent Property Creation
Unit: HPDFXFAEventScript, zintegrowany przez HPDFXFARuntime i HPDFXFA
Event access
Węzły formularza JavaScript odsłaniają getElement(className, occurrence=0); nieobecna obsługiwana właściwość jest tworzona z defaultami schematu, a powtórny dostęp zwraca ten sam żywy handle właściwości
Bezpośredni dostęp do właściwości, taki jak field.font albo draw.para, tworzy wystąpienie zero, gdy obsługiwany potomek jest nieobecny
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 occurrence musi być nieujemną liczbą całkowitą w krotności schematu; żądanie edge[3] tworzy poprzedzające brakujące wystąpienia edge, każde z własnymi defaultami schematu
Supported creation paths
| Klasa rodzica | Obsługiwani potomkowie i maksymalne wystąpienia |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui, validate i value: po jednym; items: dwa |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui i value: po jednym |
| ui | extras i picture: po jednym; jeden wzajemnie wykluczający wybór widgetu jak w UI Property Overrides |
| passwordEdit, choiceList i checkButton | border, extras i margin: po jednym |
| font | extras i fill: po jednym |
| para | hyphenation: jeden |
| border | edge i corner: po cztery; extras, fill i margin: po jednym |
| caption | extras, font, margin, para i value: po jednym |
| margin | extras: jeden |
| fill | color i extras: po jednym; linear, pattern, radial, solid i stipple: jeden wzajemnie wykluczający potomek |
| textEdit | border, comb, extras i margin: po jednym |
| edge i corner | color i extras: po jednym |
Niewymienione klasy potomków zwracają null z getElement; niepoprawne wystąpienia i sprzeczne potomkowie wyboru fill zawodzą transakcję zdarzenia
Tworzenie kontenerów metadanych nie wykonuje nowo przechowywanych skryptów; zachowanie event, calculate i validate podąża za istniejącym modelem wykonania runtime
Native persistence and identity
Tworzenie i kolejne zapisy publikują rzeczywiste natywne węzły pakietu formularza pod wybranym powtarzalnym wystąpieniem; szablon i inne wystąpienia zachowują oryginalne wartości
Następne zdarzenie przebudowuje powiązania właściwości wyłącznie formularza z zapisanego natywnego pakietu formularza, więc i bezpośredni dostęp, i rozpoznawanie SOM obserwują utworzoną hierarchię
Zachowane referencje obiektów skryptowych nadal adresują natywną właściwość po udanych transakcjach i wstawieniu instancji; zapis przez referencję po usunięciu jej instancji zawodzi i przywraca transakcję
Klonowanie powtarzalnego prototypu klonuje też jego strukturę właściwości wyłącznie formularza, używając defaultów schematu dla nowych atrybutów właściwości, a nie nadpisań innego wystąpienia
Awarie silnika i natywne awarie mutacji przywracają bajty natywne, węzły właściwości, datasets, stan skryptów i kolejność instancji; tworzenie dzieli budżety węzłów, operacji, głębokości, bajtów i wartości
Effective consumers and saved PDF output
Konsumenci pól i rich drawów czytają utworzone właściwości font, fill/kolor, akapitu i border/edge podczas rzeczywistego layoutu i flatteningu; kolejne zdarzenia i przeładowania zapisanego XDP zachowują te wartości
Z THotPDF.AutoFormAppearances=True pola tekstowe XFA generują swój natywny wygląd po zastosowaniu efektywnego stylu, łącznie z obsługiwanymi standardowymi rodzinami fontów, rozmiarem punktu, kolorem tekstu, wyrównaniem i pełnym kolorem oraz szerokością obramowania
AutoFormAppearances pozostaje jawną opcją dokumentu; jego default False nadal polega na generowaniu wyglądów przez czytnik
Pokrycie tworzenia i konsumenckie pokrycie formatowania są odrębne: dodatkowe klasy potomków value i schematy widgetów, ogólne klasy schematu, usuwanie/przypinanie właściwości, bogatszy tekst widgetów i osadzanie Unicode wyglądów pozostają aktywnymi celami implementacji
Related APIs
Native XFA Property DOM, XFA Property Schema Defaults, TXFAEventAction i TXFAEventBinding