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