PDFiumPas 文档

AttachmentCount 属性

此 API 条目保留标识符、签名、代码块和 PDF 术语的原始形式
组件: TPdf  ·  单元: PDFium
文档中声明的嵌入文件附件数量

语法

property AttachmentCount: Integer; // read only

说明

AttachmentCount 会枚举可通过目录项访问到的嵌入文件流 /Names /EmbeddedFiles 名称树(PDF 1.7 规范第 7.11 节)中的条目。这些是被打包进 PDF 的任意文件(XML、电子表格、源 CAD、签名 XML、ZIP 归档等),并由查看器在“附件”侧栏中显示。PDF/A-3 尤其要求将每个相关源文件都以这种方式嵌入,以便长期可复现

ActiveFalse,或者文档不包含嵌入文件时,值为 0。文件附件 注释(子类型 /FileAttachment计入这里的数量,它们属于页面级注释,并通过 AnnotationCount 访问。PDFiumPas 通过 Attachment[Index] 将嵌入流暴露为 TBytes;可读的文件名和 MIME 风格类型则可通过 AttachmentName[Index]AttachmentType[Index] 获取

典型循环是 for I := 0 to Pdf.AttachmentCount - 1 do。每次 Attachment[I] 访问都会把嵌入文件流解压到内存中,因此如果你需要把它写到磁盘并传给解析器,就先缓存 TBytes。新增或移除附件会使索引失效,变更后请重新读取 AttachmentCount

备注

示例

var I: Integer;
var Data: TBytes;
for I := 0 to Pdf1.AttachmentCount - 1 do
begin
  Data := Pdf1.Attachment[I];
  TFile.WriteAllBytes(Pdf1.AttachmentName[I], Data);
end;

另请参阅

Attachment, AttachmentName, AttachmentType, AnnotationCount