PDFium Delphi Component Docs

SaveAsPdfUaToStream metod

Component: TPdf  ·  Unit: PDFium
Varijanta u memoriji SaveAsPdfUa — upisuje PDF/UA-1 izlaz u bilo koji TStream bez prolaska kroz disk

Syntax

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

Description

SaveAsPdfUaToStream je protočni pandan metodi SaveAsPdfUa — proizvodi isti PDF/UA-1 izlaz, ali upisuje rezultat u bilo koji TStream sa podrškom za pozicioniranje koji prosledi pozivalac. Korisno za tokove rada HTTP otpremanja, BLOB kolone, slojeve keša u memoriji, arhivske kontejnere (ZIP / TAR) ili bilo koji tok rada u kome PDF/UA bajtovi nikada ne moraju da dodirnu disk

Logika post-procesiranja je identična metodi SaveAsPdfUa(FileName, Options): prvo se izvodi osnovni SaveAs, a zatim inkrementalna dopuna ubacuje XMP tok metapodataka (sa obaveznim dc:title po ISO 14289-1 §7.1 i opisom šeme ekstenzije pdfuaid), katalog /MarkInfo i /ViewerPreferences kada ih izvor već nema, katalog /Lang kada je pozivalac prosledio BCP 47 oznaku i niz trailer /ID. Prazna polja Options se automatski popunjavaju iz PDFium čitača (FPDF_GetMetaText, FPDF_GetFileIdentifier, FPDFCatalog_GetLanguage) tako da tipičan pozivalac po potrebi postavlja samo DocumentTitle ili Language

Vraća True pri uspehu. Izlazni tok ostaje na poziciji iza poslednjeg upisanog bajta. Vraća False ako osnovni SaveAs nije uspeo ili ako post-procesiranje nije moglo da se prikači (tipično šifrovani izvor)

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