HPDFXFABuildChoiceFieldAppearance

Unit: 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 um campo choice nativo de combo ou list sem alterar documento nem stream de saída do chamador, usando o mesmo consumer de opções, seleção, scrolling e aparência da criação automática de XFA headless

Kind é combo ou list; Value e Items contêm texto UTF-8, Width e Height são pontos físicos do PDF, e Style contém os metadados emitidos pelo callback de layout do XFA

Os arrays exatos de export e display e a seleção raw em Style têm precedência sobre os arguments de compatibilidade Items e Value, preservando o whitespace autorado e rótulos de display separados

O bundle retornado contém V, Opt, I quando há seleção, TI para lists, Ff e Q, mais AP e DA quando solicitados; ele exclui identidade do campo, identidade da página, parent e retângulo

Listas multi-select armazenam um array real de valores PDF e índices selecionados na ordem das opções; combos editáveis retêm texto livre sem inventar um índice de opção

TrueTypeFont fornece o programa real de fonte para as aparências geradas; uma list rola para mostrar as opções selecionadas usando métricas reais da fonte e pinta as linhas selecionadas com seus rótulos de display

GenerateAppearance tem default True; False prepara apenas metadados, não exige programa de fonte, não cria AP nem DA e não executa trabalho de glyphs; uma list somente de metadados começa no seu primeiro índice selecionado porque as métricas do viewer determinam seu viewport eventual

FirstObjectNumber precisa ser positivo e deixar espaço para todos os números de objetos gerados consecutivos; o chamador reserva essa faixa, adota os objetos e registra Fonts no seu AcroForm DR antes de anexar Properties a um widget real

O bundle é dono de todos os objetos até serem desanexados, e os limites de entrada, objetos, fontes, glyphs, bytes serializados e cancelamento em Options se aplicam durante toda a preparação

Para o consumer Windows do THotPDF, veja campos choice legados do XFA