PDFiumPas 文件

SaveAs 方法

元件: TPdf  ·  單元: PDFium
將 PDF 文件複本儲存到指定串流。若 PdfVersion 為 pv13 到 pv17,已儲存的輸出會依目標版本進行正規化與驗證,包含增量輸出中既有的 catalog /Version 覆寫。驗證器涵蓋 PDF 1.1 到 1.7 / ISO 32000-1 的完整功能時間軸:filters(FlateDecode、JBIG2Decode、JPXDecode)、object 與 xref streams、transparency(SMask、ca/CA、blend modes)、Tagged PDF(StructTreeRoot、MarkInfo)、色彩空間(ICCBased、DeviceN)、頁面框(BleedBox/TrimBox/ArtBox)、output intents、optional content、AcroForm、CID/Type 0 與 OpenType fonts、AES 與 AES-256 encryption(CFM AESV2/AESV3)、所有受版本限制的 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)、受版本限制的 action types(SubmitForm、ResetForm、ImportData、Hide、Named、JavaScript、Trans、SetState、Rendition、GoToE、GoTo3DView)以及 catalog entries(Perms、Legal、Collection、Requirements、NeedsRendering),超出所選目標版本的內容都會引發 EPdfError。若文件沒有既有的 OpenAction 且目標版本支援,儲存後的 PDF 會以第一頁與 Fit Height 縮放開啟。試用版在儲存時會套用試用浮水印

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 PdfVersion parameter specifies the output PDF version; pass pvUnknown to keep the document's existing version

The Compressed property controls stream compression. Hybrid-reference, xref-stream and object-stream inputs are preserved when a classic-xref rewrite cannot retain their complete cross-reference semantics

Explicit PDF-version checks follow the active cross-reference revision chain and active object-stream members, so stale or unreferenced object bodies do not affect the requested version gate

The file overload leaves an existing destination unchanged if compression, post-processing or version validation fails

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