function SaveAs(Stream: TStream; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| Stream | TStream value that receives the PDF data |
| Option | TSaveOption. 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 |
| PdfVersion | TPdfVersion target; use pvUnknown to preserve the current version |
function SaveAs(const FileName: string; Option: TSaveOption = saNone; PdfVersion: TPdfVersion = pvUnknown): Boolean;
| FileName | string. The output file path. A sibling temporary file is completed first, then atomically replaces the destination |
| Option | TSaveOption. Save option: saNone, saIncremental, saNoIncremental, or saRemoveSecurity |
| PdfVersion | TPdfVersion target; use pvUnknown to preserve the current version |
True if the document was saved successfully, or False on failure.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.
pv13 normalizes inherited page resources, canonicalizes /ProcSet and removes only default transparency-state entriespv13 rejects active metadata streams because /Type /Metadata and XMP component metadata require PDF 1.4 or newerpv13 rejects document /EmbeddedFiles name trees while retaining older embedded-file stream references that do not use the PDF 1.4 name-tree entrypv13 rejects the document catalog /Lang entry because document-level natural-language identification requires PDF 1.4 or newerpv14 and older targets reject document catalog /PageLayout /TwoPageLeft and /TwoPageRight values because two-page layouts require PDF 1.5 or newerpv14 and older targets reject image XObjects with /BitsPerComponent 16 because 16-bit image components require PDF 1.5 or newerpv14 and older targets reject image XObject /SMaskInData entries because embedded JPEG 2000 soft-mask channels require PDF 1.5 or newerpv13 with saIncremental raises EPdfError because normalization cannot preserve signed prior revisionsEPdfError; callers must remove security before requesting a core-version target/ADBE developer extension with /BaseVersion /1.7 and /ExtensionLevel 1 or newer; a bare PDF 1.7 declaration is insufficientRichMediaExecute actions require an /ADBE developer extension with /BaseVersion /1.7 and /ExtensionLevel 3 or newer/Type /Measure /Subtype /GEO dictionaries and Projection annotations require an /ADBE developer extension with /BaseVersion /1.7 and /ExtensionLevel 3 or newer/Annots entry must contain the required /Subtype and /Rect entries/OCProperties validation requires array /OCGs, dictionary /D, valid default /BaseState /ON and /Intent /View values when present, and array-valued /Configs, /ON, /OFF, /AS, and /Order entries
// 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;