PDFium Component Docs

SaveAsPdfAToStream Metod

Denna API-post behåller identifierare, signaturer, kodblock och PDF-termer i ursprunglig form.
Komponent: TPdf  ·  Enhet: PDFium
Minnesvarianten av SaveAsPdfA — skriver PDF/A-1b-utmatningen till valfri TStream utan att mellanlagra på disk

Syntax

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

Beskrivning

SaveAsPdfAToStream är strömningsmotsvarigheten till SaveAsPdfA — den producerar samma PDF/A-1b-utdata, men skriver resultatet till valfri sökbar TStream som anroparen tillhandahåller i stället för att gå via en temporär fil. Användbar för HTTP-uppladdningsflöden, BLOB-kolumner, cachelager i minnet, arkivbehållare (ZIP / TAR) eller andra arbetsflöden där PDF/A-byten aldrig behöver nå disken

Efterbearbetningen är identisk med SaveAsPdfA(FileName, Options): den ordinarie SaveAs körs först, sedan injicerar en inkrementell uppdatering XMP-metadata-strömmen (som mappar Document Information Dictionary till XMP-form enligt ISO 19005-1 6.7.3 / Cor.1 Table 1 och bäddar in pdfaid-tilläggsschemabeskrivningen som krävs av 6.7.8), OutputIntent som pekar på en inbäddad ICC-profil (sRGB som standard, anpassad via Options.IccProfileData), en kataloguppdatering som länkar samman dessa samt en trailer-/ID-array som krävs av 6.1.3. Fält i Options som lämnas tomma fylls automatiskt från FPDF_GetMetaText och FPDF_GetFileIdentifier så att den typiska anroparen bara behöver ange Conformance

Returnerar True vid lyckat resultat. Utmatningsströmmen lämnas vid positionen efter den sista skrivna byten. Returnerar False om den ordinarie SaveAs misslyckades eller om PDF/A-efterbearbetningen inte kunde kopplas in (vanligen för att käll-PDF:en var krypterad, vilket PDF/A förbjuder)

Anmärkningar

Exempel

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;

Se även

SaveAsPdfA, ValidatePdfA, PdfAConformance, SaveAs