Captions rich automáticas do XFA

Units: HPDFXFA, HPDFXFAHeadless e HPDFHeadlessAppearance

HPDFXFAWriteHeadlessPDF consome os valores efetivos de captions de checkboxes e radios diretamente do XDP salvo e cria Forms nativos reais de aparências com fontes embutidas

Conteúdo efetivo de captions

Valores escalares de captions e conteúdo de corpos XHTML exData viram texto nativo; o corpo precisa usar o namespace http://www.w3.org/1999/xhtml

Um overlay parcial de formulário por instância repetida muda o texto e os atributos do elemento correspondente do template, retendo irmãos de template inalterados e o namespace XHTML deles

Uma substituição bem-sucedida do payload inteiro por exData.loadXML fornece o corpo realmente importado, em vez de mesclar conteúdo obsoleto do template de volta à caption

Comentários e processing instructions permanecem no XDP salvo original, mas são omitidos da cópia de rendering, de modo que os payloads deles nunca virem texto visível de captions

A cópia de rendering é delimitada a 4096 nós, profundidade 64, 65536 steps de trabalho de overlays e 1 MiB de XHTML da origem e serializado cobrado; o decoder nativo e os builders de aparências retêm seus próprios limites de runs, glyphs e bytes

Faces e estilos reais de fontes

Forneça CaptionFontFamilies para programas reais regular, bold, italic e bold-italic e famílias nomeadas

O decoder nativo XHTML existente resolve estilos inline, fronteiras de parágrafos, listas de famílias, cores, tamanhos, underline e strike; o tamanho, weight, posture, typeface e cor de fill da fonte de captions escalares fornecem o estilo default

Uma face ou glyph solicitado ausente faz a preparação falhar; este consumer não fabrica aparências bold nem italic nem descobre fontes externas

Medição e placement

Medição e pintura de captions usam o mesmo layout nativo rich e os programas de fontes fornecidos, incluindo advances reais de glyphs, ascent e descent específicos de estilos, baselines comuns de linhas e wrapping

Uma reserva fixa de left ou right restringe a largura do texto; uma reserva positiva de top ou bottom permite wrapping dentro da largura disponível do campo

Uma reserva omitida, zero ou o default -1 do schema usa a extensão natural da caption sem wrapping automático de texto; fronteiras explícitas de parágrafos permanecem quebras de linha, e texto que excede um retângulo fixo de campo é clipado

Capturas left e right automáticas usam a largura natural delas; captions inline ignoram a reserva explícita tanto na medição quanto no placement

Margens de captions reduzem a região real de texto, e o alinhamento horizontal e vertical de captions controla o placement da aparência resultante

O comportamento da reserva segue a definição de reserva de captions do XFA 3.3

Altura natural inclui a extensão final métrica da linha mais o padding nativo de dois pontos em cada lado; ela exclui o leading final não usado após a ú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 caption é compartilhado entre os estados off, on e neutral do mesmo widget; instâncias repetidas retêm grafos independentes de conteúdo e estilos

Margens de parágrafos e CSS customizado de line-height, imagens de captions e outros payloads de captions não texto, captions rich de push buttons e reconstrução interativa posterior de aparências retêm trabalho separado de consumers

Transações e aceitação

Um evento nativo bem-sucedido de propriedades pode ser salvo e recarregado antes da criação automática do PDF; falha de script restaura os bytes exatos do XML nativo, e falhas de orçamento de preparação ou cancelamento preservam os bytes, comprimento e posição do destino

Escritas no destino começam somente depois que o candidato completo tem sucesso; um erro do stream do próprio chamador durante a gravação segue a semântica daquele stream e não pode ser revertido para um destino arbitrário não seekable

Tests/Linux/XFAHeadlessRichCaptionTests.pas produz PDFs reais de captions estilizadas, com wrapping, selecionadas por família 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 de PDFs salvos, bytes exatos de programas de fontes fornecidas, referências compartilhadas, texto Unicode, matrizes raw de texto, métricas fontTools e pixels renderizados de MuPDF, sem abrir UI de reader

TextHeight somente leitura · Metadados de callbacks booleanos · Marcas e estados booleanos