Adobe PDF 文件最适合在线查看,特别是当这些文件中包含表单时。使用 Acrobat 5.x 或 Acrobat 6 Professional,您可以创建包含列表和复选框、单选按钮、文本字段或按钮的 Adobe PDF 表单。例如,表单中可以包含一个按钮,用来将表单数据发送到 Web 服务器上的脚本。(某些形式的脚本或应用程序必须位于 Web 服务器上,才能收集数据并将数据发送到其他位置,如数据库。)
从 Web 浏览器(例如,Netscape Navigator 或 Microsoft Internet Explorer)中提交 PDF 表单。如果您尝试在 Adobe Reader 中提交 PDF 表单,则系统会返回错误消息“Acrobat 表单:您需要 Web 浏览器才能提交此表单”。
创建 PDF 表单
要创建表单,请使用 Acrobat 6 Professional 中的其中一种表单工具(例如,“按钮”工具或“复选框”工具)。或者,使用 Acrobat 5.x 中的表单工具。您可以在任何 PDF 文件中创建表单,前提是 PDF 文件的安全性限制不会阻止您对文件进行修改。(您无法使用 Adobe Reader、Acrobat Approval 或 Acrobat Standard 创建表单。)
用于提交表单数据的选项
将信息添加到表单字段后,您可以从这些字段中收集信息并将其保存在表单数据格式 (FDF) 文件中。FDF 是专用于 PDF 表单字段所导出数据的文本文件格式。FDF 文件比 PDF 文件小,因为它们仅包含表单字段数据,而不是整个表单。您可以通过选择“高级 > 表单 > 导出表单数据”(Acrobat 6 Professional) 或者“文件 > 导出 > 表单数据”(Acrobat 5.x) 以在 Acrobat 中创建 FDF 文件。在 Adobe Reader 6 及更高版本中,您可以从 PDF 文件中导出表单数据。如果 PDF 文件的创建者启用了“填写表单”功能,请选择文档 > 填写表单。
您还可以设置一个表单按钮以创建 FDF 文件,并将其发送到 Web 地址 (URL)。有关更多信息,请参阅下面的“使用 CGI 脚本收集 FDF 信息”。
创建 FDF 文件后,您可以使用其他应用程序解析该文件并将信息填充到数据库中,或者可以通过电子方式将其发送到其他位置。如果将文件发送到其他位置,则可以将数据导入到该位置的 PDF 文件的表单字段中。(要导入 FDF 数据的 PDF 文件中的表单字段必须与 FDF 文件中的表单字段直接对应。)您可以使用 FDF 工具包将数据库中的数据填充到 PDF 表单字段中。您还可以使用 FDF 工具包提取表单域中的数据,以填充数据库。 有关详细信息,请参阅下面的“获取有关 Acrobat 表单和脚本的帮助”。
除了 FDF、HTML 和文本(以上都是提交表单数据的选项)之外,您还可以使用 Acrobat 5 及更高版本以 XFDF 格式提交整个 PDF 文件或其表单字段数据。XFDF 是一种 XML 编码的 FDF,可以用来对字段数据进行分层表示,但它不像 FDF 那样支持多种数据类型。例如,FDF 可以包括对 PDF 文件、数字签名和图形数据进行增量更改,但 XFDF 不能。
PDF 表单处理
在 Web 浏览器中在线查看的 PDF 表单与本地查看的 PDF 表单保持一致的功能,包括表单提交功能。要设置表单以在 Web 上使用,请评估流程中需要 Acrobat 的程度,并确定 Web 服务器接管的起点。您可以创建一个用于将表单数据格式 (FDF) 提交到 Web 地址的表单字段按钮。这些步骤将在 Acrobat 应用程序中执行。Web 服务器会处理表单数据提交的其余部分。您必须设置发送 FDF 文件的目标 URL,并附带处理 FDF 文件的说明。下述 CGI 脚本是用于接收 FDF 文件的最常见脚本类型。
下面的工作流程示例向您介绍如何使用 PDF 文件将 PDF 表单信息发送到 Web 服务器上的脚本:
1. 在 Acrobat 中创建 Acrobat PDF 表单文件,然后将该文件放置在 Web 服务器上。
2. 用户连接到您的 Web 服务器并加载 PDF 文件。
3. 用户填写 PDF 表单字段,然后单击“提交”按钮。
4. Acrobat 查看器会将表单字段信息导出为 FDF 文件。
5. 随后将 FDF 文件发送到指定的 URL。此后,便不再涉及 Acrobat 查看器。
6. 指定 URL 处的 CGI 脚本接收 FDF 文件,读取该文件,然后处理其中的信息。
提供动态 PDF 文件
您可以设置 Web 服务器脚本来填写 PDF 表单字段,或者通过向 PDF 文件提供 FDF 信息来填充 PDF 表单字段。使用数据库中的响应填充 PDF 表单字段类似于查询数据库并接收答案。您将需要一个脚本来接收响应并将其送回表单字段,然后使用数据库中的相应信息填充这些字段。(要导入 FDF 数据的 PDF 文件中的表单字段必须与 FDF 文件中的表单字段直接对应。)
例如,在用户使用 PDF 表单进行选择并提交信息后,您可能希望 Web 服务器返回一个 PDF 文件,其中显示用户所选择的选项。
动态提供 PDF 文件需要脚本以及 Web 服务器经验。在这种情况下,Acrobat 技术支持不提供任何帮助。
使用 CGI 脚本收集 FDF 信息
CGI(通用网关接口)是用于运行程序并将结果返回到 Web 浏览器的标准接口脚本语言。CGI 脚本可以读取和写入文件、访问数据库或其他应用程序。您可以使用 C 或 Perl 等编程语言在文本编辑应用程序(例如 WordPad)中编写 CGI 脚本。要创建可收集 FDF 信息的 CGI 脚本,您需要具备以下条件:
- 一种编程语言,例如 C 语言(需要编译器)或 Perl(具有强大的文本处理能力和灵活的语法)。
- 熟练掌握编程语言。与 Internet 上的许多内容一样,CGI 也会定期更改。所以,请查看最新的 CGI 规格。
- 用于接收和处理 FDF 信息的应用程序。
- Web 服务器。
Acrobat 查看器可以将 FDF 信息传送到服务器。如果信息已存在于服务器中,则 Acrobat 查看器就不能将信息转送到其他地方。使用 CGI 脚本传送信息(类似于 HTML 页面)。CGI 脚本将解析或读取 FDF 数据,然后根据其指令进行传送。
对于解析 FDF 数据的 CGI 脚本,请在从 Acrobat PDF 表单提交给 Web 服务器的信息中包含 CGI 脚本名称。脚本名称必须后跟井号 (#) 字符和大写字母“FDF”,这样脚本才会将数据识别为 FDF。例如,URL 可以读取“http:/cgi-bin/MyScript.cgi#FDF”。
有关 CGI 脚本的示例,请参阅 Acrobat FDF 工具包 SDK,您可以从 AdobePartner Connection Developers Program 网站下载。
获取有关 Acrobat 表单和脚本的帮助
Adobe Acrobat 技术支持提供一般 Acrobat 软件支持。但是,Acrobat 技术支持不提供以下方面的帮助:
- JavaScript、CGI 或其他脚本和编程语言,即使与 Acrobat 创建的文件(PDF 或 FDF)一起使用时也是如此。
- 动态页面模板。使用动态页面模板,开发人员可以创建自定义表单应用程序、目录、小册子以及其他可以快速个性化和交付的出版物。
AdobePartner Connection 为 Acrobat 表单开发人员提供文档和支持,包括适用于 Acrobat 表单的软件开发人员工具包 (SDK)。有关成为 Adobe Partner Connection 会员的信息,请访问 Adobe 网站:http://partners.adobe.com/asn/developer/main.html。对于表单资源(包括 Acrobat SDK 和 FDF 工具包),请访问 http://partners.adobe.com/asn/acrobat/docs.jsp。
其他信息
:使用“mailto:”命令测试 Acrobat 表单中的提交按钮