PDFium Component Docs

SaveAsPdfUaToStream Método

Componente: TPdf  ·  Unidad: PDFium
Variante en memoria de SaveAsPdfUa — escribe la salida PDF/UA-1 en cualquier TStream sin pasar por disco.

Syntax

function SaveAsPdfUaToStream(Stream: TStream; const Options: TPdfUaSaveOptions): Boolean;

Description

SaveAsPdfUaToStream es la contraparte de flujo de SaveAsPdfUa — produce la misma salida PDF/UA-1 pero escribe el resultado en cualquier TStream que admita posicionamiento y que proporcione quien llama Útil para canalizaciones de carga HTTP, columnas BLOB, capas de caché en memoria, contenedores de archivo (ZIP / TAR), o cualquier flujo de trabajo donde los bytes de PDF/UA nunca necesiten tocar el disco.

La lógica de posprocesamiento es idéntica a SaveAsPdfUa(FileName, Options): primero se ejecuta el SaveAs base, luego una actualización incremental inyecta el flujo de metadatos XMP (con el dc:title obligatorio según ISO 14289-1 §7.1 y la descripción del esquema de extensión pdfuaid), /MarkInfo de catálogo y /ViewerPreferences cuando el origen no los tiene, /Lang de catálogo cuando quien llama suministró una etiqueta BCP 47, y un arreglo /ID de trailer. Los campos de Options que se dejen vacíos se autorrellenan a partir de los lectores de PDFium (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) por lo que un llamador típico solo establece DocumentTitle o Language si es necesario.

Devuelve True en caso de éxito. El flujo de salida queda en la posición después del último byte escrito. Devuelve False si el SaveAs base falló o si el posprocesamiento no pudo adjuntarse (normalmente un origen cifrado).

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfUaSaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := TPdfUaSaveOptions.Default;
    Opts.DocumentTitle := 'Quarterly Report';
    Opts.Language := 'en';
    if Pdf1.SaveAsPdfUaToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs