從 PDF 表單遷移到 IBM Lotus Forms

genusBIT發表於2009-03-30
在電子表單的世界裡,IBM® Lotus® Forms 和 PDF 表單是兩種最常用的產品。Lotus Forms 專案可以分為兩項截然不同的任務:從現有的電子表單中遷移以及從頭開始建立電子表單。根據 IBM Software Services for Lotus 的經驗,我們發現大多數表單專案都需要從 PDF 表單遷移到 Lotus Forms。

PDF 表單是不同於 Lotus Forms 的一類電子表單,它可以是沒有任何互動欄位的靜態二進位制檔案,也可以是嵌入動態 XML 的 XML Forms Architecture(XFA)表單。Lotus Forms Conversion Tool 3.0 是 Lotus Forms Designer 的外掛,它可以將 PDF 表單自動轉換為 Lotus Forms 3.0。它既支援靜態 PDF 檔案,又支援動態 XFA 表單。它還包括大量可以應用到轉換過程中的自定義規則及優化器。在自動轉換後,需要使用此外掛手動更新轉換後表單的表示層、XForms 例項和業務邏輯。

本文將簡要介紹 PDF 遷移專案,並且詳細介紹 Lotus Forms 3.0 轉換工具,還包括詳細的手動處理及要求清單(它是專案規模和預算的重要清單)。您應當熟悉 IBM Lotus Forms 產品。歡迎所有 IBM Lotus Forms 使用者學習並分享表單服務專案的專案經驗。

PDF 表單簡介

PDF 是可移植文件格式(Portable Document Format)的縮寫,這是由 Adobe® Systems Inc 開發的檔案格式。PDF 將從各種桌面釋出應用程式捕捉格式資訊,使其能夠傳送設定了格式的文件並根據需要在接收者的監視器或印表機中顯示這些文件。要檢視 PDF 檔案,需要使用 Adobe Reader;要建立或修改 PDF 檔案,需要使用 Adobe Acrobat Professional 或 Adobe Acrobat Designer。

PDF 表單可以分為兩種型別:靜態 PDF 表單和互動式 PDF 表單。靜態 PDF 表單是沒有互動元素的傳統 PDF 文件。這種表單是由文字、點、線和圖形等靜態元素組成的,檔案儲存為二進位制格式。

另一種 PDF 表單是互動式 PDF 表單。在 PDF 規範中,有兩種互動式表單:

  • AcroForm:PDF Specification 1.2 中引入的這種表單是從使用者那裡通過互動方式收集資訊的欄位集。互動式表單的內容和屬性都是由一個互動式表單字典定義的,這個字典引用自 PDF 檔案的文件類別的 AcroForm. 條目。
  • XML Forms Architecture(XFA):XFA 將提供基於模板的語法和處理規則集,它們將允許使用者構建互動式表單。基於模板的語法將定義使用者在其中提供資料的欄位。XFA 的開放特性將提供描述互動式表單的通用 XML 語法,這是在表單處理應用程式之間執行與表單相關的互動操作的通用基礎。這種開放特性意味著將在各種業務中應用 XFA。XFA 表單將提供大量功能:
    • 工作流程:這類表單包括資料表示、資料捕捉和資料編輯。XFA 被用作將資料提交到後臺伺服器中的前端應用程式;它還可用於列印目的。
    • 動態互動:動態功能從具有動態計算、驗證及其他特性的互動式、可編輯的表單,到伺服器生成的、機器填充的表單等各不相同。
    • 動態佈局:表單可以自動重新調整自身以適應使用者或外部資料來源(例如資料庫伺服器)提供的資料。例如,如果從伺服器中檢索到的資料有 100 行,則表單顯示 100 行。
    • 複雜度:此功能包括單頁靜態表單,動態文件將基於資料內容進行裝配,而大型生產執行包含數十萬個事務。

