Captions e estados automáticos de push buttons XFA
HPDFXFAWriteHeadlessPDF cria widgets nativos reais de push buttons a partir do layout XFA, incluindo captions efetivas escalares ou XHTML, programas fornecidos de tipos de letra, visibilidade, flags readonly e metadados interativos de destaques
Cada widget tem FT Btn, a flag Ff de pushbuttons, uma aparência normal explícita e uma caption Unicode MK.CA derivada do conteúdo realmente renderizado dele; um botão não se torna um campo de entrada de texto e nenhum campo PDF de placeholders é exigido
Uma caption normal visível também mantém uma entrada DA cujo alias de tipos de letra resolve através de AcroForm.DR para um tipo de letra Type0 real de captions normais; nenhum tipo de letra vazio de placeholders é incorporado por compatibilidade
Conteúdo e layout de captions
Tamanho, peso, postura, typeface e cor de tipos de letra de captions escalares, mais estilos inline XHTML e linhas de base mistas, usam o descodificador nativo existente de rich text e o construtor de aparências
CaptionFontFamilies fornece programas reais de regular, bold, italic e bold-italic e famílias nomeadas; faces nunca são sintetizadas e programas de tipos de letra não são descobertos nem descarregados
Texto apenas de whitespace entre elementos inline XHTML é retido, pelo que palavras adjacentes com estilos diferentes preservam os separadores escritos delas
Conteúdo de captions em falta mantém o fallback existente de nomes de campos, enquanto conteúdo explicitamente vazio permanece em branco e captions escalares não vazias preservam espaços escritos iniciais e finais; captions hidden, inactive e invisible não pintam texto nem serializam caption visível regenerável nenhuma
Margens de campos e de captions, posicionamento de captions, reserva e alinhamento de parágrafos determinam a região real de captions; reserva em falta, zero e o -1 default de schemas usam extensão natural sem wrap automático, reserva positiva permite wrap, e posicionamento inline ignora a reserva
Bounds fixos de campos cortam captions demasiado grandes; quebras explícitas de parágrafos permanecem ativas e overlays efetivos por instância mantêm irmãos de templates inalterados
Destaques e aparências de estados
| Destaque XFA | Resultado nativo PDF |
|---|---|
| inverted ou ausente | H I com AP.N normal; o leitor aplica o tratamento de ativação invertida |
| none | H N com AP.N normal |
| outline | H O com AP.N normal; o leitor aplica o tratamento de ativação de molduras |
| push | H P com Forms reais de AP.N normal, AP.D down e AP.R rollover; a caption down é deslocada para representar o estado premido |
No modo push, itens escalares chamados down e rollover fornecem as captions correspondentes deles e metadados MK.AC ou MK.RC; um item de estado ausente usa a caption normal, enquanto um item explicitamente vazio dá um estado em branco
Itens alternantes não afetam outros modos de destaques, e cada estado gerado mantém a aparência real própria dele e o grafo dele de tipos de letra fornecidos
Transações e limites
Alterações reais de eventos por instância repetida podem ser guardadas como XDP, recarregadas e consumidas pelo criador; leitura imediata, overlay e substituição de payloads completos, isolamento de primeiras instâncias e rollback de eventos falhados permanecem operações nativas do runtime
Nós e bytes fonte, programas de tipos de letra, unidades de glyphs, objetos e bytes candidatos são delimitados; cancelamento e falhas de preparação preservam bytes, comprimento e posição da stream de quem chama
A escrita final na stream de quem chama é a fronteira de commits; uma exceção levantada por essa stream durante a escrita pode deixar uma escrita parcial e não é apresentada como um destino não seekable revertido
Este consumidor cria estados guardados de aparências de widgets; execução posterior de scripts XFA conduzida por leitores ou reconstrução de aparências, conteúdo alternante rich de itens, ícones de botões, media externa e renderização arbitrária de XML estrangeiro continuam a ser capacidades separadas
Os mapeamentos de destaques e de reservas de captions seguem a semântica de botões do XFA 3.3 e de captions
Metadados de emissores · Captions rich Boolean · Criação nativa automática de XFA