PDFiumPas 文档

SaveAs 方法

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
将 PDF 文档副本保存到指定流中。若 PdfVersion 为 pv13 到 pv17,保存输出会针对目标版本进行规范化与校验,包括增量输出中已有的 catalog /Version 覆盖。校验器覆盖 PDF 1.1 到 1.7 / ISO 32000-1 的完整特性时间线:过滤器(FlateDecode、JBIG2Decode、JPXDecode)、对象流与 xref 流、透明度(SMask、ca/CA、混合模式)、Tagged PDF(StructTreeRoot、MarkInfo)、颜色空间(ICCBased、DeviceN)、页面框(BleedBox/TrimBox/ArtBox)、输出意图、可选内容、AcroForm、CID/Type 0 和 OpenType 字体、AES 与 AES-256 加密(CFM AESV2/AESV3)、所有受版本限制的注释子类型(Widget、Sound、Movie、FreeText、Line、Square、Circle、Highlight、Underline、StrikeOut、Stamp、Ink、Popup、FileAttachment、TrapNet、Squiggly、PrinterMark、Polygon、PolyLine、Caret、Screen、Watermark、3D、Redact)、受版本限制的动作类型(SubmitForm、ResetForm、ImportData、Hide、Named、JavaScript、Trans、SetState、Rendition、GoToE、GoTo3DView)以及 catalog 条目(Perms、Legal、Collection、Requirements、NeedsRendering)。任何超出所选目标版本的内容都会抛出 EPdfError。若文档没有现成的 OpenAction 且目标版本支持它,已保存的 PDF 会以适合高度缩放在第一页打开。试用版会在保存时应用试用水印

语法

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

StreamTStream。用于写入 PDF 数据的 TStream
OptionTSaveOption。保存选项:soNone 表示完全重写,soIncremental 表示在文件末尾附加增量更新
PdfVersionTPdfVersion. Target PDF version. Use pvUnknown to preserve the current version.

 

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

FileNamestring。输出文件路径。文件会被创建或覆盖
OptionTSaveOption。保存选项:soNone 表示完全重写,soIncremental 表示在文件末尾附加增量更新
PdfVersionTPdfVersion. Target PDF version. Use pvUnknown to preserve the current version.

返回值

如果文档保存成功则返回 True,失败则返回 False

说明

将当前文档保存到文件路径或 TStreamOption 参数控制保存模式: soNone 表示完整重写文件,而 soIncremental 只附加自上次保存以来 的更改(输出更小,但多次保存后文件会逐渐增大)

PdfVersion 参数指定输出 PDF 版本;传入 pvUnknown 可保留文档 现有版本

Compressed 属性控制保存期间是否应用对象流压缩

示例

// 保存到文件
Pdf.SaveAs('output.pdf');

// 保存到流
var MS: TMemoryStream;
MS := TMemoryStream.Create;
try
  Pdf.SaveAs(MS);
  MS.SaveToFile('output.pdf');
finally
  MS.Free;
end;

另请参阅

LoadDocument, Compressed, CreateDocument