HPDFXFAWriteHeadlessPDF

Unidade: HPDFXFAHeadless

function HPDFXFAWriteHeadlessPDF(Destination: TStream;
  const XDPBytes, TrueTypeFont: SysUtils.TBytes;
  const Options: TXFAHeadlessPDFOptions;
  Warnings: TStringList): TXFAHeadlessPDFResult;

Destination é próprio de quem chama e tem de ser não nil; o documento preparado completo é escrito na posição atual dele sem truncar nenhum conteúdo existente

XDPBytes fornece o template, os datasets e o estado opcional persistido de formulários; nenhum PDF de entrada preparado é exigido

Campos de escolha preservam pares /Opt de exportação/apresentação e seleções reais /V e /I; campos boolean têm estados /AP reais e membros de radio partilham um pai por âmbito nativo de templates e de dados

Desenhos de retângulos, linhas e arcos elípticos produzem caminhos nativos reais; desenhos de imagens PNG e JPEG inline produzem image XObjects nativas com proporção física e máscaras alfa, como descrito em Gráficos e imagens nativos

TrueTypeFont fornece a face real incorporada nos recursos de aparências Unicode; quem chama retém o array, a stream, a lista de avisos e o token de cancelamento

Options define dimensões físicas de páginas, política de edição, execução de scripts e orçamentos de recursos; Warnings pode ser nil, caso em que os avisos são recolhidos temporariamente e a referência devolvida de avisos é nil

Erros de preparação de grafos, parsing XML, construção de aparências, cancelamento e serialização de candidatos deixam Destination inalterado; um erro de WriteBuffer no destino pode produzir escritas parciais e não é revertido para streams arbitrárias

Tipos de consumidores não suportados levantam atualmente EHPDFXFAHeadlessError durante a preparação; os tipos 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;

Gravar numa stream ou num ficheiro não lança um leitor externo nem exige uma sessão de desktop

Options e as contagens de resultados fornecem as referências completas dos registos públicos