與 AcroForm. 相比,XFA(一種互動式表單)在以下方面更加高階:

  • XFA 可以在基於 XML 的工作流中使用。
  • XFA 將從 XFA 模板中分離資料,這將允許在支援的資料結構中擁有更大的靈活性並允許獨立於表單封裝資料。
  • XFA 可以指定動態增長的表單。
  • XFA 可以指定 Web 互動操作,例如 HTTP 和 Web 服務描述語言(Web Services Description Language,WSDL)。此類互動操作可用於將資料提交給伺服器,或請求伺服器執行計算並返回結果。
  • XFA 將與其他 XML 語法結合使用。

基於這些資訊,XFA 在本質上非常類似於 Lotus Forms。表 1 顯示了詳細比較結果。


表 1. 比較 Lotus Forms 與 XFA
功能列表 Lotus Forms XFA
元素 可擴充套件表單描述語言(Extensible Forms Description Language,XFDL)項、選項及 XForms 項、選項 XFA 項和選項
動態 XForms 重複 子表單和子表單集
驗證測試 Null、資料型別、資料模式和正規表示式測試 Null、資料型別、格式和指令碼測試
指令碼 XForms 計算和 XFDL 計算 JavaScript™
資料例項 XML 資料例項或 XForms 資料例項 XFA 資料模板
WebService 呼叫 支援 支援
數字簽名 XFDL 數字簽名 XML 數字簽名和 PDF 數字簽名
ActiveX 資料物件(ActiveX Data Object,ADO)API 支援
嵌入 HTML 中嵌入的支援 嵌入到 PDF 中的 XML Data Package(XDP)
佈局 用畫素表示的項位置或相對位置 由物件容器中的佈局處理器處理
HTML 不受支援 支援嵌入 HTML 片段


 

遷移專案需求

PDF 遷移專案涉及將現有的 PDF 表單轉換為 Lotus Forms。PDF 表單可以是靜態的,也可以是動態的。在遷移開始之前清楚地記錄專案需求至關重要,並且需求應當提供關於每張表單的有關元素的詳細資訊,以便表單開發人員可以根據明確的說明處理每個項。

通常,需求文件應當包含以下內容:

  • 一般說明:這部分內容是有關遷移的一般性指導資訊。它包括遷移範圍、功能列表,以及清晰地總結應當從 PDF 中轉換哪些內容、不應當轉換哪些內容。
  • XFDL 模板表單:此模板表單包括常用樣式和可重用元件,例如工具欄、背景顏色、列印設定、標籤字型大小和顏色、國家和省份列表等等。
  • 每張表單的詳細電子表格:對於要轉換的每張表單,都應當有一張電子表格,用於描述內容和 PDF 與 XFDL 之間的對映,因為 Lotus Forms 和 PDF 中的元素可以擁有不同的型別和屬性。如果沒有對映資訊,則表單開發人員可能難以找到合適的項型別及選項值。表 2 顯示了應當包含在電子表格中的資訊。


表 2. 樣例需求資訊

列名 描述 樣例值
項名 元素標籤 機構名
型別 轉換後的元素型別,它可以不同於 PDF Field check group
項規則 元素資料的型別 Integer,一種選項
格式 值格式,例如日期或郵政編碼 日期:MM/DD/YYYY
預設值 元素是否應當有預設值? Default 100
必填 元素是否為必填項? Yes 或 no
範圍 值範圍,通常用於數字值 1 到 100
專案長度 元素的大小 20
禁用/啟用 元素的啟用/禁用特性的邏輯 如果第一個問題的回答是 yes 則啟用
可見/不可見 元素的可見/不可見特性的邏輯 如果第一個問題的回答是 yes 則可見
幫助訊息 元素的幫助文字 填入機構名。
SID 元素 SID Agency_Name
資料例項名稱 與元素綁???在一起的資料例項名稱 Agency_Name
計算 通過其他元素計算出元素值的公式 =Month1+Month2
模式 可以應用到此元素的可重用模式 簽名按鈕型別 1
其他 關於元素的其他資訊或邏輯 簽名只適用於第 1 部分和第 2 部分



遷移步驟

