ネイティブ XFA 画像とグラフィック値

イベントホストは、ネイティブの画像・円弧・直線・矩形値の子と、それらがサポートする edge・corner・fill プロパティパスを生成します。draw の実効値はネイティブ PDF コンシューマーに届きます

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";
}

ネイティブ値の選択は相互に排他で、生成はテンプレートと他の繰り返し出現を保持します

円弧と直線はそれぞれ edge を 1 つ許し、矩形は edge 4 つと corner 4 つを許し、円弧と矩形は fill を 1 つ許します

直線・矩形・円弧のデフォルトは hand=even です。直線はバックスラッシュの slope がデフォルトで、円弧は circular=0、startAngle=0、sweepAngle=360 がデフォルトです

画像は aspect=fit と transferEncoding=base64 がデフォルトで、contentType、href、name の各属性は空です

画像の消費

埋め込まれた PNG と JPEG の draw 値は、デコード済みのソース色を保持します。PNG の透明度は、ソースチャネルに合成されるのではなく、ネイティブ PDF のソフトマスクとして保存されます

fit は公称領域内で画像の比率を保ち、none は両次元で独立に領域を埋め、width と height は指定された次元に合わせつつ比率を保ち、actual は物理的な画像寸法を使います

画像は公称領域の中央に置かれ、その領域にクリップされます。スケーリングとクリップは、周囲のグラフィックス状態を保持します

actual サイジングは、インチあたりドットまたはセンチメートルあたりドット単位で PNG の pHYs 密度と JFIF 密度を読みます。対応する物理密度レコードを持たない画像は 96 DPI を使います

既存のテンプレート画像本体を置き換えても、ネイティブフォーム属性が上書きしない限りテンプレート属性は保持されます

FPC コンシューマーは元の PNG と JPEG のチャネルを直接読むため、LCL ビットマップ代入によるピクセル損失を避けられます。同一の不透明画像が繰り返されても、ネイティブリソースの再利用は保たれます

グラフィックの消費

生成された矩形・直線・円弧の値は、実効的な edge の色と幅(1 ポイント未満の幅を含む)を持つネイティブパスを生成します。直線の slope と円弧の角範囲もコンシューマーに届きます

新しい繰り返しインスタンスは独立したネイティブグラフィックプロパティを受け取り、スクリプトやネイティブ属性予算の失敗では、正確なネイティブ XDP バイトが復元されます

残る改善項目

ネイティブ exData XML 操作は、外部コンテンツをトランザクション的にインポートし、永続化された XHTML draw を消費します

外部画像の解決、EXIF などの追加物理メタデータ、imageEdit ウィジェットの消費、fill と corner の完全な描画、handedness、円弧ジオメトリ、完全なスカラーバリデーションは、引き続き別の実装対象です

リファレンスと関連 API

プロパティ文法と画像モードは XFA 3.3 に従います。スカラー値プロパティ、draw とキャプションの値、インタラクティブ XFA ランタイムを参照してください