基于XFA架构的交互式PDF表单主要由两部分组成,模板文件(XDP)和数据文件(data)。模板文件是由Designer设计而成的,而数据文件又是什么样子的呢?

让我们来看下面这个简单的pdf表单,如下图:

 

这个表单包含以下几个部分:一个按钮,两个单选按钮,两个文本编辑框和一个下拉框。下面我们通过Acrobat来导出它的数据文件。以Acrobat 9为例,选择Form -> Manage Form Data -> Export Data,

 

紧接着一个对话框弹出,我们选择一个路径来保存这个导出的data(*.xml)文件。使用IE浏览器打开data文件,其内容如下:

 

对照上面的PDF表单内容的截图,我们很容易看出数据文件与表单中的控件是一一对应的,单选框的第一个被选中,因此RadioButtonList的值为1aaaabbbb是文本编辑框的内容,而下拉框一共有3个选项,第三个值是当前值,所以DropDownList的值为3。

目前交互式PDF表单一共支持五种数据格式,它们分别是XML SchemaSample XML DataAdobe Data ModelWSDL FileOLEDB DatabaseXML Schema是用来定义文档的合法构建模块,用户可以使用它来定义表单中控件的属性。Sample XML Data,如果你的表单没有绑定XML Schema,那么你可以使用XML data文件来把表单中的控件与data文件中的元素和属性绑定起来。Adobe Data Model的作用和前面两种数据文件差不多,它是由AdobeLiveCycle系列产品生成的,有类似于UML的功能。WSDL FileWeb服务通过使用HTTP/HTTPS协议,SOAP认证标准为表单提供功能与数据的文件,Web服务可以利用它们接收,处理命令并且把处理结果返回到用户表单之中,一个表单可以连接一个或者多个Web服务。OLEDB Database是通过微软的的OLEDB提供的ODBC驱动从而使表单与数据库之间进行数据交互,当需要从数据库中提取表单所需数据时,我们必须使用这种数据格式。

下面说说在AdobeLiveCycle Designer中,我们如何进行数据导入与绑定。首先打开Designer,然后设计一个简单的表单,如下图,

然后我们找到前面例子中导出的数据文件,通过File-> New Data Connection菜单将其导入,并通过拖拽的方式把它与设计视图中的控件一一绑定,

 

如果想通过Designer的预览模式看看最后数据导入的效果,我们还需要为预览模式选取它所需的数据文件位置,

最后点击Preview按钮进行预览,结果如下:

数据文件被导入了表单。最后说明一点,如果这时候我们直接保存表单为PDF文件,保存出来的PDF文件是不含数据的,我们需要用Acrobat或者Reader扩展功能将数据导入并且保存才可以。

 

关于PDF表单中的各个数据类型以及如何进行数据导入就先介绍到这里,谢谢~