C# 从XML/FDF/XFDF导入数据到PDF表单域以及将PDF表单域导出到XML/FDF/XFDF
XML, FDF 和 XFDF 文件简介
XML 指可扩展标记语言(Extensible Markup Language),主要被设计用来传输和存储数据。而在PDF中,我们可以将表单域的数据保存为一种单独的文件:FDF(Forms Data Format)文件。在FDF文件中,PDF表单域的数据是以键值对 (key/ value pair) 的方式存储的。同时,Adobe还提供了另一种基于XML编码格式的FDF文件:XFDF(XML Forms Data Format)文件,在XFDF文件中,PDF表单域的数据是通过XML标签以层级的方式存储的。
在本文中我将介绍如何使用免费PDF组件Free Spire.PDF来实现从XML/FDF/XFDF导入数据到PDF表单域以及将PDF表单域导出到XML/FDF/XFDF。
XML/FDF/XFDF导入到PDF表单域
该组件提供了一个PdfFormWidget类,该类中的ImportData(string fileName,DataFormat dataFormat)方法可以实现将数据从文件导入到PDF表单域,而它的DataFormat参数则指定了文件的格式,如XML、FDF或XFDF。
//加载PDF文档
PdfDocument document = new PdfDocument();
document.LoadFromFile("Import.pdf");
//获取文档中现有的表单
PdfFormWidget loadedForm = document.Form as PdfFormWidget;
//导入XML文件到PDF
loadedForm.ImportData("ImportXML.xml", DataFormat.Xml);
//导入FDF文件到PDF
//loadedForm.ImportData("ImportFDF.fdf", DataFormat.Fdf);
//导入XFDF文件到PDF
//loadedForm.ImportData("ImportXFDF.xfdf", DataFormat.XFdf);
//保存文档
document.SaveToFile("Output.pdf");
document.Close();
PDF表单域导出到XML/FDF/XFDF
将PDF表单域中的数据导出到XML/FDF/XFDF文件,我们需要使用PdfFormWidget类中的ExportData(string fileName,DataFormat dataFormat, string formName)方法:
//加载PDF文档
PdfDocument document = new PdfDocument();
document.LoadFromFile("Export.pdf");
//获取文档中现有的表单
PdfFormWidget loadedForm = document.Form as PdfFormWidget;
//将第一个表单中的数据导出到XML文件
PdfField field = loadedForm.FieldsWidget.List[0] as PdfField;
loadedForm.ExportData("Export.xml", DataFormat.Xml, field.Name);
//将第一个表单中的数据导出到FDF文件
//loadedForm.ExportData("ExportFDF.fdf", DataFormat.Fdf, field.Name);
//将第一个表单中的数据导出到XFDF文件
//loadedForm.ExportData("ExportXFDF.xfdf", DataFormat.XFdf, field.Name);
document.Close();
到XML的效果图:
文末附上组件的下载地址:https://www.nuget.org/packages/FreeSpire.PDF/,感兴趣的朋友可以下载试试。希望本文能给大家带来一定的帮助,如果有任何疑问,欢迎给博主留言。