Нативные значения изображений и графики 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