基于PDF文档的网络学习资源建设
PDF文档是通过一系列对象序列来构造的。PDF对象包括直接对象和间接对象,间接对象是经过标识了的PDF对象,直接对象通常有布尔型、数值型、字符串型、名字型、数组型、字典型、空对象、流对象等基本类型。一个PDF文档包含了一个以上的页面,而每一个页面都可以包含文档、图形图象,继而加入声音和动画。在多媒体信息的组合上,完全将多种媒体信息融会在一起。
三、PDF文档与Web数据库
PDF文档的表单是PDF页面控制的对象,也是PDF向Web数据库进行数据信息传递的接口,还可以向Web数据库读取相应数据。表单的域、字段变量都能和Web数据库建立数据通道。通常Web数据库接受来自客户端的数据一般都采用CGI程序实现。开发CGI程序的语言工具众多纷繁。PDF文档作为目前电子文档的一种通用格式,其中提供的和Web数据库接口的内部结构域和字段变量,大大增强了它在互联网上的使用。我们在构建PDF文档携带的多媒体网络信息资源过程中,借助了ASP技术向Web上发布PDF,同时接受来自客户端的交互数据。
1. PDF文档表单向Web数据库提交数据
在Adobe Acrobat 4.0 PDF开发环境中,构造一个学习者登录注册(以学习者
注册信息为例)信息表单的PDF文档,文件名为Login.pdf,表单中各域名与Web数据库字段名一一相对应起来。如图所示:(略)
表单中,按钮“注册”通过鼠标事件Mouse Up驱动行为Submit form实现向服务器应用程序传递参数信息。在定义Submit form行为时,保持服务器应用程序的URL和提交信息的ASP程序相一致。输出格式为HTML form(URL encoded),选择输出的表单域的域名。
在服务器的ASP应用程序中,利用VBScript语句Request来获取PDF文档表单域的域名参数信息,书写格式为:
Request(“field_name”)
对于接受到的PDF文档的表单数据,将通过ODBC驱动?注入Web数据库中。服务器中的ASP程序关键代码如下:
<% d1= Request(“name”)%><%=d1%>
data.path=server.MapPath?“login.mdb”?
set conn=server.createObject?“ADOBE.Connection”?
conn.Open “Drive=?Microsoft Access Drive ??.mdb???
dbp=&data_path
SQL=“INSERT INTO data?name?…?…?” '和PDF表单域字段对应
SQL=SQL+VALUES?'“&D1&”'?' “&d2&” '?…?
Set RS=Conn.Excute?SQL?%>
<a href=/login.pdf>Return login.pdf</a>
在构造进行网络试题测试时,Web数据库取数据库Networktest.mdb,ASP程序中部分代码同上,都是接受PDF文档表单域的参数。
2. 从Web数据库中提取数据生成PDF文档
在构造的网络学习资源中,少不了要给客户端实时生成、传送试题,利用PDF文档也能轻易实现。主要就是从Web数据库中读取字段数据,生成相应PDF文档表单域字段。对于上面的程序就是一个逆过程。建立一个名为test.pdf文档文件表单域字段和数据库相对应。其他设置同上所述。
服务器ASP应用程序,从Web数据库读取字段数据后,生成FDF文件返送浏览器PDF文档。在这里PDF文档中的FDF文件格式是ASP和PDF文档的数据接口,在生成FDF格式之前必须定义服务器端的MIME类型为Application/Vnd.fdf的语句。
从Web数据库读取记录动态生成PDF文档,ASP应用程序代码如下:
<% Name=Request?“name”? %>
<% if Not trim?Name?=“ ” then
data_path=server.mapPath?“networktest.mdb”?
set conn=server.createObject?“Adobe.connection”?
conn.Open“Drive= ?Microsoft Access Drive??.mdb??? dbp=”& data_path
SQL=“ select?form data where name like ' ”&name&”'
Set RS=Conn.Excute?SQL?
IF Not
《基于PDF文档的网络学习资源建设(第2页)》