PDFiumPas 文档

SaveAsPdfE 方法

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式。
组件: TPdf  ·  单元: PDFium
通过对基础 PDF 进行增量更新并注入 PDF/E-1 文件格式标记,将当前文档保存为符合 PDF/E-1 的文件 (ISO 24517-1:2008)

语法

function SaveAsPdfE(const FileName: string): Boolean; overload;
function SaveAsPdfE(const FileName: string; const Options: TPdfESaveOptions): Boolean; overload;

说明

SaveAsPdfE 会先执行常规 SaveAs,然后在已保存字节之上叠加一个增量更新,把文件提升为 PDF/E-1 归档(ISO 24517-1:2008,源自 PDF 1.6 的工程文档格式)。该后处理会向保存流中注入 四类标记:

输出在原始 PDF 结束之前会与基础 SaveAs 结果逐字节一致;只有增量更新会被追加到末尾。即使不理解 PDF/E 的旧版阅读器,也仍会像常规 SaveAs 一样渲染文件。两个重载的区别只在于配置的传入方式:仅文件名的形式使用 TPdfESaveOptions.Default,并从 FPDF_GetMetaTextFPDF_GetFileIdentifier 自动填充;而 TPdfESaveOptions 形式允许调用者覆盖 Title、Author、Subject、Keywords、Creator、Producer、CreationDate、ModDate、DocumentId、InstanceId 以及 Version 字符串(默认是 "PDF/E-1")

成功时返回 True。如果基础 SaveAs 失败,或者增量更新无法附加(通常是已保存字节中的 trailer 无效),则返回 False

备注

示例

// 简单的 PDF/E-1 输出,选项由文档自动填充
if Pdf1.SaveAsPdfE('C:\Drawing.pdfe.pdf') then
  ShowMessage('Saved PDF/E-1');

// 使用显式选项(覆盖 Title,自定义 Producer)
var
  Opts: TPdfESaveOptions;
begin
  Opts := TPdfESaveOptions.Default;
  Opts.Title := 'Bridge Assembly Drawing - Sheet 12';
  Opts.Producer := 'PDFiumPas';
  Pdf1.SaveAsPdfE('C:\Bridge.pdfe.pdf', Opts);
end;

另请参阅

SaveAsPdfEToStream, ValidatePdfE, PdfEConformance, SaveAsPdfA, SaveAsPdfUa