PDFium Delphi Component Docs

SaveAsPdfAToStream method

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

Syntax

function SaveAsPdfAToStream(Stream: TStream; const Options: TPdfASaveOptions): Boolean;

Description

SaveAsPdfAToStream je tokovni pandan SaveAsPdfA — proizvodi isti PDF/A-1b izlaz, ali upisuje rezultat u bilo koji seekable TStream koji pozivalac obezbedi, umesto preko privremene datoteke. Korisno za procese HTTP otpremanja, BLOB kolone, slojeve keša u memoriji, arhivske kontejnere (ZIP / TAR) ili bilo koji tok rada gde PDF/A bajtovi nikada ne moraju da dodirnu disk

Logika post-procesiranja identična je SaveAsPdfA(FileName, Options): prvo se izvodi osnovni SaveAs, a zatim inkrementalna dopuna ubacuje tok XMP metapodataka (koji premošćuje Document Information Dictionary u XMP oblik prema ISO 19005-1 6.7.3 / Cor.1 Table 1 i ugrađuje opis šeme ekstenzije pdfaid koji zahteva 6.7.8), OutputIntent koji referencira ugrađeni ICC profil (podrazumevano sRGB, prilagođen kroz Options.IccProfileData), ažuriranje kataloga koje ih povezuje i niz /ID u trailer-u koji zahteva 6.1.3. Polja Options ostavljena praznima se automatski popunjavaju iz FPDF_GetMetaText i FPDF_GetFileIdentifier, tako da tipičan pozivalac postavlja samo Conformance

Vraća True pri uspehu. Izlazni tok ostaje na poziciji poslednjeg upisanog bajta. Vraća False ako osnovni SaveAs nije uspeo ili ako PDF/A post-procesiranje nije moglo biti prikačeno (tipično zato što je izvorni PDF bio šifrovan, što PDF/A zabranjuje)

Remarks

Example

var
  Stream: TMemoryStream;
  Opts: TPdfASaveOptions;
begin
  Stream := TMemoryStream.Create;
  try
    Opts := Default(TPdfASaveOptions);
    Opts.Conformance := pac1b;
    if Pdf1.SaveAsPdfAToStream(Stream, Opts) then
    begin
      Stream.Position := 0;
      UploadToArchive(Stream);
    end;
  finally
    Stream.Free;
  end;
end;

See Also

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs