选择题库中的试题动态生成试卷(word格式)

相信做教育系统的公司都会有这个需求,对于试题的管理最终还是要生成试卷的,怎么生成试卷呢?html当然可以在页面里拼成一个试卷了,不过html页面排版是这个问题,打印出来的效果自然不行;还有一个更重要的原因是如果生成的试卷是html格式的,那么复杂点的试题保存就是个问题。比方说有一个选择题的四个选项是四个不同的图片,又比如试题中有复杂的公式,这样的题用数据库字段去保存的话,确实是个大问题了,毕竟数据库字段只能保存字符串或二进制流嘛。

用word保存各个试题怎么样呢?一个word文件保存一个试题的话,不管是公式还是图片反正都保存到一个文件中肯定是没有问题的,问题是如果生成试卷的时候把多个试题合并到一个word文件中能不能做到,用什么技术可以做到?这里用了一个第三方的文档中间件产品soaoffice,有两个方法都可以,ApplyTemplateFromURL和InsertDocumentFromURL,前者是soaoffice给套红需求设计的,所以插入一个word文件的话,直接就把word文件插入到整个文件的最前面了;后者是插入一个word文件到当前光标处,这里使用后者InsertDocumentFromURL来实现试题文件的合并生成试卷。

思路:给教师一个选择试题的界面,选择需要使用的试题以后点“生成试卷”按钮就打开一个空白的word文件,然后用程序对应的生成多条InsertDocumentFromURL命令(就是js代码),文档打开的时候自动调用InsertDocumentFromURL方法,把教师选择的试题一个一个的插入到这个空白的word文件中,生成一个试卷。

方法:function InsertDocumentFromURL( DocURL);
功能:插入指定URL的Word文件到当前光标处。
说明:DocURL:字符串类型,Word文件的相对当前页面的URL位置。
如果DocURL参数的第一个字符是"/",那么不管当前页面路径是什么,相对路径都是Web根路径 Http://yourWebSite/开始。

细节1:本demo中打开的不是一个空白的word文件,是有个标题的“中学期中考试试题”还有个“一。 选择题” 的开头,word打开文件时默认光标位置在整个文件的最前面,所以需要把光标定位到文档末位,用js调用的office的VBA接口(soaoffice是支持js调用VBA接口的,这也是为什么用soaoffice的原因)定位光标到文档末尾:
document.getElementById('SOAOfficeCtrl').Document.Application.Selection.EndKey(6);

细节2:每插入一个试题之前给试题添加一个编号,还是用soaoffice的js调用的office的VBA接口功能,pNum是保存试题的编号:
document.getElementById('SOAOfficeCtrl').Document.Application.Selection.Range.Text = '" + String.valueOf(pNum) + ".';

细节3:本demo把各个试题文件(doc格式)直接保存到数据库字段中了,可以打开demo\demodata\soademo.mdb文件,stream表中两个字段:ID和Word,word字段中保存的“长二进制数据”就是试题文件。用soaoffice打开各个试题文件编辑的时候是用openfile.jsp页读取指定的文件输入的文件流,见代码edit.jsp中: SOACtrl.webOpen("openfile.jsp?ID="+sID, 2, "somebody", "Word.Document");
保存文件的时候,使用savefile.jsp保存文件流到数据库字段中,见代码edit.jsp中: SOACtrl.SaveDocURL = "savefile.jsp?ID=" + sID;

没做的细节:如果利用soaoffice的DocText属性在编辑试题的时候把试题的文本获取到,同样保存到数据库的文本字段里,那样就可以对试题做全文检索了,也可以做试题的预览功能,如果谁有兴趣的话,可以参考链接http://soaoffice.iteye.com/blog/771100中的方法添加上这个功能,可惜这个文章里用的是.Net,看起来会麻烦点。

本demo代码下载:http://ishare.iask.sina.com.cn/f/10669215.html
计算机试题系统主要由两部分组成:一是试题本身(试题、答案、编码),二是试题管理软件。试题是系统的基础、原材料,软件是系统的调度、加工者。  在计算机应用迅速普及的今天,试题管理软件并不少见。但要想找到一款适合大众、通用性强、简单方便的软件却不容易。针对这种情况,我们经过多年研究,开发了一套独具特色的试题管理软件。它面向大众,所有操作全部在Word环境中进行,符合人们习惯。本系统无须安装,直接拷贝就可以使用,属于绿色软件。本题系统可以实现图文混排,功能丰富,通用性强,适用于各级各类学校及教育管理部门。  下面对这个软件的特点、功能和使用方法进行介绍。 一、主要特点     (一)直接利用Word环境,使用Word的所有功能。  Word是微软公司集成办公软件Office中的一个组件,是用户使用最为广泛的软件平台之一。用其内嵌的编程语言VBA进行二次开发得到的应用软件,既可以使繁琐、重复操作自动化,提高工作效率和应用水平,同时又不改变Word原有的界面风格、系统功能和操作方式,特别是它的编辑、排版、打印功能。用户不必经过特殊学习和培训,即可使用,大大降低软件的使用门槛,提高了软件的可用性。   (二)拷贝即用,绿色软件。  本试题管理系统包含四个Word文档文件(其中带有VBA程序),只要将这些文件拷贝到任何装有Word系统的计算机中就可以直接使用,不需额外安装,不用时可直接删除,无需卸载,属于绿色软件。   (三)可以管理多媒体试题。  由于试题、答案、试卷、参数及统计信息全部在Word环境中,所以可以方便地处理文字、图形、表格、公式、符号,以及音频、视频等信息,实现对各种媒体信息的管理和加工处理。   (四)利用了教育测量理论的最新研究成果。  本题管理系统利用教育测量理论的最新研究成果,合理设置试题参数,动态制订组卷策略,使题结构科学、合理。同时,采用先进的软件技术和算法,优化了时空效率,增加了通用性、可维护性和可移植性。    二、基本功能     (一)题维护  本软件作为一个通用试题管理系统,不同课程均可以使用该软件管理相应的试题。每一门课程的试题为一个Word文档,其中包括试题及其答案。对每一道试题的参数和题干部分,可直接在Word环境中进行增、删、改、排序等操作,并可随时检测是否有重复试题出现。为醒目起见,系统可自动将试题和答案的参数涂上不同颜色。  (二)信息统计  统计整个题中各章、各题型、各难度的试题数量、分数,总题量,总分数。指定组卷时各章、各题型、各难度的抽题数量后,系统可统计出总题数,总分数。  (三)生成试卷  按照预先设置或临时指定的组卷策略,即各章、各题型、各难度的抽题数量,系统进行随机抽题,形成试卷和答案文档。   (四)试卷加工  除了用Word本身功能对试卷进行编辑、排版、打印等操作外,系统还提供了更换试题(更换符合条件的其它试题)、查看原题(定位到题中对应的试题,以便查看或修改)、删除参数(删除试卷和答案文档中全部参数,准备进行打印)功能。     三、使用方法     (一)准备软件环境  计算机系统中要装有Word2002或者更高版本。要允许Word使用“宏”,方法是在Word中选择“工具|宏|安全性”菜单项,设置安全级为“低”或“中”。   (二)打开文件  试题管理系统包含四个文档文件:“题”、“分布表”、“试卷”和“答案”。其中,“题”是主文件,只要打开该文件,其余三个文件自动打开。  每一门课程的题系统都应有一套四个这样的文件。   (三)题维护  选择“题”文档,在最前面设置标题,输入题型和内容说明信息。接下来依次输入每一道试题和答案。     图1试题的设置     1、试题格式    ---答案内容,长度不限,形式任意---  其中:  "为答案开始标记(按住Ctrl键,在按键盘上左上角的字符)  ####为试题的四位编号(与试题编号对应)。  试题和答案可直接在Word环境中进行增添、删除、修改、格式控制、排版等操作。生成试卷时,格式试题中设置  的完全相同。  选中试题的任意文本,单击题工具栏的“查找同题”按钮,如果题中有相同的内容,则光标定位到下一处,否则光标不动。  单击题工具栏的“题标图色”按钮,系统将题中全部试题和答案的参数分别涂上颜色。  “题”窗口界面及内容如图1所示。   (四)信息统计  选择“分布表”文档,单击“题统计”按钮,系统将统计整个题中各章、各题型、各难度的试题数量、分数,总题量,总分数,并填入表格相应的单元中。  在得到试题分布信息后,可以在试题分布表相应的单元格中设置组卷时各章、各题型、各难度的抽题数量,单击“抽取信息”按钮后,系统统计出抽取的总题数、总分数和试题分布信息。试题分布表及其内容如图2所示。   (五)生成试卷  在“分布表”文档的工具栏上单击“生成试卷”按钮,系统将按照指定的各章、各题型、各难度的抽题数量,进行  随机抽题,组成试卷和答案初稿,分别放到“试卷”和“答  案”文档中。接下来,可以进行调题、编辑、删除参数等加  工操作。   六)试卷加工  选择“试卷”文档,可以看到如图3所示的试卷初稿。  光标定位到任意试题参数行,单击“更换试题”按钮,系统将更换符合条件的其它试题。单击“查看原题”按钮,光标将定位到“题”文档中对应的试题,此时可查看或修改原题。  单击“删除参数”按钮,系统自动删除试卷和答案文档中全部参数。  用Word本身功能可以对试卷和答案进行编辑、排版、格式控制、打印等操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值