适用于空管局域网文件查阅系统的设计
摘 要:文章提出一种基于pageoffice的内部文件查阅系统,提供包括word、pdf在内的文件检索功能。研究第三方控件pageoffice在局域网内部的应用,系统基于ASP.NET通过C/S模式设计实现了对日益增加的内部文件检索与在线阅读,提高了工作效率与信息安全性能。
关键词:pageoffice;文件在线检索;文件在线阅读;局域网
引言
空管交通管理自从信息化一期开展以来,信息化方面成绩斐然,信息化通过电子文档及OA等网络技术手段使得空管业务工作与办公更加便捷、高效。与此同时,大量的政务文档、业务文档、运行手册、培训手册、设备履历等通过历史的积累,在提供历史数据与资源共享的同时带来了查询麻烦,阅读不便等问题。文章提出一种基于pageoffice的内部查阅系统,该系统通过ASP.NET实现了对局域网内的文档检索,主要包括office文档与PDF。通过系统,办公人员能够实现对文档内容关键词、文件名关键词的检索与在线阅读。这突破了传统的办公文件共享方式,也提高了效率与信息安全性。
1 基于pageoffice的检索与阅读实现机制
PageOffice是北京卓正志远软件有限公司自主提供的基于微软OFFICE的Web开发平台,能够帮助Web开发人员轻松实现在网页中嵌入微软Office的特殊功能。集成PageOffice不但能够实现在线编辑、保存Office格式的文档,而且还可以轻松实现动态数据填充和用户输入提交的高级复杂功能。因此通过pageoffice可以只关注于业务逻辑,而不再需要关心系统的文档数据处理,提高工作效率、缩短开发周期。
与网络检索不同,内部网络检索不需要一次性给予目标结果的内容摘要,因此大大简化了设计的实现。而在实际工作中检索的要求是快速。因此系统采用三级设计,第一级用于数据库的内容入库;第二级则通过SQL语言进行设计,实现了对office文档的关键词内容检索;最后一级实现了双层C/S的结构体系,通过ASP.NET设计,当用户访问系统时,客户端软件将通过IE浏览器向服务器提出要求,服务器端通过第二级的SQL语言配合需求进行文件检索,并将数据返回至客户端。
2 系统实现
2.1 系统文件入库
对于文件入库,系统通过C#进行编写,提供ACESS数据库配合设计。C#与数据库的友好交互使得ACESS数据库能较好实现本系统功能。在ACESS数据的设计上,只需要一个表空间即可,字段定义为(ID)编号、(CONTENT)内容、(TITLE)文件名。而对于文件内容的读取也只需要纯文文章件,因此可以通过pageoffice控件中的FileSaver 对象的DocumentText属性读取,实现文档的快速入库,为后续第二级查询数据做好数据基础。对于pageoffice的应用则可以先安装PageOffice的服务器端的安装程序,之后在项目的根目录下添加pageoffice文件夹的压缩包,解压之后直接夹拷贝到项目根目录下即可,而在visual2010开发平台上便可对PageOfficeCtrl控件实现一系列二次开发。
2.2 检索功能的实现
由于在第一级设计中,数据库已拥有基础数据,因此在检索过程中,并不需要第三方搜索引擎的引用,只需要通过检索数据库的TITLE字段与CONTENT字段中的字符与关键词的匹配即可实现,具体在C#中可以通过以下步骤实现:
string key=" ";
if (Request.Form["Input_KeyWord"]!=null && Request.Form["Input_KeyWord"].ToString().Trim().Length>0){
key=Request.Form["Input_KeyWord"].ToString().Trim();
}
else {
this.Page.RegisterClientScriptBlock("","<script>alert("请先输入关键字");</script>");
return;
}
string strSql="select*from word where Content like "%" +
key+"%" order by ID desc";
GetFileList(strSql,key);
其中函数GetFileList(strSql,key);用于与前台交互,获取整体文件列表。将检索到的数据,文件目录以及文件名列举到控件Table中,并与此同时提供超级链接实现对文档的在线阅读。当然,在实现之前系统必须与已设计好的ACESS进行交互,实现如下:
connection String="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|demo_search.mdb";
DataSet ds=new DataSet();
using(OleDbConnection connection=new OleDbConnection(connectionString))
{ try
{
connection.Open();
OleDbDataAdapter command=new OleDbDataAdapter(strSql, connection);
command.Fill(ds,"ds");
connection.Close();
}
catch (System.Data.OleDb.OleDbException ex)
{
throw new Exception(ex.Message);
}
}
2.3 文档的在线阅读
对于文档的在线阅读,可以通过pageoffice中的WebOpen函数实现,具体如下
PageOfficeCtrl1.WebOpen(Server.MapPath(“doc/”)+fileName,PageOffice.OpenModeType.docReadOnly,“张佚名”);也就是说,通过第二级检索,文件路径及文件名(fileName)作为参数传入函数中便可以实现文档的打开在线阅读。而打开的模式PageOffice.OpenModeType通过设置docReadOnly实现了只读查阅,对于文件的安全性有了进一步的保障。而对于多个用户同时操作与阅读文档,由pageoffice处理,这里不再赘述。
3 结束语
文章提出一种基于第三方开发软件pageoffice的局域网文件检索及在线阅读系统,系统通过C/S模式实现了对空管内部文件的阅读高效快捷与文件安全管理,可以应用与局域网共享文件较多的行业,与此同时也为空管系统其他兄弟单位提供一种参考。
参考文献
[1]彭波.大规模搜索引擎检索系统框架与实现要点[J].计算机工程与科学,2006(3).
[2]涂新辉,何婷婷,罗景.一种全文检索系统的设计与实现[J].计算机工程,2005(17).
[3]黄国景,崔志明.基于Ontology的个性化元搜索引擎研究[J].微电子学与计算机,2004(12).
作者简介:蓝仰宣(1982-),男,畲族,广东潮州,中国民用航空汕头空中交通管理站工程师,学士,本科,研究方向空管信息化。