Valores nativos de imagens e gráficos no XFA
O event host cria nós filhos nativos de valores de imagens, arcos, linhas e retângulos e os paths de propriedades suportados de edge, corner e fill; o valor efetivo de um draw chega ao consumer nativo de PDF
Criando um valor de draw
function updateGraphic(row, pngBase64) {
const image = row.logo.value.image;
image.contentType = "image/png";
image.aspect = "fit";
image.value = pngBase64;
const line = row.rule.value.line;
line.slope = "/";
line.edge.thickness = "0.25pt";
line.edge.color.value = "0,0,255";
}
As escolhas nativas de valores são mutuamente exclusivas, e a criação preserva o template e as demais ocorrências repetidas
Arc e line permitem um edge cada, rectangle permite quatro edges e quatro corners, e arc e rectangle permitem um fill
Line, rectangle e arc têm default hand=even; line tem default de slope em barra invertida, enquanto arc tem default circular=0, startAngle=0 e sweepAngle=360
Image tem default aspect=fit e transferEncoding=base64, com atributos contentType, href e name vazios
Consumo de imagens
Draw values embutidos de PNG e JPEG retêm suas cores decodificadas da origem; a transparência PNG é armazenada como uma soft mask nativa do PDF, em vez de compor nos canais da origem
Fit preserva a razão da imagem dentro da região nominal, none preenche a região independentemente nas duas dimensões, width e height preservam a razão enquanto casam com a dimensão nomeada, e actual usa as dimensões físicas da imagem
As imagens são centralizadas em sua região nominal e clipadas a essa região; scaling e clipping preservam o graphics state ao redor
O dimensionamento actual lê a densidade pHYs do PNG e a densidade JFIF em pontos por polegada ou pontos por centímetro; uma imagem sem record de densidade física suportado usa 96 DPI
Substituir o corpo de uma imagem existente do template preserva os atributos do template, a menos que um atributo nativo de formulário os sobrepunha
O consumer FPC lê os canais originais de PNG e JPEG diretamente, evitando perda de pixels pela atribuição de bitmaps LCL; imagens opacas idênticas repetidas retêm a reutilização nativa de recursos
Consumo de gráficos
Valores criados de rectangle, line e arc produzem paths nativos com suas cores e larguras efetivas de edges, incluindo larguras abaixo de um ponto; o slope de linhas e a extensão angular de arcos chegam ao consumer
Instâncias repetidas novas recebem propriedades nativas independentes de gráficos, e falhas de script ou do orçamento nativo de atributos restauram os bytes exatos do XDP nativo
Refinamentos restantes
As operações nativas de XML de exData importam conteúdo estrangeiro transacionalmente e consomem draws XHTML persistidos
Resolução de imagens externas, metadados físicos adicionais como EXIF, consumo de widgets imageEdit, rendering completo de fills e corners, handedness, geometria de arcos circulares e validação escalar completa permanecem alvos de implementação separados
Referência e APIs relacionadas
A gramática de propriedades e os modos de imagens seguem o XFA 3.3; veja Propriedades de valores escalares, Valores de draw e captions e Runtime XFA interativo