Valores de imagen y gráficos nativos de XFA

El host de eventos crea hijos de valor nativos image, arc, line y rectangle y sus rutas de propiedad soportadas de edge, corner y fill; el valor efectivo de un draw llega al consumidor PDF nativo

Creación de un 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";
}

Las choices de valores nativos son mutuamente excluyentes, y la creación preserva el template y las demás ocurrencias repetidas

Arc y line permiten cada uno un edge, rectangle permite cuatro edges y cuatro corners, y arc y rectangle permiten un fill

Line, rectangle y arc usan hand=even por defecto; line tiene por defecto una pendiente de barra invertida, mientras que arc tiene circular=0, startAngle=0 y sweepAngle=360 por defecto

Image usa aspect=fit y transferEncoding=base64 por defecto, con atributos contentType, href y name vacíos

Consumo de imágenes

Los valores de draw PNG y JPEG embebidos conservan sus colores de origen decodificados; la transparencia PNG se almacena como una soft mask PDF nativa en lugar de componerse en los canales de origen

Fit preserva la razón de la imagen dentro de la región nominal, none llena la región de forma independiente en ambas dimensiones, width y height preservan la razón mientras ajustan la dimensión nombrada, y actual usa las dimensiones físicas de la imagen

Las imágenes se centran en su región nominal y se recortan a esa región; el escalado y el recorte preservan el graphics state circundante

El dimensionamiento actual lee la densidad pHYs de PNG y la densidad JFIF en puntos por pulgada o puntos por centímetro; una imagen sin registro de densidad física soportado usa 96 DPI

Reemplazar el body de imagen de un template existente preserva sus atributos de template salvo que un atributo de formulario nativo haga override

El consumidor FPC lee los canales PNG y JPEG originales directamente, evitando pérdida de píxeles por la asignación de bitmaps LCL; las imágenes opacas idénticas repetidas conservan la reutilización de recursos nativa

Consumo de gráficos

Los valores creados rectangle, line y arc producen rutas nativas con sus colores y anchos de edge efectivos, incluidos anchos menores de un punto; la pendiente de line y la extensión angular de arc llegan al consumidor

Las nuevas instancias repetidas reciben propiedades gráficas nativas independientes, y los fallos de script o de presupuesto de atributos nativo restauran los bytes XDP nativos exactos

Refinamientos restantes

Las operaciones XML exData nativas importan contenido foráneo transaccionalmente y consumen draws XHTML persistidos

La resolución de imágenes externas, los metadata físicos adicionales como EXIF, el consumo del widget imageEdit, el rendering completo de fill y corner, la handedness, la geometría de arcos circulares y la validación escalar completa siguen siendo objetivos de implementación separados

Referencia y APIs relacionadas

La gramática de propiedades y los modos de imagen siguen XFA 3.3; ver Propiedades de valor escalar, Valores de draw y caption y Runtime XFA interactivo