function ImportXFDF(const FileName: string): Integer; overload;
function ImportXFDF(Stream: TStream): Integer; overload;
ImportXFDF 解析 XFDF XML 文档,并将其
<fields> 与 <annots> 部分应用到
当前加载的 PDF
对每个 <field> 元素,其限定名(点分层次名)会与文档中的
部件注释进行匹配,值会写入该字段的 /V 条目。对复选框和
单选按钮字段,提供的导出值用于选中匹配的开启态外观,使字段呈现为
已勾选
显式为空的 <value> 会清空匹配的字段,而省略值则保持字段不变;深层嵌套的点分字段名保留其完整层次
对每个注释元素,会在 page 属性(从零开始)指示的页面上
创建新注释。创建之后,导入器会根据相应的 XFDF 属性填充 Contents、Author
(标题)、Name(NM)、Subject、ModificationDate、CreationDate、
Icon 以及注释标志
返回已处理的字段与注释总数
注释导入会应用 RGB 颜色和内部颜色,保留显式为空的文本字段,以独立于进程区域设置的方式解析十进制坐标,并从 coords 属性还原每个标记四边形
扫描器接受带命名空间前缀的元素和属性、混合的文本与 CDATA 节点、XML 实体引用,以及对空白敏感的字段或注释内容;无效的数字 Unicode 标量引用会拒绝该 XFDF 输入
省略注释的 contents 元素会让新注释不带内容,而显式的空元素则写入空值
每个注释都必须带有 rect 属性:如果
缺失,该注释会被跳过,而不是以
零尺寸矩形创建
解析由手写的 XML 扫描器完成,而非 完整的 XML DOM,因此 ImportXFDF 不会引入 XML DOM 依赖
SaveAscoords 还原;线条端点、多边形/折线顶点和墨迹列表仍为只读,因为 PDFium 没有为这些数字数组公开相应的设置器
// 从 .xfdf 文件导入字段值和注释
Imported := Pdf1.ImportXFDF('C:\Data\form.xfdf');
Pdf1.SaveAs('C:\Data\form_filled.pdf');