在定義並記錄了需求後,您可以執行從 PDF 到 Lotus Forms 的實際遷移。通常,您需要完成兩個主要的遷移步驟:

  1. 使用轉換工具可以自動執行從 PDF 到 Lotus Forms 的原始轉換。Lotus Forms 轉換工具是一個 Lotus Forms Designer 外掛,可用於將 PDF 表單轉換為 Lotus Forms。使用此工具可以減少遷移中的手動操作。
  2. 手動更新原始轉換的表單。原始轉換的表單只包括佈局和邏輯。根據需求電子表格,表單開發人員可以檢視錶單中的各個項並逐個更新 Forms Designer 中的項。

下兩節將詳細說明這兩個步驟。

Lotus Forms 轉換工具

IBM Lotus Forms 3.0.1 的轉換工具(Forms Conversion Tool 外掛)是一種創新的、易於使用的工具,企業家和表單開發人員使用它可以輕鬆地將可遷移文件格式(Portable Document Format,PDF)檔案和 FileNet 電子表單轉換為 Lotus Forms。它還可用於轉換現有的 Lotus Forms。Lotus Forms 轉換工具 InLotus Forms 3.5 是嵌入在 Designer 3.5 中的。單擊 “參考資料” 部分中的連結以下載並安裝 Forms Conversion Tool 外掛或 Lotus Forms 3.5 試用下載。

自動轉換 PDF

在安裝轉換工具後,單擊 File - New - Convert to Lotus Forms。將顯示圖 1 所示的視窗。


圖 1. 初始的 Convert Forms 視窗
初始的 Convert Forms 視窗

圖 1 顯示了轉換工具的轉換選擇視窗。單擊 Add File 按鈕以新增更多要轉換的檔案。在格式列表中,可以選擇兩個解析器:PDF 和 FileNet。選擇 PDF 解析器進行 PDF 轉換。在配置檔案列表中選擇 pdf_default 配置檔案,然後單擊 Next。


圖 2. 選擇檔案位置
選擇檔案位置

可以在圖 2 所示的視窗中選擇儲存轉換後檔案的位置。預設位置是 PDF 檔案所在的資料夾。您還可以選擇 Designer Workspace 中的資料夾。在單擊 Finish 後,系統將轉換 PDF。圖 3 和圖 4 將顯示原始的 PDF 表單和轉換後的 XFDL 表單。


圖 3. 原始的 PDF 表單
原始的 PDF 表單

圖 4. 轉換後的 Lotus Forms 表單
轉換後的 Lotus Forms 表單

通過這兩張圖的演示,您可以看到工具轉換了大部分標籤和佈局。

自定義優化器和規則

使用預設轉換配置檔案時,轉換後的結果有時不像預期那樣好。通過建立自定義轉換檔案,您可以更加精細地調整轉換過程。選擇 Forms Designer Windows - Preferences 選單,然後在 Preference 視窗的左側窗格中選擇 Forms Conversion and Transformation Profiles,然後單擊 New 按鈕。將顯示圖 5 中所示的 Profile Edit 視窗。


圖 5. Edit Form. Conversion Profile 視窗
Edit Form. Conversion Profile 視窗

您可以使用此視窗自定義特定型別檔案的轉換配置檔案。轉換配置檔案包括以下內容:

  • 轉換規則:這些規則用於自定義所生成表單的內容,包括從模板表單中新增工具欄,更新元素字型、顏色和邊界,更改 SID 生成規則,以及更改 XFDL 源中的元素順序。
  • 生成 XForms:此選項用於選擇控制元件列表,這些控制元件都是與 XForms 資料例項繫結在一起的。
  • 佈局優化器:這些優化器包括從 PDF 元素轉換到 XFDL 元素時可以調整的引數,例如用於通過四行建立一個核取方塊的引數以及用於對齊標籤和欄位的引數。使用優化器可以基於 PDF 中的靜態項(標籤、行)在表單中建立新互動項(核取方塊、欄位),並對齊表單中的現有項(標籤或欄位)。

