PDFium Delphi Component Docs

SaveAsPdfAToStream method

Component: TPdf  ·  Unit: PDFium
Različica SaveAsPdfA v pomnilniku — izhod PDF/A-1b zapiše v katerikoli TStream brez vmesnega shranjevanja na disk

Syntax

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

Description

SaveAsPdfAToStream je tokovni dvojnik SaveAsPdfA — ustvari isti izhod PDF/A-1b, vendar rezultat zapiše v katerikoli iskalni TStream, ki ga poda klicatelj, namesto prek začasne datoteke. Uporabno za cevovode nalaganja HTTP, stolpce BLOB, plasti predpomnilnika v pomnilniku, arhivske vsebnike (ZIP / TAR) ali katerikoli potek dela, kjer bajti PDF/A nikoli ne potrebujejo dotika z diskom.

Logika naknadne obdelave je enaka SaveAsPdfA(FileName, Options): najprej steče osnovni SaveAs, nato posodobitev po vrsticah vbrizga tok metapodatkov XMP (ki po ISO 19005-1 6.7.3 / Cor.1 Table 1 premosti Document Information Dictionary v obliko XMP in vgradi opis razširitvene sheme pdfaid, ki jo zahteva 6.7.8), OutputIntent s sklicom na vgrajen profil ICC (privzeto sRGB, po meri prek Options.IccProfileData), posodobitev kataloga, ki jih poveže, ter polje trailer /ID, ki ga zahteva 6.1.3. Prazna polja Options se samodejno napolnijo iz FPDF_GetMetaText in FPDF_GetFileIdentifier, tako da običajni klicatelj nastavi samo Conformance.

Ob uspehu vrne True. Izhodni tok ostane na položaju za zadnjim zapisanim bajtom. Vrne False, če osnovni SaveAs ni uspel ali naknadne obdelave PDF/A ni bilo mogoče pripeti (tipično zato, ker je bil izvorni PDF šifriran, kar PDF/A prepoveduje).

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