基于XFA架构的交互式PDF表单主要由两部分组成,模板文件(XDP)和数据文件(data)。模板文件是由Designer设计而成的,而数据文件又是什么样子的呢?
让我们来看下面这个简单的pdf表单,如下图:
这个表单包含以下几个部分:一个按钮,两个单选按钮,两个文本编辑框和一个下拉框。下面我们通过Acrobat来导出它的数据文件。以Acrobat 9为例,选择Form -> Manage Form Data -> Export Data,
![](https://i-blog.csdnimg.cn/blog_migrate/acddc9212953bec8701d7a02541ddf65.png)
紧接着一个对话框弹出,我们选择一个路径来保存这个导出的data(*.xml)文件。使用IE浏览器打开data文件,其内容如下:
对照上面的PDF表单内容的截图,我们很容易看出数据文件与表单中的控件是一一对应的,单选框的第一个被选中,因此RadioButtonList的值为1,aaaa和bbbb是文本编辑框的内容,而下拉框一共有3个选项,第三个值是当前值,所以DropDownList的值为3。
目前交互式PDF表单一共支持五种数据格式,它们分别是XML Schema,Sample XML Data,Adobe Data Model,WSDL File和OLEDB Database。XML Schema是用来定义文档的合法构建模块,用户可以使用它来定义表单中控件的属性。Sample XML Data,如果你的表单没有绑定XML Schema,那么你可以使用XML data文件来把表单中的控件与data文件中的元素和属性绑定起来。Adobe Data Model的作用和前面两种数据文件差不多,它是由Adobe的LiveCycle系列产品生成的,有类似于UML的功能。WSDL File是Web服务通过使用HTTP/HTTPS协议,SOAP认证标准为表单提供功能与数据的文件,Web服务可以利用它们接收,处理命令并且把处理结果返回到用户表单之中,一个表单可以连接一个或者多个Web服务。OLEDB Database是通过微软的的OLEDB提供的ODBC驱动从而使表单与数据库之间进行数据交互,当需要从数据库中提取表单所需数据时,我们必须使用这种数据格式。
下面说说在Adobe的LiveCycle Designer中,我们如何进行数据导入与绑定。首先打开Designer,然后设计一个简单的表单,如下图,
然后我们找到前面例子中导出的数据文件,通过File-> New Data Connection菜单将其导入,并通过拖拽的方式把它与设计视图中的控件一一绑定,
如果想通过Designer的预览模式看看最后数据导入的效果,我们还需要为预览模式选取它所需的数据文件位置,
数据文件被导入了表单。最后说明一点,如果这时候我们直接保存表单为PDF文件,保存出来的PDF文件是不含数据的,我们需要用Acrobat或者Reader扩展功能将数据导入并且保存才可以。
关于PDF表单中的各个数据类型以及如何进行数据导入就先介绍到这里,谢谢~
转载于:https://blog.51cto.com/ifbateam/640317