HPDFXFAWriteHeadlessPDF
Unit: HPDFXFAHeadless
function HPDFXFAWriteHeadlessPDF(Destination: TStream;
const XDPBytes, TrueTypeFont: SysUtils.TBytes;
const Options: TXFAHeadlessPDFOptions;
Warnings: TStringList): TXFAHeadlessPDFResult;
Destination é de posse do chamador e precisa ser não nil; o documento preparado completo é gravado na posição atual dele sem truncar conteúdo existente
XDPBytes fornece o template, os datasets e o estado opcional persistido do formulário; nenhum PDF de entrada preparado é exigido
Campos choice preservam pares export/display de /Opt e as seleções reais de /V e /I; campos booleanos têm estados /AP reais, e membros de radio compartilham um parent por template e data scope nativos
Draws de retângulos, linhas e arcos elípticos produzem paths nativos reais; draws inline de imagens PNG e JPEG produzem image XObjects nativos com aspecto físico e máscaras alfa, como descrito em Gráficos e imagens nativos
TrueTypeFont fornece a face real embutida nos recursos Unicode de aparências; o chamador retém o array, o stream, a lista de warnings e o token de cancelamento
Options define as dimensões físicas das páginas, a política de edição, a execução de scripts e os orçamentos de recursos; Warnings pode ser nil, caso em que os warnings são coletados temporariamente e a referência de warnings retornada é nil
Erros de preparação do grafo, parsing XML, construção de aparências, cancelamento e serialização do candidato deixam Destination inalterado; um erro de WriteBuffer no destino pode produzir escritas parciais e não é revertido para streams arbitrários
Kinds de consumers não suportados atualmente disparam EHPDFXFAHeadlessError durante a preparação; os kinds suportados e o trabalho de integração restante estão listados em Criação automática de 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;
Salvar em stream ou arquivo não chama um reader externo nem exige sessão de desktop
Opções e contagens de resultado fornecem as referências completas dos records públicos