PDFium Component Docs

SaveAs method

Component: TPdf  ·  Unit: PDFium
Saves the copy of PDF document to the specified stream. If PdfVersion is pv13 through pv17, the saved output is normalised and validated for that target version, including existing catalog /Version overrides in incremental output. The validator covers the full PDF 1.1–1.7 / ISO 32000-1 feature timeline: filters (FlateDecode, JBIG2Decode, JPXDecode), object & xref streams, transparency (SMask, ca/CA, blend modes), Tagged PDF (StructTreeRoot, MarkInfo), colour spaces (ICCBased, DeviceN), page boxes (BleedBox/TrimBox/ArtBox), output intents, optional content, AcroForm, CID/Type 0 and OpenType fonts, AES & AES-256 encryption (CFM AESV2/AESV3), all version-restricted annotation subtypes (Widget, Sound, Movie, FreeText, Line, Square, Circle, Highlight, Underline, StrikeOut, Stamp, Ink, Popup, FileAttachment, TrapNet, Squiggly, PrinterMark, Polygon, PolyLine, Caret, Screen, Watermark, 3D, Redact), version-restricted action types (SubmitForm, ResetForm, ImportData, Hide, Named, JavaScript, Trans, SetState, Rendition, GoToE, GoTo3DView), and catalog entries (Perms, Legal, Collection, Requirements, NeedsRendering). Anything that exceeds the chosen target version raises EPdfError. If the document has no existing OpenAction and the target version supports it, the saved PDF opens on the first page with Fit Height zoom. Trial builds apply the trial watermark during save.

Syntax

function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;

StreamTStream value that receives the PDF data
OptionTSaveOption. Save option: saNone for a normal save, saIncremental for an incremental update, saNoIncremental to force a full rewrite, or saRemoveSecurity to remove security while saving
PdfVersionTPdfVersion target; use pvUnknown to preserve the current version

 

function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;

FileNamestring. The output file path. A sibling temporary file is completed first, then atomically replaces the destination
OptionTSaveOption. Save option: saNone, saIncremental, saNoIncremental, or saRemoveSecurity
PdfVersionTPdfVersion target; use pvUnknown to preserve the current version

Return Value

Returns True if the document was saved successfully, or False on failure.

Description

Saves the current document to a file path or a TStream. The Option parameter controls the save mode: soNone performs a complete file rewrite, while soIncremental appends only the changes made since the document was last saved (smaller output, but grows over repeated saves).

The PdfVersion parameter specifies the output PDF version; pass pvUnknown to keep the document's existing version.

The Compressed property controls whether object-stream compression is applied during the save.

Conformance behaviour

Example

// Save to file
Pdf.SaveAs('output.pdf');

// Save to stream
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
  Pdf.SaveAs(MS);
  MS.SaveToFile('output.pdf');
finally
  MS.Free;
end;

See Also

LoadDocument, Compressed, CreateDocument