基于FlexPaper的高校纸质档案数字化平台建设
2016-05-14徐德光位晓晓李常先
徐德光 位晓晓 李常先
摘要:本文从纸质档案的数字化展示入手,结合高校档案存储、使用的实际情况,利用开源的FlexPaper文档浏览器组件,辅助OCR识别技术,设计了一套数字化平台建设方案。采用该方案后能够有效提升档案文件的利用率,提高工作效率。
关键词:纸质档案数字化;OCR识别技术;FlexPaper;在线浏览
中图分类号:G434 文献标识码:A 论文编号:1674-2117(2016)09-0092-04
● 引言
高校的教学和管理会涉及大量纸质档案的签发与存储,如入学登记表、学籍异动申请、学籍卡等,常规做法是把档案的基本信息存储到计算机上,使用时先查询这些信息确定档案位置,然后再去档案室手动翻找。这种做法一方面给档案查找工作带来诸多不便,另一方面也不利于档案原件的保存。
针对这一现状,笔者从纸质档案的数字化展示入手,结合高校档案存储、使用过程中的实际情况,利用开源的“FlexPaper文档浏览器”组件,辅助OCR识别技术,设计了一套纸质档案数字化平台建设方案。
● 功能分析
1.档案类型
根据高校工作的实际情况,笔者将纸质档案分为单文件型和列表型两类。单文件型是指该文件只涉及一件事情、一个主体对象,如学生的学籍异动申请、学籍卡、处分文件等。列表型是指该文件涉及多个主体对象,常以列表的形式呈现,如新生的录取名册、分班情况等。这种分类能够使平台数据库的建设更加清晰明了。
2.操作分类
为了便于平台的管理,按公开程度的不同,笔者把纸质档案又分为公共文件、部门文件和特殊文件三类。公共文件是开放给所有浏览者的档案信息,部门文件是针对某一个或多个相关部门的档案信息,特殊文件则是只授权给某些人看的档案信息。这种分类可以有效地简化平台权限的分解。
3.使用者权限
根据以上分析,笔者把使用者分为普通浏览者、部门员工和管理者三种。普通浏览者只能查看公共档案文件,无法进行复制、打印、下载等操作;部门员工可以查看、打印、下载属于该部门和授权给其个人的档案文件;管理者则可以统筹规划整个平台及管理文件分发权限。
● 系统设计
1.总体结构
纸质档案数字化平台主要包括文件上传转换、前端展示和权限分解三个模块,在前期准备工作阶段又分为档案整理编号和扫描识别两个步骤。总体结构如下页图1所示。
2.前期准备阶段
由于高校档案涉及对象复杂,事项繁多,前期纸质档案的整理编号工作就尤为重要。除了常规按年份、事项、顺序编号外,根据本平台的设计要求,还应着重标明档案的类型、面向的对象以及操作分类。
扫描识别阶段主要涉及文件的扫描存储和文件内容的OCR识别。根据上一步档案分类的不同,单文件型的档案只需手动标识出文件的主要内容和涉及的对象,列表型的档案则需识别出关键信息。笔者采用ABBYY FineReader软件进行内容识别,该软件能够快速、高效地把静态纸质文件和PDF文件转换成可管理的电子数据,并能够直接存储为RTF、TXT、DOC、CSV、XLS或HTML等格式,且能保持表格与图片中原始页面的设计。
通过上述的前期准备工作,纸质档案文件转换成了电子扫描版和文字识别版两个版本,这两个版本会在平台模块中关联展示。
3.平台模块
纸质档案数字化平台通过上传转换模块把纸质档案的扫描件或图片上传到平台,服务器会自动把上传的文件转换成前端展示模块可以识别的格式,并按相关的权限展示给使用者。
平台主要识别图片、PDF、Office文档等类型的文件,总体流程如图2所示。文件上传后,系统会自动识别文件格式,如果是平台不可识别的文件则弹出错误,进程结束;如果是图片格式或者PDF文档,则调用SWFTools工具将其转换为SWF文件,前端展示模块识别这种格式后,再调用开源的FlexPaper组件来进行展示;如果是Office文档,则调用FlashPaper工具进行相应的文件转换。
SWFTools和FlashPaper是两款电子文档转换工具,它们可以将需要的文档快速地处理成分页的SWF格式的Flash动画文件,原文档的排版样式和字体显示都不会受到影响。所有使用者都可以通过网络自由查看,并能够实施放大、缩小、翻页、搜索等操作,执行效率高。另外,SWF格式的文件可以有效控制复制和下载传播,保护档案文件安全。其中SWFTools工具主要负责图片和PDF文件的格式转化,而FlashPaper主要针对各种Office文档进行相关操作。
纸质档案数字化平台主要利用ASP编程语言设计开发,在上传转换模块需要调用服务器端安装调试好的上述转换工具才能进行操作。关键代码如下:
调用SWFTools:
Set WshShell=Server.CreateObject(“Wscript.Shell”)
IsSuccess=WshShell.Run("SWFTools\pdf2swf.exe "&pdf文件路径&"-o"&swf存储路径&" -T 9 -f -s languagedir= SWFTools\xpdf\xpdf-chinese-simplified",0,true)
调用FlashPaper:
Set WshShell=Server.CreateObject(“Wscript.Shell”)
IsSuccess=WshShell.Run("FlashPaper\FlashPrinter.exe "&pdf文件路径&" -o "&pdf文件路径,0,true)
前端展示模块的核心是经过二次开发的FlexPaper组件。FlexPaper是一款开源轻量级的在浏览器上显示SWF格式文档的组件,该组件除了能够很好地执行文档显示功能外,更重要的是能够实现文本阅读的相关操作,如上下翻页、文本缩放、查找全文等。通过Adobe Flash Builder软件对FlexPaper进行二次开发,最终编译成可在HTML中使用的Flash版本,并通过ASP编程语言对其进行调用和细节设定,如文件缩放、是否可用全屏、页面的长度和宽度、在页面的位置等,从而完成文档的展示功能。
在二次开发过程中,主要针对原版组件操作按钮功能控制问题和识别中文文件乱码问题进行编译。由于本平台需要通过权限分解模块进行相关的打印下载操作,故而需要禁用组件中的打印按钮和右键菜单的打印操作,此时需要修改FlexPaperViewer.mxml页面中的public var_PrintEnabled:Boolean代码为false,同时把本页面中的st:GradientImageButton icon="{MenuIcons.PRINT_ICON}"打印按钮代码注释掉,其他和平台设计有冲突的按钮和功能也可以通过修改FlexPaperViewer.mxml页面代码来关闭或删除。右键打印菜单则需要注释掉FlexPaperViewer_Base.mxml页面中的contextMenu.customItems.push(cmi_print)代码。识别中文文件乱码问题则需要修改FlexPaperViewer.mxml页面中的public var_localeChain:String为zh_CN。
FlexPaper组件进行二次开发以后,就可以在平台中部署和调用了。
ASP编程语言调用FlexPaper组件的关键代码如下:
4.平台框架
目前,纸质档案数字化平台已完成主要的模块设计和整合,系统框架如图3所示。
左侧框架为档案文件的展示模块。该模块可以展示档案文件的电子扫描版,并能进行放大、缩小、翻页、搜索等相关操作,原始痕迹一目了然,数字化操作方便快捷。
右侧框架上半部分为档案文件的说明操作模块。该模块会展示文件涉及的对象、时间,以及事件的概述等,若文件类型为列表型,此处则额外展示档案文件文字识别版本的链接地址和数据信息。在权限分配的前提下,本模块会显示打印、下载等相关操作按键,方便快捷。
右侧框架下半部分为相关文件展示模块。该模块会根据权限分配和浏览历史等因素显示相关的档案文件。
● 结束语
本平台一方面保护了原版纸质档案文件,另一方面也提高了档案文件的利用率,为无纸化高效办公提供了可能。该平台也可以在高校报纸编辑部、图书馆等相关部门推广应用。
参考文献:
[1]赖海明.互联网文档分享平台设计与实现[D].厦门:厦门大学,2013.
[2]岳展弘.高校数字档案馆建设策略研究[A].决策论坛——系统科学在工程决策中的应用学术研讨会论文集(上)[C].2015.
[3]钟爱青.基于FlexPaper的校内知识平台系统设计与实现[J].现代计算机(专业版).2014(18).
[4]苏苒.高校招生中考生纸质档案的重要性[A].档案管理与利用——方法 技术 实践[C].2013.
[5]杨然.基于C/S架构的教学资源共享系统研发[D].成都:四川师范大学,2014.