HPDFXFAWriteHeadlessPDF

Unit: HPDFXFAHeadless

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

Destination es propiedad del llamante y debe ser no nil; el documento preparado completo se escribe en su posición actual sin truncar ningún contenido existente

XDPBytes aporta la plantilla, los datasets y el estado de formulario persistido opcional; no se requiere ningún PDF de entrada preparado

Los campos choice preservan los pares export/visualización de /Opt y las selecciones /V y /I reales; los campos booleanos tienen estados /AP reales y los miembros radio comparten un padre por ámbito nativo de plantilla y datos

Los draws de rectángulos, líneas y arcos elípticos producen rutas nativas reales; los draws de imágenes PNG y JPEG inline producen image XObjects nativos con aspect físico y máscaras alfa, como se describe en Gráficos e imágenes nativos

TrueTypeFont aporta la cara real incrustada en los recursos de apariencia Unicode; el llamante retiene el array, el stream, la lista de avisos y el cancellation token

Options establece las dimensiones físicas de página, la política de edición, la ejecución de scripts y los presupuestos de recursos; Warnings puede ser nil, en cuyo caso los avisos se recogen temporalmente y la referencia de avisos devuelta es nil

Los errores de preparación del grafo, parsing XML, construcción de apariencias, cancelación y serialización de la candidata dejan Destination sin cambios; un error de WriteBuffer del destino puede producir escrituras parciales y no se revierte para streams arbitrarios

Las clases de consumidor no soportadas lanzan actualmente EHPDFXFAHeadlessError durante la preparación; las clases soportadas y el trabajo de integración restante se listan en Creación XFA automática

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;

Guardar en un stream o archivo no lanza un lector externo ni requiere una sesión de escritorio

Opciones y recuentos del resultado aportan las referencias completas de los registros públicos