欢迎来到天天文库
浏览记录
ID:11661638
大小:683.00 KB
页数:32页
时间:2018-07-13
《基于word xml的多维自动抽取组件设计的开发与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJHUNANUNIVERSITY毕业设计(论文)设计(论文)题目:基于WordXML的多维论文自动抽取组件设计学生姓名张举学生学号20031610526专业班级软件工程2004级开发2班指导老师陈浩系主任(院长)林亚平2008年5月26日DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ基于WordXML的多维论文自动抽取组件设计摘要多维科技论文是一种新式的科技论文,可以在科技论文创作平台帮助下,进行方便高效地编辑。较之传统论文,它拥有更丰富地表达方式,如音频、视频、动画、图片等。突破传统科技论文发表周期长、表达方式单一等诸多限制,实现作者、读者、编审人员的跨时空沟通和零距离管理。当前的科技论文发表主要是以传统的word格式的文档为主,格式要求严格细致。科技论文工作者往往要花费大量的时间和精力对论文的内容和格式进行修改。这个过程繁琐而低效。本论文研究如何将word文档导入到多维论文中,通过wordxml方法对word文档中的元素结构进行自动分析,结合OfficeWord编程对象实现了对word文档中的标题、作者、email、关键字、正文、图片、音频、视频、动画等元素的自动抽取的相关方法,使用数据结构在多维论文平台中建立起树型结构,有序地表示元素,从而完成了word文档中各元素的识别,帮助论文工作者免除了大量的繁琐过程。设计程序时,还考虑到用户界面的友好性,将识别出的内容立即显示到界面。该组件使用officeword编程接口,可以作为独立的文件格式转换器使用,也可集成于多维论文创作平台,移植性强。下一步研究更多文档的xml结构,可以将多种格式的文档兼容,实现多种格式论文的导入多维论文。关键字:officeword二次开发,xml,多维论文DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJDesignofmulti-dimensionthesisabstractioncomponentbasedonWordXMLAuthor:JuZhangTutor:HaoChenAbstractMulti-dimensionscientificpaperisanewstylethesis,whichcanbeeditedeffectivelywiththehelpofscientificpapercompositionplatform.Comparedtotraditionalpaper,multi-dimensionscientificpaperownsricherpresentationmethods:audio,video,animation,picturesetc.breakthroughtherestrictionsoflongdeliverycircle,singlepresentationmethodsandimplementthezero-distantcommunicationandmanagementofauthor,reader,editor.Currentdeliveredscientificpapercanbecategorizedtotraditionalworddocumentandisformattedstrictly.Thepapercomposermustpayplentyoftimeandenergytomodifythecontentandformat.Thewholeprocessistediousandlowefficient.Thispaperfocusonhowtoimportworddocumenttomulti-dimensionplatform,andanalysiselementsofworddocumentbywordxmlautomaticallyandimplementtheautoelementsextractionoftitle,author,email,keywords,context,pictures,audio,video,animationetc.,buildthetree-typestructureofextractedelementswithrelativedatastructureandhelpthecomposeravoidredundantwork.Thiscomponentcanbenotonlyusedasindepentformattransformer,butalsointegratedinmulti-dimensionscientificpapercompositionplatform.Inthatcondition,commonpapercanbeimportedtotheplatformdirectlyforeasyedit,whichreducethetimecostandimprovetheresearchefficiencyofcomposition.ThefurtherworkistolearnmoreaboutXMLstructureandfulfillthecompatibilityandtransformsofmulti-formatsdocumentKeywords:theseconddevelopofofficeword,xml,Multi-dimensionDFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ目录1.绪论11.1课题研究的背景11.2国内外研究现状和发展趋势11.3课题研究的目的21.4课题研究的主要内容21.5本文结构22.OfficeWord开发技术和OpenXML技术简介42.1导论42.2OfficeWord开发技术42.2.1OfficeWord技术介绍42.2.2基于本课题的OfficeWord开发技术应用62.3OpenXML技术82.3.3OpenXML技术介绍82.3.4基于本课题的OpenXML技术介绍112.4本章小结113.多维论文创作平台概述123.1多维论文创作平台的历史概述123.2多维论文创作平台的功能概述123.3多维论文创作平台的开发和使用环境133.3.1多维论文创作平台所要求的系统使用环境:133.4多维论文创作平台的开发架构概述143.5多维论文创作平台的可扩展性153.5.1模块化扩展153.5.2多版本扩展163.6本章小节164.自动抽取组件的设计与实现174.1自动抽取组件主要功能和流程174.2自动抽取组件的功能实现194.2.1界面设计194.2.2抽取标题204.2.3抽取正文21DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ4.2.4抽取多维资源224.3本章小结23结论24致谢25参考文献26DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ1.绪论1.1课题研究的背景本课题来源于中国教育部科技发展中心的多维论文项目[1]。科学技术是第一生产力,科技创新与成果转化能力已成为一个国家的核心竞争力之一。科技论文是科研人员传播创新科技思想的重要载体,是促进科技成果转化为现实生产力的关键一环。然而,以纸质期刊为代表的传统科技论文存在表现形式单一、出版周期长等问题,在较大程度上束缚了科研人员创作和科研成果转化的能力,不能有效满足科研人员日益增长的使用需求。从总体上看,传统科技论文存在的主要不足有:1.传统科技论文包含的媒体格式相对单一,一般仅为文字和静态图表;2.投稿、审稿、出版周期较长,制约创新科技思想的传播速度和科研成果转化效率;3.科技论文表现力不够,无法以声音、视频、动画等多媒体方式多角度、生动形象地展现一些动态效果,如复杂实验的推导过程和模拟效果等;4.科技人员在论文创作时缺乏一个高效、便捷的集成创作、沟通和服务平台;本项目实施针对传统科技论文的诸多不足,研究集成文字、图形、图像、声音、视频、动画等多种媒体的科技论文多维表达方式及集成创作关键技术,并将借助先进的计算机网络技术陆续构建分布式环境下的科技论文集成创作平台及相关服务和管理平台,突破传统科技论文发表周期长、表达方式单一等诸多限制,实现作者、读者、编审人员的跨时空沟通和零距离管理[2]。1.2国内外研究现状和发展趋势研究现状:目前国内外的论文载体方式主要以传统的纸质期刊和电子数据库为主。这样的论文方式不具备多维度媒体展现,高效制做,方便交流和管理的特点。日益增长的信息量使得生产效率得不到有效的提高。国内外的论文管理者都在想办法研究各自标准的论文格式,可以满足上述的不足,提高科技工作者的工作效率和知识的传播率。国内的中国科技论文网站已经开发出这样的一种格式和基础平台,并在不断地完善功能,提供更多地服务。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ发展趋势:论文编辑器将作为科技工作者创作论文的主要工具[3]。使用论文编辑系统将极大地提高科技工作者对论文的创作效率。多维格式的论文可以表达出传统论文不能表达的更形象生动的信息。同时,极大的方便了作者的修改,读者的阅读。对论文的管理将不会出现格式混乱,随意修改的现状。多维论文将统一传统论文的格式,作为一种新的论文载体,更能满足科技工作者对论文的制做阅读和管理的需要。1.3课题研究的目的本课题研究的主要目的是完成多维科技论文基础创作系统的一个组件。该组件的功能是基于WordML格式分析传统word格式文件中的论文要素,将之按多维科技论文的格式要求生成多维论文,为论文的进一步加工和检索打下坚实的基础。在从传统论文向多维论文的转换过程中,对之进行手工录入将是一件费时耗力的工作。本课题最终将实现一个组件,该组件可自动导入传统的doc格式文档,通过对论文要素的智能识别和抽取,将之快速转换为xdoc格式的多维论文格式的文档。1.4课题研究的主要内容本课题研究的主要内容是完成多维科技论文基础创作系统的一个组件。该组件的功能是基于WordML格式分析传统word格式文件中的论文要素。1.识别word文档的书签,并将书签转换到多维论文文档相对应的部分[4]。运用vs2005提供的函数对xml文档解析和操作,对关键字进行识别。2.对不规则或者无书签的word文档进行自动识别,判断出标题,作者,文摘等关键字。建立数据结构,对特定关键字进行搜索,判断出正确的书签,并进行标记。3.将书签对应的内容放入多维论文文档相对应的部分,形成多维科技论文。对出现在word文档中的相关标识进行标记,进行判断处理出正确的关键字,将关键字放入xdoc格式文档的相对应部分。1.5本文结构本论文各章节的内容安排如下:1、绪论:介绍了课题研究的背景、课题的主要内容、课题研究的目的、国内外现状和发展趋势。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ2、多维论文创作平台概述:从总体上介绍多维论文创作平台,包括主要的功能,多维论文创作平台的开发架构,平台开发技术和工具。3、多维论文的officeword开发方法:介绍基于officeword2003开发的功能,office开发环境,office开发方法,多位论文的office开发方法;多维论文的WordXML技术分析:介绍WordXML格式,多维论文的xml格式,结合officeWordXML对多维论文的操作方法。4、自动抽取组件设计与实现:介绍自动抽取组件的功能介绍,界面设计,基于word平台和多维论文现有平台的接口方法,对章节的数据结构算法设计,对关键字、样式、书签等的识别方法。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ2.OfficeWord开发技术和OpenXML技术简介2.1导论本课题主要用到是两种技术officeword开发技术和openxml技术都是微软公司所提供的编程技术和格式标准[5]。微软公司的目的在于帮助开发者对微软的office系列产品进行二次开发,是office的强大功能能够在更为广泛的范围内使用和推广。针对开发者,微软在msdn上有对上述技术的详细的介绍,并对编程接口有具体的定义和文档说明。本课题所用的officeword接口主要用于对传统word文档的的内容进行解析。OpenXML主要用于对多维论文的素材进行解析和格式规范定义,使得多维论文编辑器能够有效识别转换出的多维论文。2.2OfficeWord开发技术2.2.1OfficeWord技术介绍MicrosoftOffice是微软公司开发的办公自动化软件,它包括Word、Excel和PowerPoint等办公组件,是当今主流的办公处理软件,可以作为办公和管理的平台,以提高使用者的工作效率和决策能力[6]。Office是一个庞大的办公软件和工具软件的集合体,为适应全球网络化需要,它融合了最先进的Internet技术,具有更强大的网络功能;MicrosoftOffice不仅是日常工作的重要工具,也是日常生活中电脑作业不可缺少的得力助手。1983年1月1日,微软发布WordForDos1.0,这是一个里程碑式的软件产品。技术非常领先,Word从底层开始就是为图形界面设计,是第一套可在计算机屏幕上显示粗体,斜体,能显示特殊符号的文字处理软件。支持鼠标和激光打印机。它最初是由RichardBrodie为了运行DOS的IBM计算机而在1983年编写的。随后的版本可运行于AppleMacintosh(1984年),SCOUNIX,和MicrosoftWindows(1989年),并成为了MicrosoftOffice的一部分。作为微软公司和操作系统一样重要的产品,microsoftoffice获得了公司战略性的支持。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ在之后的10年间,微软的office打败了主要的几个竞争对手,凭借强大的功能和技术支持,基本上形成市场垄断.众多的政府、公司和个人都使用微软的办公产品。为了进一步的稳固市场的领先地位,微软开发出几代office系列产品。到目前为止,微软已经开发出了最新的office2007.为了满足更加广泛的用户需求以及世界技术的发展,,微软从office2003开始就宣布将不在使用二进制文件来存持文档,所有的文档格式都将以xml为基础进行存储.并且,微软制定了自己的文档存储格式openxml,并且以此为标准向外界公开.同时,提供一系列office开发组件,支持软件开发者通过对microsoftoffice的二次开发。OfficeWord开发主要是指:基于微软的offcieword软件平台进行的二次开发,即通过对word文档中的信息的解析,分类,分析,提取出更深入的信息。对这些信息进行深加工,使之更符合用户的需要[7]。OfficeWord开发拥有很大的前景:(1)OfficeWord拥有政府,企业,个人众多数量的用户。对于word中的信息的高效深层次提取由巨大的需求。(2)在OfficeWord上,可以降低使用者的软件使用成本。(3)微软可以为Office解决方案提供快速可靠的技术支持。(4)微软提供了简洁,功能强大便于管理的word应用程序接口,方便开发人员进行学习和二次。早期的office程序是由VB(VISUALBASIC)编写的。所以基于早期版本的Office应用程序开发主要是通过VBA(VISUALBASICAPPLICATION)进行编程。由于其及其缺乏支持面向对象的能力,所以为现在的程序员带来编程的繁琐和复杂。从Office2003开始,微软的最新的.NET平台集成了Office应用开发工具,使得普通.NET程序员可以通过C#、C++的程序接口高效轻松地完成Word、Excel、Outlook、Visio等程序的二次开发。在进行Office二次开发之前需搭建好相应的开发环境,本课题使用的是VisualStudio2005+Ofiice2003平台。VisualStudio2005,在解决方案资源管理器中添加引用。在COM组件中添加名为MicrosoftOffice11.0ObjectLibrary和MicrosoftWord11.0ObjectLibrary组件后即可进行Word二次开发编程。下图是在VS2005对象浏览器中添加的引用组件:word命名空间。添加该组件后,即可在VS2005中,对word进行二次开发。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图2.1添加引用word组件2.2.2基于本课题的OfficeWord开发技术应用2.2.2.1officeWord编程模型介绍图2.2officeword对象模型图DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ上图是OfficeWord的对象模型图,图中说明了本课题开发所主要采取的对象模型和类,方法等。下面主要介绍主要的几个对象:(1)Application对象:Application对象表示Word应用程序,是其他所有对象的父级。它的所有成员通常作为一个整体应用于Word。可以使用该对象的属性和方法来控制Word环境。(2)Document对象:Microsoft.Office.Interop.Word.Document对象是Word编程的中枢。当您打开文档或创建新文档时,就创建了新的Microsoft.Office.Interop.Word.Document对象,该对象被添加到Word的Documents集合中。焦点所在的文档叫做活动文档,由Application对象的ActiveDocument属性表示。(3)Selection对象:Selection对象表示当前选择的区域。在Word用户界面中执行某项操作(例如,对文本进行加粗)时,应首先选择或突出显示文本,然后应用格式设置。Selection对象始终存在于文档中。如果未选中任何对象,它表示插入点。此外,它也可以是不连续的多个文本块。(4)Range对象Range对象表示文档中的一个连续的区域,由一个起始字符位置和一个结束字符位置定义。Range对象的数量并不局限于一个。您可以在同一文档中定义多个Range对象。Range对象具有下面的特性:它的组成成分可以是单独的插入点,也可以是一个文本范围或整个文档它包含非打印字符,例如空格、制表符和段落标记。它可以是当前选择所表示的区域,也可以表示当前选择之外的区域。与所选内容总是可见不同,它在文档中是不可见的。它不随文档保存,仅存在于代码运行期间。在向一个范围的末尾插入文本时,Word会自动扩展该范围以包含插入的文本。(5)Bookmark对象:文档中的Microsoft.Office.Interop.Word.Bookmark是控制文档中的文本的最容易的方法,在这一点上它类似于Windows窗体上的文本框控件。Microsoft.Office.Interop.Word.Bookmark对象表示文档中同时具有起始位置和结束位置的连续区域。书签用于在文档中标记一个位置,或者用作文档中的文本容器。Microsoft.Office.Interop.Word.BookmarkDFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ对象可以小到只有一个插入点,也可以大到整篇文档。Microsoft.Office.Interop.Word.Bookmark与Range对象的不同之处在于它具有以下特点:可以在设计时命名书签。Microsoft.Office.Interop.Word.Bookmark对象随文档一起保存,因此当代码停止运行或文档关闭时,它不会被删除。书签可以隐藏或变得可见,方法是将View对象的ShowBookmarks属性设置为True或False。2.2.2.2本课题中的OfficeWord开发技术应用本课题的关键是在于对word文档的内容识别和格式转化。我们已经知道,从Word2003开始,微软已经为word文档定义了标准的XML格式,目的就在于通过xml对文档格式进行规范。虽然可以通过手工操作完成对文档的转换,但这样的过程过于繁琐。所以,本课题便是通过WordAPI提供的类和方法,形成一套自动操作的方法,完成普通论文向多维论文的格式的自动转换。本课题的重点在于熟悉和运用好WordAPI,通过书签对各关键字和各种媒体内容进行自动识别和标记,然后归纳到已经规范好的多维论文文档结构当中。2.3OpenXML技术2.3.1OpenXML技术介绍2.3.1.1XML简介XML全称EXtensibleMarkupLanguage,翻译为可扩展置标语言,可扩展标记语言或可延伸标示语言,是一种置标语言。置标指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用[8]。XML与Access,Oracle和SQLServer等数据库不同,数据库提供了更强有力的数据存储和分析能力,例如:数据索引、排序、查找、相关一致性等,XML仅仅是展示数据。事实上XML与其他数据表现形式最大的不同是:他极其简单。这是一个看上去有点琐细的优点,但正是这点使XML与众不同。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJXML的简单使其易于在任何应用程序中读写数据,这使XML很快成为数据交换的唯一公共语言,虽然不同的应用软件也支持其它的数据交换格式,但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows、MacOS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。XML的主要用途有:(1)丰富文件自定文件描述并使其更丰富:属于文件为主的XML技术应用;标记是用来定义一块数据应该如何呈现;(2)解释数据:描述其它文件或在线信息:属于数据为主的XML技术应用标记是用来说明一块资料的意义(3)组态档案(ConfigurationFiles)-描述软件的组态参数2.3.1.2OpenXMLMicrosoftWord在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word文件(.doc)成为事实上最通用的标准[9]。Word文件格式的详细资料并不对外公开。Word文件格式不只一种,因为随Word软件本身的更新,文件格式也会或多或少的改版,新版的格式不一定能被旧版的程序读取(大致上是因为旧版并未内建支援新版格式的能力)。微软已经详细公布Word97的DOC格式,但是较新的版本资料目前仍未公开,只有公司内部、政府与研究机构能够获知。业界传闻说某些Word文件格式的特性甚至连微软自己都不清楚。其他与Word竞争的办公室作业软件,都必须支援事实上最通用的Word专用的档案格式。因为Word文件格式的详细资料并不对外公开,通常这种兼容性是藉由逆向工程来达成。许多文字处理器都有汇出、汇入Word档案专用的转换工具,譬如AbiWord或OpenOffice.org。(参照文本编辑器当中关于其他竞争软件的说明。)ApacheJakartaPOI是一个开放原始码的Java数据库,其主要目标是存取Word的二进制文件格式。不久前,微软自己也提供了检视器,能够不用Word程序就检视Word文件。例:WordViewer2003。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJWord97到Word2003之前的Word文件格式都是二进制文件格式。不久以前,微软声明他们接下来将以XML为基础的档案格式作为他们办公室套装软件的格式。Word2003提供WordprocessingML的选项。这是一种公开的XML档案格式,由丹麦政府等机构背书支持。Word2003的专业版能够直接处理非微软的档案规格,功能的强大是微软形成了对市场的垄断。目前,微软已经推出了Office2007系列。同时向开发人员公布了自己定义的XML格式,OpenXML作为自己产品的文档格式。该种格式兼容了word2003和word2007。在以前的Office版本当中,开发人员如果希望管理一个Office文档的内容,那么他们需要了解如何根据这种二进制文件定义的存储结构,读取和写入数据。这种过程是非常复杂的,因为Office的二进制文件被设计为主要由Office应用程序访问。应用程序内存内的结构反应的格式都可以运行在内存和硬盘比较低的计算机当中。另外,不使用Office应用程序而对Office二进制文件进行程序化的修改,被认为是文件损坏的主要原因。这使得许多开发人员不敢去修改Office二进制文件。ZIP被选择为OfficeOpenXML格式的包格式,因为它是一种理解良好的工业标准。现在,有许多的工具都可以处理ZIP格式,而且使用ZIP提供一种灵活的,模块化的结构,允许对于功能进行扩展[10]。因此,您可以使用任何可以处理工业标准的ZIP文件的工具,来访问2007MicrosoftOfficesystem的所有内容。在您打开一个容器文件后,您可以处理文档包中的任何部件。例如,您可以使用OfficeOpenXML格式打开一个Word2007文档,定位表示Word文档体的XML部件,使用任何可以编辑XML的工具来修改这个部件,然后将XML部件返回到容器包当中,从而创建一个更新的Office文档。下图为OfficeWord的OpenXML容器图,图表说明了基于WordXML格式文档的各个元素[11]。他们组成了xml的文档结构,而不是原来的二进制文件。我们可以从中看到,一个word文档的存储方式是分散的,其中的分散元素有:属性,文档xml结构,视频音频,正文,宏文件。这样的数据存储方式便于文档的存储,交流,安全。同时,通过xml统一格式,为开发人员提供了可解析的文档格式,方便了二次开发。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图2.3openxml容器图2.3.2基于本课题的OpenXML技术介绍本课题研究最终将提交一个Word格式转换工具。OpenXML是针对于OfficeWord的XML。我们将接合OpenXML的格式,遵循多维论文的格式进行存储[12]。对传统的word文档中提取的素材,用过OpenXML容器的方式进行分类处理。这样的方式更优于纯粹的文本二进制存储方式和数据库存储方式。因为二进制存储方式已经被证明它不利于文档格式的统一和优化。而数据库又会大大增加开发的复杂度[13]。所以使用XML的简单更可以容易地在任何应用程序中读写数据,并能保存数据的结构信息。因此使用XML保存模板参数将是最好选择:既能保存结构清晰的数据,又能保证有极高的安全性。2.4本章小结本章主要介绍了关于windows平台上的office二次开发的相关技术,以及wordxml格式,并对本课题所研究的自动抽取组件设计进行了技术说明对微软提供的word程序集中的主要几个对象进行的具体的描述,初步介绍了一些框架性的xml。同时,根据Office的历史,也对多维论文创作平台选择OfficeWord这样一个平台进行二次开发的原因进行了阐述。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ3.多维论文创作平台概述3.1多维论文创作平台的历史概述多维论文平台是中国科技论文在线网站(www.paper.edu.cn)大力推广的针对论文的发布、编辑、管理和使用的工具。这个平台在2007年开始开发,实现了底层的基础平台,定义了多维论文的相关格式标准、素材分类标准,平台建设性标准和体系架构和数据通信标准[14]。目前,正在逐步开发更多的组件,如本课题的将普通word格式的文档转换为多位论文格式标准文档的组件。后期的开发将完善和丰富科技论文创作平台的功能,最终平台以多维论文编辑器和阅读器的形式出现在用户面前,供用户对论文进行相关编辑和管理。图3.1多维论文创作平台主界面3.2多维论文创作平台的功能概述多维论文创作平台满足了科技论文工作者对论文更高的要求,高效的编辑模式、更多的展现形式、统一的论文格式等诸多要求[15]。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ它的主要功能是:论文创作、论文结构管理、格式转换、稿件管理、预览功能、素材库、网络资源、自动升级、个人工具箱、我的学术圈子、论文图书馆等。论文创作:主要是在集成Word上新建和编辑多维科技论文。论文结构管理:针对科技论文的特点对标题、摘要、关键词等要素进行分类管理。论文格式转换:将使用多维科技论文集成创作系统编辑的论文格式转换成其他学报如软件学报的论文格式。稿件管理:提供与中国科技论文在线网站功能类似的在线投稿和网络稿件管理功能,包括在线投稿、已发表论文、待审论文、退稿论文以及草稿箱。预览功能:对已创建好的多维科技论文进行快速预览,可实时查看声音、视频和Flash动画效果,包含多媒体对象的基本预览功能、启动时的缩略图功能、鼠标点击播放功能以及音频、视频和动画的快进、快退和停止播放等功能。素材库:为科技论文作者提供一个网络素材和个人素材的管理工具,包含音频、视频、动画素材,同时收集了一些学科诸如化学数学等学科常用的一些公式和图片。网络资源:包含中国科技论文在线的一些投稿和科技新闻信息,可以查看最新科技新闻以及站内通知等信息。自动升级:其功能是对多维科技论文集成创作系统的新版本进行后台下载和手动更新。个人工具箱:为科技论文工作者提供一些个人管理功能,包含用户注册、修改基本资料以及日志查询等基本功能。多维科技论文阅读器主要为阅读多维科技论文提供服务的,其主要功能包括:阅读多维科技论文:多维科技论文的文件格式为.xdoc,只能使用多维科技论文阅读器才能进行阅读;播放多维资源:包括论文中的音频、视频以及flash动画等多维资源;自动滚页:能够调整以合适的速度阅读全文;全屏模式:阅读器页面布满整个屏幕,阅读其中的菜单栏和窗口控件都被隐藏;调整页面视图:包括放大缩小视图以及使用缩放工具更改放大率等。3.3多维论文创作平台的开发和使用环境3.3.1多维论文创作平台所要求的系统使用环境:DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ(1)officeword2003或者2007。由于officeword的巨大数量的用户,有利于多维论文创作平台的推广。(2)windowsxp操作系统。3.3.2多维论文创作平台所要求的系统开发环境:(1)开发工具:visualstudio2005C#;(2)组件:Microsoft_Office_Tools_Word[16];(3)操作系统:windowsxp;(4)应用软件:microsoftoffice2003或microsoftoffice2007。3.4多维论文创作平台的开发架构概述多维论文创作平台主要是根据microsoft2003word开发接口和openxml2003[4]进行的二次开发。它的各个组件又是建立在多维论文创作平台上的二次开发。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图3.2系统开发总体架构图3.5多维论文创作平台的可扩展性3.5.1模块化扩展多维论文创作平台采用的是模块化的架构设计。离线编辑子系统、在线编辑子系统、多维论文素材库、在线编辑服务器、多位论文搜索引擎等模块通过系统集成,在平台上以组件的形式运行。这样的架构方式便于扩展升级,可以根据用户不断发展的需求,方便软件的及时。本课题便是基于在多维论文创作平台上的组件开发(导入Word文档),最终以组件的方式集成到平台上。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图3.3以组件的形式——"导入word文档"3.5.2多版本扩展在当前多维论文创作平台的开发中,主要使用的是MicrosoftOffice2003Word的组件进行开发,所采用的officexml版本也是基于OpenXML2003的。针对当前微软公司更为强大的Word2007和新的officexml版本OpenXML2007,多维论文创作平台同样可以通过集成的方式对新的开发接口(word2007组件)进行添加,做出兼容的组件,以便不同word版本的用户都能够使用多维论文创作平台[5]。3.6本章小节本章主要讲述了本课题所涉及的多维论文创作平台的概况。[6]平台在中国科技论文网站推出,便受到了用户的喜爱。对于这个针对的全新论文形式的创作平台,它所具有的功能,将大大提高多维论文的推广速度。让更多的科技论文工作者在论文的编写中提高工作效率,节省出大量时间。同样,便于扩展的架构使得在以后相当长的时期内,软件能够根据用户的需求变化作出及时的更新。它集合了当前强大的word编程接口和开发工具microsoftvisualstudio2005进行开发,便于软件开发者对程序进行升级,使得平台的维护工作变得可行、方便、可持续。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ4.自动抽取组件的设计与实现4.1自动抽取组件主要功能和流程自动抽取组件的主要作用是将普通的word文档转换成多维论文的专用文档形式。整个多维论文创作平台以系统集成的方式加入该组件功能。因此,组件主要设计成为控件的方式添加到平台中。用户点击“导入word文档”按钮后,选择传统word文档路径,点击“确定”,程序开始识别普通论文。这是本课题的重点。下图包含了需要识别的多位论文的各个元素:图表3-4多维论文结构图DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ其中,可以看出,普通word文档转换成多维论文文档的主要部分分为[17]:标题部分,正文部分,总结,参考文献和多维资源。标题部分包括六个子部分分为:标题、作者、联系邮箱、摘要、关键字、其他;正文部分包括一、二、三级标题以及各标题下的正文;参考文献成为单独的一个部分,没有子部;多维资源部分包括四个子部:视频,音频,动画,图形图像部分。由于图表7没有能完整截图,下图将单独呈现多维资源部分:图表4-1多维资源部分结构图对于多维论文的标题部分,可以通过关键字识别的方式进行顺序识别。对于多维论文的正文部分,需要根据样式属性,建立一个三级的树型结构图。[18]对于参考文献部分,同样通过关键字识别的方式进行识别。对于存在于正文中的多维资源,通过在书签中定义进行标记规类。下面是关于多维论文自动抽取组件的操作流程图:在文件选择对话框进行文档选择时,若没有输入路径,会弹出错误提示DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图4.2多维论文自动抽取组件的流程图4.2自动抽取组件的功能实现4.2.1界面设计下图是组件的相关的界面:DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图4.3导入word文档该窗体是一个文件选择对话框,用于用户输入word文档的路径。Opendocument函数[`19]指定打开用户输入路径的word文档,16个参数中有15个值是默认值,这说明按照word文档默认的方式打开。另外,在word开发中,所有的函数均使用引用调用,所以每一个参数前必须加上标识符“ref”。在此之后,通过returndoc,函数返回一个Document类型对象。4.2.2抽取标题下图是抽取标题部分的截图:DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图4.4自动抽取标题信息对于抽取标题部分的实现,主要通过对range对象来表示每一段的关键字。[8]通过find.execute方法确定标题、作者等关键字的位置,然后设置该段的range的开始位置。并且返回一个range对象。接着,寻找下一个关键字,把range对象的结束位置设置为找到的下一个关键字的开始位置。这时的range中所包含的内容便是上一个关键字所存储的信息。然后,我们将range范围内的内容赋值给一个字符串变量。最后,在多维论文平台上,将这个字符串变量再赋值给特定的标题子部分的函数。这些函数将其显示在窗体的指定位置,并且绑定上关键字的书签。因为作者数量不确定,所以在定义作者的range范围时候,需要提前进行循环,判断作者的数量,然后对关键字进行编码,使其和书签对应。4.2.3抽取正文正文部分需要识别至少三级标题,识别的关键字属性通过“样式”来识别。比如,一级标题的属性值是“标题一,黑体,宋体三号”DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ等。我们就在正文的range中的每一段搜寻这样的样式属性,找到匹配后,建立起树结点。遍历正文中的每一段落时,需要建立一个树型数据结构来记录父子结点。这个父子结点通过线性树来实现。下图是一篇正在多维论文创作平台上识别出的树型结构图,可以很清楚地看出各级标题之间的联系:图4.5正文树型结构图,图左边的导航栏的正文树型结构,图右边是平台编辑框里的一部分正文对于识别出的正文各级标题的关键字放进一个数组中,同样通过关键字查询来确定range范围的方法,对每一级别的标题下的正文进行内容的添加。当然,当一级标题和对应的二级标题之间没有文本时,一级标题里面的content值为“null”4.2.4抽取多维资源多维资源的位置存在于论文的很多位置,往往难于进行range定位。所以,我们把多维资源(包括:视频、音频、动画、图形图像)统统作为单独的一个paragragh来看待。在顺序遍历每一段的时候,判断文本或多维资源。若是多维资源,则定义一个书签。当然,每一种多维资源元素各自定义一个顺序数组。最后,由平台提供的处理函数进行操作,使得多维资源能够分别正确的显示在创作平台编辑栏目中。下面是一篇具体的多维论文的多维资源结构图:DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ图4.6多维论文资源结构由上图我们可以清楚地看出多维论文的多维资源的分布情况。其中,元素[i]是默认的名字,对于各个元素有名字的,可以通过将name属性添加到平台函数中,定义为该元素的书签名字。4.3本章小结本章主要介绍了自动抽取组件的功能,基于wordxml的编程思想,详细说明了每一个具体功能的实现方法,并用图列介绍了程序的效果[20]。在自动抽取组件的设计和实现中,主要用到的是word编程对象中的Document,range,bookmakt,find等对象和方法,并结合树型数据结构,实现了多维论文的自动抽取组件的功能,将普通论文转换成多维论文。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ结论本论文介绍了多维论文创作平台的相关情况和开发技术,讨论了基于该平台的自动抽取组件的OfficeWord开发技术和OpenXML的相关问题,并对本课题所使用的Word编程对象进行了较为详细的说明。论文重点研究了word文档转换的原理,方法和实现技巧,并对函数进行了细节的讨论。设计出自动抽取组件虽然能够满足文档转换的基本需求,但是对于实现的方法还需要进一步的研究和细化,使得转化的效果更好。DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ致谢真诚地感谢我的导师陈浩老师对我的关心和帮助。在我实习期间和毕业设计期间,陈浩老师无论多么忙,都定期给予我耐心和细致的辅导。在我实习期间,经常通过电话,qq,email和我交流,鼓励我更加积极乐观地去与他人交流学习。让我感到了家人一样的温暖。在毕业设计期间,陈浩老师每周都会主动联系我,询问我的毕业论文进展情况,给我讲解毕业设计中的技术难点,要点,给了我很多具体的建议和宝贵的资料。在论文的写作过程中,陈老师更是细致入微,纠正我在论文中的很多不当之处。最宝贵的是,陈老师不仅仅教我读书,从老师的举止言行中,我感受了“天道酬勤”,促使我不仅仅在毕业设计的过程中努力奋斗,更我让为自己的未来去不断拼搏。感谢我的大学室友张烨同学,将他最真实的感受与我分享,一直鼓励我不要放弃,好好加油,带我走出学习的困惑。他经常讲他所接触到的湖大优秀同学的事迹,当他从清华回来之后,向我传递了很多从来没有听过的见闻感受。还要要感谢杨永强、张玺同学。他们在毕业设计的过程中,给了我很多技术上的思想和建议,在学习上的交流使我有很大的提高。杨永强同学还不辞辛劳地为我们小组的毕业设计各项工作忙碌。感谢湖大07级研究生仲向远和许昊同学,我们一起踢球一起玩,他们带给我很多快乐,与我分享痛苦。特别感谢带我五年的辅导员潘滢伊老师。她对学生的真心爱心感动着我,让我明白懂得了善良。特别感谢我的父母。无时无刻不关心我,为我付出最多的心血。是我最安全的港湾。在湖南大学的日子即将结束了。在湖南大学求学期间,我学到了最多的专业知识,学会去做事,我更学到了如何去做人。我非常荣幸能拥有这么一帮可爱的湖南大学的老师同学们。最后,我要把特别的感谢送给我的湖南大学和湖南大学的老师同学们,在湖南大学学习生活的日子是我人生最难忘的岁月。向我在湖南大学的老师和同学们表示深深的谢意!向湖南大学表示深深的谢意!DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ参考文献[1]教育部科技发展中心.多维论文创作平台项目计划书第4页,2007.7[2]中国科技论文在线.系统功能介绍.http://ndart.paper.edu.cn/presentation.html.2007.[3]JeffProsise.Microsoft.NET程序设计技术内幕[M].清华大学出版社,2005[4]microsoftcorporationmsdn.Microsoft.Office.Tools.Word命名空间.http://msdn.microsoft.com/zh-cn/library/microsoft.office.tools.word.aspx2007[5][美]Microsoft董书夏译.MicrosoftOfficeXPDeveloper开发指南[M].北京大学出版社.2001.[6]AaronSkonnard.MicrosoftOfficeWord2003中的XML.microsoftcorporationmsdn.http://www.microsoft.com/china/msdn/library/office/office/XMLOfficeWord2003.mspx?mfr=true.2004-11-26[7]FrankRice.officeopenxml格式简介.microsoftcorporationmsdn.http://www.microsoft.com/china/msdn/library/office/office/OfficeOpenXMLFormats.mspx2007-07-06[8]李志民,万猛.网络时代的科技论文快速共享与多维表达研究,中国科技论文在线[9]李彦.IT通史-计算机技术发展与计算机企业商战风云第26章.清华大学出版社.2005.[10]史小烈,OpenXml的应用研究,控制工程,2005年第22卷第1期[11]耿祥义.XML基础教程[M].清华大学出版社.2006[12]晶辰工作室.Word2000VBA开发实例指南[M].电子工业出版社.2001.[13][美]D.F.Scott著詹晓军等译.MicrosoftOffice2000开发指南[M].水利水电出版社.2000.[14][美]StevenHolzner著陶阳,嵩敬波,王锋译.XML完全探索[M].北京:中国青年出版社,2001.[15]DaleRogerson著,杨秀章等译,COM技术内幕——微软组件对象模型,清华大学出版社,1999第1版[16][美]ThiruThangarathinam肖奕,曹俊译.ASP.Net2.0XML高级编程[M].清华大学出版社.2006.[17]邹建峰周山峰.C#企业级案例精解.人民邮电出版社.2006DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS JDFJKDHFKAHGJHLKFHJHAKHFLJKDHFKLJASHDFKJHAKLDFHDLSFHKLDSJ[1]microsoftcorporationmsdn.Word对象模型概述.http://msdn.microsoft.com/zh-cn/library/kw65a0we(VS.80).aspx2007[2][美]CliffordA.Shaffer.数据结构与算法分析(C++).电子工业出版社2002[3]StephenD.Hustion.C++网络编程-运用ACE和模式消除复杂性.电子工业出版社2007DFSGSJDFKGHERUHJKDHKLSHDKJHKSHKFHLKGHDLSFGHDSKLFHGLDKSFHGLKFGDS
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处