Native XFA eksik özellik oluşturma
Birim: HPDFXFAEventScript, HPDFXFARuntime ve HPDFXFA üzerinden entegre
Event erişimi
JavaScript form node'ları getElement(className, occurrence=0) açığa çıkarır; eksik bir desteklenen özellik, schema default'larıyla oluşturulur ve tekrarlanan erişim aynı canlı property handle'ını döndürür
field.font veya draw.para gibi doğrudan property erişimi, desteklenen child yoksa occurrence zero oluşturur
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";
Occurrence argümanı, schema cardinality içinde negatif-olmayan bir integer olmalıdır; edge[3] istemek, önceki eksik edge occurrence'larını, her biri kendi schema default'larıyla oluşturur
Desteklenen oluşturma yolları
| Ebeveyn class | Desteklenen child'lar ve maksimum occurrence'lar |
|---|---|
| field | assist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui ve value: birer tane; items: iki |
| draw | assist, border, caption, desc, extras, font, keep, margin, para, traversal, ui ve value: birer tane |
| ui | extras ve picture: birer tane; UI Property Overrides içinde anlatılan bir adet karşılıklı-münhasır widget choice |
| passwordEdit, choiceList ve checkButton | border, extras ve margin: birer tane |
| font | extras ve fill: birer tane |
| para | hyphenation: bir tane |
| border | edge ve corner: dörder tane; extras, fill ve margin: birer tane |
| caption | extras, font, margin, para ve value: birer tane |
| margin | extras: bir tane |
| fill | color ve extras: birer tane; linear, pattern, radial, solid ve stipple: tek bir karşılıklı-münhasır child |
| textEdit | border, comb, extras ve margin: birer tane |
| edge ve corner | color ve extras: birer tane |
Listede-olmayan child class'lar getElement'ten null döndürür; geçersiz occurrence'lar ve çelişen fill choice child'ları event transaction'ını başarısız kılar
Metadata container'larının oluşturulması, yeni kaydedilen script'leri yürütmez; event, calculate ve validate davranışı mevcut runtime yürütme modelini izler
Native persistence ve identity
Oluşturma ve sonraki yazmalar, seçilen tekrar-occurrence'ın altına gerçek native form-packet node'ları yayımlar; template ve diğer occurrence'lar orijinal value'larını korur
Sonraki event, yalnızca-form property binding'lerini kayıtlı native form packet'ten yeniden kurar; böylece hem doğrudan erişim hem SOM resolution, oluşturulan hiyerarşiyi gözlemler
Tutulan script-object referansları, başarılı transaction'lar ve instance ekleme sonrasında native property'yi adreslemeye devam eder; instance'ı kaldırıldıktan sonra bir referans yazmak başarısız olur ve transaction'ı geri alır
Tekrarlanan bir prototype'ı klonlamak, yalnızca-form property yapısını da klonlar; yeni property attribute'ları için başka bir occurrence'ın override'ları yerine schema default'larını kullanır
Engine başarısızlıkları ve native mutation başarısızlıkları native baytları, property node'ları, dataset'leri, script state'i ve instance sırasını geri alır; oluşturma, node, operation, depth, byte ve value bütçelerini paylaşır
Etkin tüketiciler ve kayıtlı PDF output'u
Alan ve rich draw tüketicileri, gerçek layout ve flattening sırasında oluşturulan font, fill/color, paragraph ve border/edge özelliklerini okur; sonraki event'ler ve kayıtlı XDP reload'ları bu value'ları korur
THotPDF.AutoFormAppearances=True iken, XFA text field'ları etkin style uygulandıktan sonra native görünümünü üretir; desteklenen standart yazı tipi family'leri, punto boyutu, metin rengi, alignment ve solid border rengi ve genişliği dâhil
AutoFormAppearances açık bir document option olarak kalır; default False, reader appearance üretimine dayanmaya devam eder
Oluşturma ve formatting consumer kapsamı ayrıdır: ek value child class'ları ve widget schema'ları, genel schema class'ları, property kaldırma/yeniden-ebeveynleme, zenginleştirilmiş widget metni ve Unicode appearance gömme etkin implementation hedefleri olarak kalır
İlgili API'ler
Native XFA Property DOM, XFA Property Schema Defaults, TXFAEventAction ve TXFAEventBinding