Creación de propiedades ausentes XFA nativas

Unit: HPDFXFAEventScript, integrado a través de HPDFXFARuntime y HPDFXFA

Acceso desde eventos

Los nodos de formulario JavaScript exponen getElement(className, occurrence=0); una propiedad soportada ausente se crea con los valores por defecto del schema, y el acceso repetido devuelve el mismo handle de propiedad en vivo

El acceso directo a propiedades, como field.font o draw.para, crea la ocurrencia cero cuando el hijo soportado está ausente

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";

El argumento de ocurrencia debe ser un entero no negativo dentro de la cardinalidad del schema; pedir edge[3] crea las ocurrencias edge faltantes precedentes, cada una con sus propios valores por defecto del schema

Rutas de creación soportadas

Clase padreHijos soportados y ocurrencias máximas
fieldassist, bind, border, calculate, caption, desc, extras, font, format, keep, margin, para, traversal, ui y value: uno cada uno; items: dos
drawassist, border, caption, desc, extras, font, keep, margin, para, traversal, ui y value: uno cada uno
uiextras y picture: uno cada uno; una elección de widget mutuamente excluyente como se describe en UI Property Overrides
passwordEdit, choiceList y checkButtonborder, extras y margin: uno cada uno
fontextras y fill: uno cada uno
parahyphenation: uno
borderedge y corner: cuatro cada uno; extras, fill y margin: uno cada uno
captionextras, font, margin, para y value: uno cada uno
marginextras: uno
fillcolor y extras: uno cada uno; linear, pattern, radial, solid y stipple: un hijo mutuamente excluyente
textEditborder, comb, extras y margin: uno cada uno
edge y cornercolor y extras: uno cada uno

Las clases de hijos no listadas devuelven null desde getElement; las ocurrencias inválidas y los hijos de elección de fill en conflicto hacen fallar la transacción del evento

La creación de contenedores de metadatos no ejecuta los scripts recién almacenados; el comportamiento de event, calculate y validate sigue el modelo de ejecución del runtime existente

Persistencia e identidad nativas

La creación y las escrituras posteriores publican nodos reales del paquete nativo de formularios bajo la ocurrencia repetida seleccionada; la plantilla y las demás ocurrencias conservan sus valores originales

El siguiente evento reconstruye los bindings de propiedades exclusivas del formulario desde el paquete nativo guardado, de modo que tanto el acceso directo como la resolución SOM observan la jerarquía creada

Las referencias de script objects retenidas siguen apuntando a la propiedad nativa tras transacciones correctas e inserciones de instancias; escribir en una referencia después de eliminar su instancia falla y restaura la transacción

Clonar un prototipo repetido también clona su estructura de propiedades exclusivas del formulario, usando los valores por defecto del schema para los atributos de propiedades nuevos en lugar de los overrides de otra ocurrencia

Los fallos del engine y los fallos de mutación nativa restauran los bytes nativos, los nodos de propiedades, los datasets, el estado de scripts y el orden de instancias; la creación comparte los presupuestos de nodos, operaciones, profundidad, bytes y valores

Consumidores efectivos y salida PDF guardada

Los consumidores de campos y de draws rich leen las propiedades creadas de font, fill/color, párrafo y border/edge durante el layout y el flattening reales; los eventos posteriores y las recargas del XDP guardado preservan estos valores

Con THotPDF.AutoFormAppearances=True, los campos de texto XFA generan su apariencia nativa después de aplicar el estilo efectivo, incluidas las familias de fuentes estándar soportadas, el tamaño en puntos, el color de texto, la alineación y el color y ancho de borde sólido

AutoFormAppearances sigue siendo una opción explícita del documento; su valor por defecto False sigue confiando en la generación de apariencias del lector

La creación y la cobertura de consumidores de formato son independientes: las clases de hijos de value adicionales y schemas de widgets, las clases de schema generales, el borrado/reparentado de propiedades, el texto de widgets más rico y el embebido de apariencias Unicode siguen siendo objetivos de implementación activos

APIs relacionadas

Native XFA Property DOM, XFA Property Schema Defaults, TXFAEventAction y TXFAEventBinding