Нативные значения изображений и графики XFA

Хост событий создаёт нативные дочерние значения image, arc, line и rectangle и их поддерживаемые пути свойств 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";
}

Нативные варианты значений взаимоисключающие, а создание сохраняет шаблон и другие повторные вхождения

Arc и line допускают по одному edge, rectangle — четыре edge и четыре corner, а arc и rectangle — по одному fill

Line, rectangle и arc по умолчанию имеют hand=even; у line по умолчанию наклон в виде обратного слеша, а у arc — circular=0, startAngle=0 и sweepAngle=360

Image по умолчанию имеет aspect=fit и transferEncoding=base64 с пустыми атрибутами contentType, href и name

Потребление изображений

Встроенные значения draw PNG и JPEG сохраняют свои декодированные исходные цвета; прозрачность PNG хранится как нативная soft mask PDF, а не подмешивается в исходные каналы

Fit сохраняет пропорции изображения внутри номинальной области, none заполняет область независимо по обоим измерениям, width и height сохраняют пропорции, подгоняя названное измерение, а actual использует физические размеры изображения

Изображения центрируются в номинальной области и обрезаются по ней; масштабирование и обрезка сохраняют окружающее графическое состояние

Размер actual читает плотность PNG pHYs и JFIF в точках на дюйм или сантиметр; изображение без поддерживаемой записи физической плотности получает 96 DPI

Замена существующего тела изображения шаблона сохраняет его шаблонные атрибуты, если нативный атрибут формы их не переопределяет

Потребитель FPC читает исходные каналы PNG и JPEG напрямую, избегая потери пикселей при присваивании LCL-битмапов; повторяющиеся одинаковые непрозрачные изображения сохраняют нативное переиспользование ресурсов

Потребление графики

Созданные значения rectangle, line и arc дают нативные пути с их эффективными цветами и толщинами edge, включая толщины меньше пункта; наклон line и угловой размах arc доходят до потребителя

Новые повторные экземпляры получают независимые нативные графические свойства, а сбои бюджета атрибутов в script или нативном коде восстанавливают точные нативные байты XDP

Оставшиеся доработки

Нативные XML-операции exData транзакционно импортируют стороннее содержимое и потребляют сохранённые XHTML draw

Внешнее разрешение изображений, дополнительные физические метаданные вроде EXIF, потребление виджетов imageEdit, полный рендеринг fill и corner, handedness, геометрия круговых arc и полная валидация скаляров остаются отдельными целями реализации

Спецификация и связанные API

Грамматика свойств и режимы изображений следуют XFA 3.3; см. Скалярные свойства значений, Значения draw и подписей и Интерактивный XFA runtime