在电子表单的世界里,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 是可移植文档格式(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 的实际迁移。通常,您需要完成两个主要的迁移步骤:
- 使用转换工具可以自动执行从 PDF 到 Lotus Forms 的原始转换。Lotus Forms 转换工具是一个 Lotus Forms Designer 插件,可用于将 PDF 表单转换为 Lotus Forms。使用此工具可以减少迁移中的手动操作。
- 手动更新原始转换的表单。原始转换的表单只包括布局和逻辑。根据需求电子表格,表单开发人员可以查看表单中的各个项并逐个更新 Forms Designer 中的项。
下两节将详细说明这两个步骤。
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 试用下载。
在安装转换工具后,单击 File - New - Convert to Lotus Forms。将显示图 1 所示的窗口。
图 1 显示了转换工具的转换选择窗口。单击 Add File 按钮以添加更多要转换的文件。在格式列表中,可以选择两个解析器:PDF 和 FileNet。选择 PDF 解析器进行 PDF 转换。在配置文件列表中选择 pdf_default 配置文件,然后单击 Next。
可以在图 2 所示的窗口中选择存储转换后文件的位置。默认位置是 PDF 文件所在的文件夹。您还可以选择 Designer Workspace 中的文件夹。在单击 Finish 后,系统将转换 PDF。图 3 和图 4 将显示原始的 PDF 表单和转换后的 XFDL 表单。
图 3. 原始的 PDF 表单
图 4. 转换后的 Lotus Forms 表单
通过这两张图的演示,您可以看到工具转换了大部分标签和布局。
使用默认转换配置文件时,转换后的结果有时不像预期那样好。通过创建自定义转换文件,您可以更加精细地调整转换过程。选择 Forms Designer Windows - Preferences 菜单,然后在 Preference 窗口的左侧窗格中选择 Forms Conversion and Transformation Profiles,然后单击 New 按钮。将显示图 5 中所示的 Profile Edit 窗口。
图 5. 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” 的字段生成特性,因为它将删除表单中的一些行和标签。
在大多数情况下,自动转换的表单无法直接使用,因为表单中的数据实例并不是良好组织的,并且迁移项目通常要求数据实例遵循可以提交到后台处理流程中的特定模式。
手动更新是迁移项目中的必要步骤,它用于解决自动转换无法实现的缺失功能。有一些必要的步骤:
- 根据记录的表单电子表格调整详细的布局、格式、逻辑和 SID。
- 根据业务逻辑生成 XForms 数据实例和 XForms 绑定。
- 在自动转换后,未转换的 PDF 元素(例如无法识别的颜色空间或图像)将用 XFDL 创建 XML 注释。清除这些注释或基于注释更新未转换的项都需要手动更新。
- 基于需求更新数字签名。自动转换只可以生成 Clickwap 签名。
- 基于需求更新数据提交。自动转换不处理初始 PDF 表单中的数据提交。
- 基于 PDF 表单中的 JavaScript. 更新逻辑。自动转换不会将 JavaScript. 转换为 XFDL 脚本。
- 更新图形元素。在 PDF 表单中,可以有图形元素,例如矢量图像、斜线和曲线。这些元素不受 Lotus Forms 的支持,但是可以使用从 PDF 表单中捕捉的 JPG 或 GIF 替换这些元素。
在手动更新后,表单即已生成并进入质量保证(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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14751907/viewspace-580651/