Captions rich automáticas de XFA
Unidades: HPDFXFA, HPDFXFAHeadless e HPDFHeadlessAppearance
HPDFXFAWriteHeadlessPDF consome valores efetivos de captions de checkboxes e radios diretamente de XDP guardado e cria Forms nativos reais de aparências com tipos de letra incorporados
Conteúdo efetivo de captions
Valores escalares de captions e conteúdo de corpos XHTML exData tornam-se texto nativo; o corpo tem de usar o namespace http://www.w3.org/1999/xhtml
Um overlay parcial de formulários por instância repetida altera o texto e os atributos do elemento de template correspondente mantendo irmãos de templates inalterados e o namespace XHTML deles
Uma substituição bem-sucedida de payloads completos por exData.loadXML fornece o corpo realmente importado dela em vez de fundir conteúdo obsoleto de templates de volta à caption
Comentários e processing instructions permanecem no XDP original guardado mas são omitidos da cópia de renderização, pelo que os payloads deles nunca se tornam texto visível de captions
A cópia de renderização é delimitada a 4096 nós, profundidade 64, 65536 passos de trabalho de overlays e 1 MiB de XHTML fonte e serializado cobrado; o descodificador nativo e os construtores de aparências mantêm os limites próprios deles de runs, glyphs e bytes
Faces e estilos reais de tipos de letra
Forneça CaptionFontFamilies para programas reais de regular, bold, italic e bold-italic e famílias nomeadas
O descodificador nativo XHTML existente resolve estilos inline, fronteiras de parágrafos, listas de famílias, cores, tamanhos, formatação de underline e strike; tamanho, peso, postura, typeface e cor de preenchimento de captions escalares fornecem o estilo default
Uma face ou glyph pedido em falta faz falhar a preparação; este consumidor não fabrica aparências bold ou italic nem descobre tipos de letra externos
Medição e posicionamento
Medição e pintura de captions usam o mesmo layout nativo rich e programas fornecidos de tipos de letra, incluindo avanços reais de glyphs, ascent e descent específicos de estilos, linhas de base comuns e wrap
Uma reserva fixa left ou right constrange a largura do texto; uma reserva positiva top ou bottom permite wrap dentro da largura disponível do campo
Uma reserva omitida, zero ou o -1 default de schemas usa a extensão natural de captions sem wrap automático de texto; fronteiras explícitas de parágrafos permanecem quebras de linhas, e texto que exceda um retângulo fixo de campos é cortado
Captions automáticas left e right usam a largura natural delas; captions inline ignoram reserva explícita tanto durante a medição como durante o posicionamento
Margens de captions reduzem a região real de texto, e o alinhamento horizontal e vertical de captions controla o posicionamento resultante de aparências
O comportamento de reservas segue a definição de reservas de captions do XFA 3.3
A altura natural inclui a extensão final de linhas métricas de tipos de letra mais o padding nativo de dois pontos em cada lado; exclui leading final não usado depois da última linha
Captions hidden e inactive não consomem região; captions invisible reservam a região medida delas sem pintar nem cobrar glyphs de captions
Um Form real de captions é partilhado através dos estados off, on e neutro do mesmo widget; instâncias repetidas mantêm grafos independentes de conteúdo e de estilos
Margens de parágrafos e CSS de line-height personalizado, imagens de captions e outros payloads de captions que não sejam de texto, captions rich de push buttons e reconstrução interativa posterior de aparências mantêm trabalho separado de consumidores
Transações e aceitação
Um evento nativo bem-sucedido de propriedades pode ser guardado e recarregado antes da criação automática de PDFs; falha de scripts restaura bytes nativos exatos de XML, e falhas de orçamentos de preparação ou de cancelamento preservam bytes, comprimento e posição do destino
Escritas no destino começam apenas depois de o candidato completo ter sucesso; um erro da escrita da stream própria de quem chama segue a semântica dessa stream e não pode ser revertido para um destino arbitrário não seekable
Tests/Linux/XFAHeadlessRichCaptionTests.pas produz PDFs reais de captions com estilo, wrap, famílias selecionadas e não visíveis; XFAHeadlessRichCaptionRuntimeTests.pas cobre overlays repetidos, substituição completa de XML e rollback
XFAHeadlessRichCaptionBudgetTests.pas exercita falhas reais de recursos e fronteiras selecionadas de cancelamento, enquanto HeadlessTextExtentTests.pas expõe as extensões nativas medidas de linhas
Verify-XFAHeadlessRichCaptions.py inspeciona grafos guardados de PDFs, bytes exatos fornecidos de programas de tipos de letra, referências partilhadas, texto Unicode, matrizes brutas de texto, métricas de fontTools e píxeis renderizados de MuPDF sem abrir UI de leitores
TextHeight só de leitura · Metadados Boolean de callbacks · Marcadores e estados Boolean