APP下载

Office文件资源的内容识别方式探究

2021-09-05张佳伟

计算机时代 2021年8期
关键词:解析

摘  要: 为实现对教育资源平台中课件资源的分析,进行知识图谱构建,文章通过分析现有Office文件解析技术,结合教育资源平台常见资源文件类型,通过Office文档转换程序,统一Office文件格式,再通过解析程序进行解析完成资源文件的详细内容识别。

关键词: 解析; 资源文件; 文档转换; Office文件

中图分类号:TP311          文献标识码:A     文章编号:1006-8228(2021)08-51-02

Research on content recognition of the Office document resources

Zhang Jiawei1,2

(1. Modern Education Technology Center, Xinjiang Teacher's College, Urumqi, Xinjiang 830043, China;

2. Xinjiang Laboratory of Education Cloud Technology and Resources)

Abstract: In order to realize the analysis of courseware resources in education resource platform and construct knowledge graph, this paper analyzes the existing Office file analysis technology, combines with the common resource file types of education resource platforms, unifies the Office file format by using the Office document conversion program, and completes the detailed content recognition of resource file by using the parsing program.

Key words: parse; resource file; document conversion; Office file

0 引言

教育资源平台中的课件资源格式主要是Office中的Word、Excel、PPT,对资源内容分析,就需要对Office类型文件进行解析。Office文件主要包含97-2003版和Offcie 2007及以后版本,两个版本的文件差异性较大,解析方法也不相同,Office中包含文本、表格、图形、图片、对象等,能否实现Office文件的完全解析是一个技术难点。

1 现有Office文档解析技术

本节按Java、C#、Python这三种流行语言相关组件进行说明。

⑴ Java

Java语言中用于读写Office文件的组件主要有Jacob和POI。

Jacob是一个Java-COM中间件。通过这个组件,可以在Java程序中调用Windows系统的COM组件和Win32程序库[2]。

POI提供API给Java程序对Microsoft Office格式档案读和写的功能[3]。

⑵ C#

NPOI是POI项目的.NET版本,可以实现全文索引功能,提取文档中文字和图像[4]。

⑶ Python

Python可以使用python-docx库、python-xlsx库、python-pptx库对相应文件进行读写。

诸如此类读写Office文档的组件、类库还有很多,但都不能很方便的进行文档的分析,只是可以实现简单文本内容和图片的提取,所以需要通过Office 2007及之后版本基于OPEN XML存储这一特性进行XML解析。97-2003版文件,通过转换成2007版实现[5-6]。

2 Office文档转换

97-2003版文件可以通过soffice进行转换成2007版。libreoffice和openoffice程序组件中都包含soffice程序,但功能有差异,openoffice不能满足现有需求,所以本文中選用libreoffice中的soffice程序。

Word文件进行97-2003版转2007版命令如下:

soffice --headless --convert-to docx test.doc

#结果:生成文件test.docx

soffice是用于文件转换的命令,第一个参数headless是以无界面运行;第二个参数convert-to是进行文件类型转换,其后跟第一个参数docx代表要转换成的文件类型,第二个参数test.doc代表要进行转换的文件,同时可跟“--outdir  output_path”指定转换后文件存放位置,转换后文件默认生成到终端当前目录。

Excel文件进行97-2003版转2007版命令如下:

soffice --headless --convert-to xlsx test.xls

#结果:生成文件test.xlsx

PPT文件进行97-2003版转2007版命令如下:

soffice --headless --convert-to pptx test.ppt

#结果:生成文件test.pptx

3 文档解析

教育资源存放在文件服务器中,Office文件解析通过全自动化方式进行。解析首先会判断Office文件类型,如果是2007及以后版本文件,则会执行解析前准备工作,即修改后缀为ZIP格式文件并解压该压缩包,下一步可通过解析器自动匹配相应格式解析器进行解析;如果是97-2003格式,则需通过基于soffice的文档转换程序自动将现有格式文件转换为2007及以后格式,然后执行步骤同2007及以后版本文件操作,教育资源平台Office文件解析流程如图1所示。

4 总结

教育资源服务器上的Office文件资源,通过转换格式,统一成2007及以后格式,即可轻松实现文档内容解析,详细识别文档所包含的元素类型,实现标题、段落内容、图片提取、表格识别等操作。文件格式的转换也可以通过教育资源平台上传这一步骤完成,本文所使用资源解析方法目前对于实验环境操作并没有不妥之处,但对于生产环境还需要完善现有的文件解析技术,通过二进制文件读取形式完成解析。

参考文献(References):

[1] 廖怨婷.Word文档解析及脱敏技术研究[D].西南交通大学,2018.

[2] JavaTpoint.Apache POI [EB/OL].https://www.javatpoint.com/apache-poi-introduction.

[3]Sourceforge.JACOB-Java COM Bridge [EB/OL].[2020-09-25].https://sourceforge.net/projects/jacob-project/.

[4] Codeplex.NPOI [EB/OL].https://archive.codeplex.com/?p=npoi.

[5] 隋欣,张军辉.基于.NET的word的文档信息读取解析[J].计算机光盘软件与应用,2013.24.

[6] Microsoft Word Program Manager Zeyad Rajab.Open XML SDK and Microsoft Office 2010.07/06/2010.

收稿日期:2021-03-18

基金項目:2017年新疆维吾尔自治区重点实验室开放课题“新疆双语教育资源分类识别与知识图谱构建”(2017D04009)

作者简介:张佳伟(1989-),男,甘肃礼县人,大学本科,硕士学位,工程师,主要研究方向:Linux操作系统,软件工程。

猜你喜欢

解析
睡梦解析仪
一道解析几何题的解法思考
复合场中类抛体运动解析
电竞初解析
“Fe2+与Fe3+”相关解析
参考答案与解析
看破解析几何
对称巧用解析妙解
相机解析