基於XFA架構的交互式PDF表單主要由兩部分組成,模板文件(XDP)和數據文件(data)。模板文件是由Designer設計而成的,而數據文件又是什麼樣子的呢?
讓我們來看下面這個簡單的pdf表單,如下圖:
這個表單包含以下幾個部分:一個按鈕,兩個單選按鈕,兩個文本編輯框和一個下拉框。下面我們通過Acrobat來導出它的數據文件。以Acrobat 9爲例,選擇Form -> Manage Form Data -> Export Data,
緊接着一個對話框彈出,我們選擇一個路徑來保存這個導出的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表單中的各個數據類型以及如何進行數據導入就先介紹到這裏,謝謝~