THPDFCABIFormDataOperationV1

THPDFCABIFormDataOperationV1 = record
  Operation: THPDFCABIOperationV1;
  FontUserData: Pointer;
  Font: THPDFCABIFormDataFontV1;
end;
PHPDFCABIFormDataOperationV1 = ^THPDFCABIFormDataOperationV1;

HPDFCAPI добавляет необязательные поля синхронного шрифтового IO к неизменному префиксу операции Windows V1; C-объявление — hpdf_form_data_operation_v1 в hotpdf_abi_form_data.h

Задайте Operation.StructSize равным SizeOf(THPDFCABIFormDataOperationV1), ABIVersion — HPDF_ABI_VERSION_1 и Flags — ноль, затем передайте адрес Operation в hpdf_document_execute_json_v1

Запись занимает 48 байтов на Win32 и 72 на Win64 при опубликованном выравнивании; свежие вызовы C++Builder проверяют, что сгенерированные Pascal- и C-объявления совпадают

forms.import требует Font, загруженное состояние назначения, InputIO FDF/XFDF, OutputIO PDF и ResultIO JSON; forms.export может использовать исходную базовую операцию V1 без этого расширения

Смешанный исходный typed-rich forms.fill использует то же расширение и колбэк Font с обязательными OutputIO PDF и ResultIO JSON; без InputIO берётся собственный текущий граф, а необязательный InputIO до загрузки шрифтов приватно подставляет замещающий PDF

FontUserData, Font и возвращённое состояние IO-колбэков остаются заимствованными до завершения выполнения; эта запись не расширяет legacy-колбэки HPDFDocRunJob и расширение операций нативного Linux

Колбэк шрифта, Поведение JSON и транзакций, Исходное typed-rich заполнение