HPDFXFAWriteHeadlessPDF
Модуль: HPDFXFAHeadless
function HPDFXFAWriteHeadlessPDF(Destination: TStream;
const XDPBytes, TrueTypeFont: SysUtils.TBytes;
const Options: TXFAHeadlessPDFOptions;
Warnings: TStringList): TXFAHeadlessPDFResult;
Destination принадлежит вызывающему и должен быть не nil; полный подготовленный документ пишется в текущей позиции без усечения существующего содержимого
XDPBytes поставляет template, datasets и опциональное сохранённое состояние формы; подготовленный входной PDF не нужен
Поля выбора сохраняют пары экспорт/отображение /Opt и реальные выборы /V и /I; булевы поля имеют реальные состояния /AP, а члены radio делят одного родителя на нативные области template и data
Draw прямоугольника, линии и эллиптической дуги дают настоящие нативные пути; инлайновые image draw PNG и JPEG дают нативные XObjects изображений с физическими пропорциями и альфа-масками, как описано в Нативная графика и изображения
TrueTypeFont поставляет реальное начертание, встраиваемое в ресурсы внешних видов Unicode; вызывающий удерживает массив, поток, список предупреждений и токен отмены
Options задаёт физические размеры страниц, политику редактирования, выполнение скриптов и ресурсные бюджеты; Warnings может быть nil — тогда предупреждения собираются временно, а возвращённая ссылка на предупреждения равна nil
Подготовка графа, разбор XML, построение внешних видов, отмена и ошибки сериализации кандидата оставляют Destination без изменений; ошибка WriteBuffer назначения может дать частичную запись и не откатывается для произвольных потоков
Неподдерживаемые виды потребителей сейчас возбуждают EHPDFXFAHeadlessError во время подготовки; поддерживаемые виды и оставшаяся интеграционная работа перечислены в Автоматическое создание XFA
Options := TXFAHeadlessPDFOptions.Default;
Options.PageWidth := 300;
Options.PageHeight := 500;
Output := TMemoryStream.Create;
try
ResultInfo := HPDFXFAWriteHeadlessPDF(Output, SavedXDP, FontBytes,
Options, nil);
Output.SaveToFile('native-xfa.pdf');
finally
Output.Free;
end;
Сохранение в поток или файл не запускает внешнюю читалку и не требует десктопной сессии
Опции и счётчики результата дают полные ссылки на публичные записи