Valeurs d'image et graphiques XFA natif

Le host d'événements crée des enfants de valeurs image, arc, line et rectangle natifs et leurs chemins de propriétés edge, corner et fill pris en charge ; la valeur effective d'un draw atteint le consommateur PDF natif

Créer une valeur 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";
}

Les choix de valeurs natives sont mutuellement exclusifs, et la création préserve le template et les autres occurrences répétées

Arc et line admettent chacun un edge, rectangle admet quatre edges et quatre corners, et arc et rectangle admettent un fill

Line, rectangle et arc valent hand=even par défaut ; line a une pente en antislash par défaut, tandis que arc vaut par défaut circular=0, startAngle=0 et sweepAngle=360

Image vaut par défaut aspect=fit et transferEncoding=base64, avec des attributs contentType, href et name vides

Consommation d'images

Les valeurs de draw PNG et JPEG embarquées conservent leurs couleurs source décodées ; la transparence PNG est stockée comme soft mask PDF natif plutôt que compositée dans les canaux source

fit préserve le ratio de l'image dans la région nominale, none remplit la région indépendamment dans les deux dimensions, width et height préservent le ratio tout en respectant la dimension nommée, et actual utilise les dimensions physiques de l'image

Les images sont centrées dans leur région nominale et clippées à cette région ; le scaling et le clipping préservent le graphics state environnant

Le dimensionnement actual lit la densité pHYs PNG et la densité JFIF en dots par pouce ou dots par centimètre ; une image sans enregistrement de densité physique pris en charge utilise 96 DPI

Remplacer un corps d'image de template existant préserve ses attributs de template sauf si un attribut de formulaire natif en fait un override

Le consommateur FPC lit directement les canaux PNG et JPEG d'origine, évitant la perte de pixels par assignation de bitmap LCL ; les images opaques identiques répétées conservent la réutilisation de ressources natives

Consommation graphique

Les valeurs rectangle, line et arc créées produisent des paths natifs avec leurs couleurs et largeurs d'edge effectives, y compris des largeurs sous un point ; la pente de line et l'étendue angulaire de arc atteignent le consommateur

Les nouvelles instances répétées reçoivent des propriétés graphiques natives indépendantes, et les échecs de budget d'attributs script ou natifs restaurent les octets XDP natifs exacts

Affinements restants

Les opérations XML exData natives importent du contenu foreign de façon transactionnelle et consomment des draws XHTML persistés

La résolution d'images externes, les métadonnées physiques supplémentaires comme EXIF, la consommation des widgets imageEdit, le rendering complet des fill et corners, la handedness, la géométrie d'arcs circulaires et la validation scalaire complète restent des cibles d'implémentation séparées

Référence et API associées

La grammaire de propriétés et les modes d'images suivent XFA 3.3 ; voir Propriétés de valeurs scalaires, Valeurs de draw et caption et Runtime XFA interactif