在我們的遷移專案中,我們總結了關於如何調整配置檔案的一般指導資訊:

  • 建立每批表單的配置檔案。每批表單都可以有不同的樣式。建立每批表單的配置檔案,並調整引數以實現最佳結果。該配置檔案可以匯入和匯出,因此每位表單開發人員可以使用相同的轉換設定。
  • 如果表單需求包括詳細的 XForms 規則,則應當建議禁用生成 XForms 例項,因為生成的例項名稱是基於 SID 的,而且通常它不適於後臺處理。
  • 如果標籤的長度設定不當而導致轉換後的表單中有一些標籤被截斷,請啟用 Use default width and height 選項。此規則可以刪除標籤的寬度和高度,它將使用 Lotus Forms 瀏覽器所計算的預設大小。
  • 如果表單中生成的欄位太少,請禁用 “Combine Adjacent Lines/Labels” 選項。行與標籤的組合將影響優化器 “Transform. a line or a box into a field” 的欄位生成特性,因為它將刪除表單中的一些行和標籤。



在自動轉換後手動更新

在大多數情況下,自動轉換的表單無法直接使用,因為表單中的資料例項並不是良好組織的,並且遷移專案通常要求資料例項遵循可以提交到後臺處理流程中的特定模式。

手動更新項

手動更新是遷移專案中的必要步驟,它用於解決自動轉換無法實現的缺失功能。有一些必要的步驟:

  1. 根據記錄的表單電子表格調整詳細的佈局、格式、邏輯和 SID。
  2. 根據業務邏輯生成 XForms 資料例項和 XForms 繫結。
  3. 在自動轉換後,未轉換的 PDF 元素(例如無法識別的顏色空間或影像)將用 XFDL 建立 XML 註釋。清除這些註釋或基於註釋更新未轉換的項都需要手動更新。
  4. 基於需求更新數字簽名。自動轉換隻可以生成 Clickwap 簽名。
  5. 基於需求更新資料提交。自動轉換不處理初始 PDF 表單中的資料提交。
  6. 基於 PDF 表單中的 JavaScript. 更新邏輯。自動轉換不會將 JavaScript. 轉換為 XFDL 指令碼。
  7. 更新圖形元素。在 PDF 表單中,可以有圖形元素,例如向量影像、斜線和曲線。這些元素不受 Lotus Forms 的支援,但是可以使用從 PDF 表單中捕捉的 JPG 或 GIF 替換這些元素。

手動的 QA 檢查清單

在手動更新後,表單即已生成並進入質量保證(QA)流程。表 3 列出了我們在遷移專案中總結的在 QA 流程中需要特別注意的項。


表 3. QA 檢查清單
名稱 描述
字型和顏色 PDF 中的某些字型或顏色無法在 Lotus Forms 中正常顯示。在 QA 流程中需要檢查所有不同之處。
佈局檢查 將 Lotus Forms 瀏覽器或 Webform. Server 中的表單佈局與原始 PDF 相比較。主要檢查標籤和行。例如,字元寬度在 PDF 中可以調整,但是在 Lotus Forms 中是固定的。這種差異可能會導致標籤的顯示有所不同。
列印檢查 列印轉換後的表單和 PDF。比較紙上列印出的表單以檢查所有不符之處。
資料驗證規則 通過在表單中輸入資料比較 PDF 與轉換後的表單中的資料驗證。
指令碼邏輯 比較 XFDL 和 XForms 邏輯與 PDF 中的 JavaScript. 以檢查它在轉換後的表單中是否已正確實現。
動態部分 PDF 和 XFDL 都支援生成動態內容。您可以通過在資料例項中生成整組資料來測試它。






結束語

通常,PDF 遷移專案包括針對每張表單詳細定義的需求、自動化的 PDF 轉換工具以及手動更新和 QA 流程。由於部分流程是自動執行的並且需要了解 PDF 的知識,因此它不同於其他 Lotus Forms 專案,例如從頭開始建立表單。利用 Lotus Forms 轉換工具是 PDF 遷移專案中的亮點。



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14751907/viewspace-580651/,如需轉載,請註明出處,否則將追究法律責任。

相關文章