HPDFXFABuildChoiceFieldAppearance

Unidad: HPDFXFAHeadless

function HPDFXFABuildChoiceFieldAppearance(const Kind, Value, Style: AnsiString;
  const Items: TXFAFieldOptions; Width, Height: Double;
  const TrueTypeFont: SysUtils.TBytes; FirstObjectNumber: Integer;
  const Options: TXFAHeadlessPDFOptions;
  GenerateAppearance: Boolean = True): THPDFXFAChoiceAppearance;

Prepara un campo choice nativo de combo o lista sin cambiar un documento ni un stream de salida del llamador, usando el mismo consumidor de opciones, selección, scrolling y apariencias que la creación automática headless de XFA

Kind es combo o list; Value e Items contienen texto UTF-8, Width y Height son puntos PDF físicos, y Style contiene los metadatos emitidos por el callback de layout XFA

Los arrays exactos de export y display y la selección cruda en Style tienen precedencia sobre los argumentos de compatibilidad Items y Value, preservando el whitespace escrito y las display labels separadas

El bundle devuelto contiene V, Opt, I cuando hay selección, TI para listas, Ff y Q, más AP y DA cuando se solicitan; excluye identidad del campo, identidad de página, parent y rectángulo

Las listas multiselección guardan un array real de valores PDF e índices seleccionados en orden de opciones; los combos editables retienen texto libre sin inventar un índice de opción

TrueTypeFont suministra el programa de fuente real para las apariencias generadas; una lista hace scroll para mostrar las opciones seleccionadas usando métricas reales de fuente y pinta las filas seleccionadas con sus display labels

GenerateAppearance tiene True por defecto; False prepara solo metadatos, no exige programa de fuente, no crea AP ni DA y no hace trabajo de glifos; una lista de solo metadatos arranca en su primer índice seleccionado porque las métricas del viewer determinan su viewport eventual

FirstObjectNumber debe ser positivo y dejar espacio para todos los números de objeto consecutivos generados; el llamador reserva ese rango, adopta los objetos y registra Fonts en su AcroForm DR antes de adjuntar Properties a un widget real

El bundle es propietario de todos los objetos hasta que se separen, y los límites de entrada, objetos, fuentes, glifos, bytes serializados y cancelación en Options aplican durante toda la preparación

Para el consumidor THotPDF de Windows, vea los campos choice XFA heredados