PDFium Delphi Component Docs

SaveAsPdfAToStream metoda

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

Sintaksa

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

Opis

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

Logika naknadne obrade identična je SaveAsPdfA(FileName, Options): najprije se izvodi osnovni SaveAs, zatim inkrementalno ažuriranje ubacuje XMP tok 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 sheme proširenja pdfaid potreban prema 6.7.8), OutputIntent koji referencira ugrađeni ICC profil (sRGB prema zadanim, prilagođen putem Options.IccProfileData), ažuriranje kataloga koje ih povezuje te niz /ID u traileru potreban prema 6.1.3. Polja Options ostavljena praznima automatski se popunjavaju iz FPDF_GetMetaText i FPDF_GetFileIdentifier pa tipičan pozivatelj postavlja samo Conformance

Vraća True pri uspjehu. Izlazni tok ostaje na poziciji nakon zadnjeg zapisanog bajta. Vraća False ako osnovni SaveAs nije uspio ili ako PDF/A naknadna obrada nije mogla biti priložena (tipično zato što je izvorni PDF bio šifriran, što PDF/A zabranjuje)

Napomene

Primjer

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;

Vidi također

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs