PDFium Delphi Component Docs

SaveAsPdfUaToStream metoda

Komponenta: TPdf  ·  Jedinica: PDFium
Inačica SaveAsPdfUa u memoriji — upisuje izlaz PDF/UA-1 u bilo koji TStream bez privremenog zapisivanja na disk

Sintaksa

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

Opis

SaveAsPdfUaToStream tokovni je pandan metodi SaveAsPdfUa — proizvodi isti PDF/UA-1 izlaz, ali rezultat zapisuje u bilo koji traživi TStream koji dostavi pozivatelj. Korisno za cjevovode HTTP prijenosa, BLOB stupce, slojeve predmemorije u memoriji, arhivske spremnike (ZIP / TAR) ili bilo koji tok rada u kojem PDF/UA bajtovi nikada ne moraju dirati disk

Logika naknadne obrade identična je SaveAsPdfUa(FileName, Options): najprije se izvodi osnovni SaveAs, zatim inkrementalno ažuriranje ubacuje XMP tok metapodataka (s obaveznim dc:title prema ISO 14289-1 §7.1 i opisom sheme proširenja pdfuaid), kataloške unose /MarkInfo i /ViewerPreferences kad ih izvor nema, kataloški /Lang kad je pozivatelj dostavio BCP 47 oznaku te niz /ID u traileru. Polja Options ostavljena praznima automatski se popunjavaju iz PDFium čitača (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) pa tipičan pozivatelj postavlja samo DocumentTitle ili Language po potrebi

Vraća True pri uspjehu. Izlazni tok ostaje na poziciji nakon zadnjeg zapisanog bajta. Vraća False ako osnovni SaveAs nije uspio ili ako naknadna obrada nije mogla biti priložena (tipično šifrirani izvor)

Napomene

Primjer

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;

Vidi također

SaveAsPdfUa, ValidatePdfUa, PdfUaConformance, SaveAs