C# 从XML/FDF/XFDF导入数据到PDF表单域以及将PDF表单域导出到XML/FDF/XFDF

来源:互联网 发布:如何办理电信cn2网络 编辑:程序博客网 时间:2024/05/21 07:52

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文件到PDFloadedForm.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/,感兴趣的朋友可以下载试试。希望本文能给大家带来一定的帮助,如果有任何疑问,欢迎给博主留言。

0 0