掌桥专利:专业的专利平台
掌桥专利
首页

文档类型识别方法、装置、设备和计算机可读存储介质

文献发布时间:2023-06-19 11:39:06


文档类型识别方法、装置、设备和计算机可读存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种文档类型识别方法、装置、设备和计算机可读存储介质。

背景技术

电子文档的格式种类多样,例如:doc、docx、ppt、pptx、xls、xlsx、pdf、rar、zip、7z等种类的文档。目前,通常是根据电子文档名的后缀来识别电子文档的文档类型。例如:.doc后缀表示word97-2003的doc文档,.docx后缀表示word2007及之后版本的doc文档。然而,通过电子文档名的后缀识别电子文档的文档类型的方式存在以下不足之处:

第一、由于电子文档名的后缀是可更改的,所以,通过后缀识别文档类型识别容易出错。例如:用户可以将电子文档名的后缀.doc更改为.docx,这样根据电子文档名的后缀识别出的文档类型将出现错误。

第二、在一些应用场景中,电子文档名是允许没有后缀的,这将导致无法识别电子文档的文档类型。例如:在linux操作系统中,电子文档名可以没有后缀。又如:通过网络流量截获的文档,也是可以没有后缀的。

综上所述,通过电子文档名的后缀识别电子文档的文档类型准确性较低。

发明内容

本发明的主要目的在于提供一种文档类型识别方法、装置、设备和计算机可读存储介质,以解决通过电子文档名的后缀识别电子文档的文档类型准确性较低的问题。

针对上述技术问题,本发明实施例是通过以下技术方案来解决的:

本发明提供了一种文档类型识别方法,包括:读取代码形式的电子文档,得到所述电子文档的文档代码;在预设的多种代码特征中,识别所述文档代码符合的代码特征;根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档;如果确定所述电子文档是结构文档,则将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型;反之,则将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型。

其中,所述读取代码形式的电子文档,包括:读取二进制代码形式或者十六进制代码形式的电子文档。

其中,所述根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档,包括:如果所述文档代码符合的代码特征是结构文档对应的代码特征,并且,所述电子文档的文档结构信息符合结构文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档;所述将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型,包括:将所述电子文档识别为所述文档结构信息符合的文档结构特征对应的文档类型。

其中,所述结构文档的种类,包括:压缩文档和复合文档;所述根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档,包括:如果所述文档代码符合的代码特征是压缩文档对应的代码特征,则对所述电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。

本发明还提供了一种文档类型识别装置,包括:读取模块,用于读取代码形式的电子文档,得到所述电子文档的文档代码;识别模块,用于在预设的多种代码特征中,识别所述文档代码符合的代码特征;确定模块,用于根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档;所述识别模块,还用于在确定所述电子文档是结构文档的情况下,将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型;反之,将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型。

其中,所述读取模块,用于读取二进制代码形式或者十六进制代码形式的电子文档。

其中,所述确定模块,用于:如果所述文档代码符合的代码特征是结构文档对应的代码特征,并且,所述电子文档的文档结构信息符合结构文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档;所述识别模块,用于将所述电子文档识别为所述文档结构信息符合的文档结构特征对应的文档类型。

其中,所述结构文档的种类,包括:压缩文档和复合文档;所述确定模块,进一步用于:如果所述文档代码符合的代码特征是压缩文档对应的代码特征,则对所述电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。

本发明还提供了一种电子设备,设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任意一项所述的文档类型识别方法。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有文档类型识别程序,所述文档类型识别程序被处理器执行时实现上述任意一项所述的文档类型识别方法。

本发明有益效果如下:

本发明根据电子文档的代码特征以及文档结构信息来识别电子文档的文档类型,由于本发明依赖于电子文档本身的代码特征和文档结构信息,不受应用场景的限制,所以文档类型的识别准确性较高,而且避免了根据电子文档的电子文档名后缀识别文档类型不准确的问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明一实施例的文档类型识别方法的流程图;

图2是根据本发明一实施例的文档类型识别装置的结构图;

图3是根据本发明一实施例的电子设备的结构图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,以下结合附图及具体实施例,对本发明作进一步地详细说明。

根据本发明的实施例,提供了一种文档类型识别方法。如图1所示,为根据本发明一实施例的文档类型识别方法的流程图。

步骤S110,读取代码形式的电子文档,得到所述电子文档的文档代码。

在本实施例中,电子文档在计算机中是以代码形式存储的。

进一步地,电子文档在计算机中是可以用二进制代码形式或者十六进制代码形式存储的,所以,可以读取二进制代码形式或者十六进制代码形式的电子文档。

步骤S120,在预设的多种代码特征中,识别所述文档代码符合的代码特征。

代码特征,是指在文档代码的预设字节位置包括预设内容的代码。

在本实施例中,可以采集文档样本集,在该文档样本集中,包括多种文档类型的电子文档。针对每种文档类型的电子文档,预先分析电子文档的文档代码的代码特征。其中,每个代码特征对应一个或者多个文档类型。

步骤S130,根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档。

电子文档的文档结构信息,包括但不限于:电子文档的目录结构以及每一级目录下的文档信息。该文档信息,包括但不限于:文件夹和文件。

在本实施例中,结构文档的种类,包括:压缩文档和复合文档。压缩文档和复合文档分别对应不同的代码特征。

压缩文档是指电子文档的格式为压缩文件格式。在本实施例中,压缩文档包括多种文档类型。压缩文件的文档类型,包括但不限于:docx文档、pptx文档和xlsx文档。其中,docx文档、pptx文档和xlsx文档对应的代码特征相同。

复合文档是指电子文档的格式为复合文件格式。在本实施例中,复合文档包括多种文档类型。复合文档的文档类型,包括但不限于:doc文档、ppt文档和xls文档。其中,doc文档、ppt文档和xls文档对应的代码特征相同。

具体而言,如果所述电子文档的文档代码符合的代码特征是结构文档对应的代码特征,并且,所述电子文档的文档结构信息符合结构文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。

文档结构特征,是指在电子文档的目录结构中存在预设种类的目录,和/或,在该目录结构的预设目录下存在预设种类的文件夹和/或文件。每个文档类型的压缩文档对应一个文档结构特征,并且,每个文档类型的复合文档对应一个文档结构特征。

进一步地,如果文档代码符合的代码特征是压缩文档对应的代码特征,则对电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。如果所述一级目录下的文档信息不符合压缩文档的任意一种文档类型对应的文档结构特征,则确定电子文档不是结构文档。

进一步地,如果文档代码符合的代码特征是复合文档对应的代码特征,则获取电子文档的文档结构信息;在预设的多种文档结构特征中,确定是否存在所述电子文档的文档结构信息符合的文档结构特征;如果存在所述电子文档的文档结构信息符合的文档结构特征,则确定所述电子文档为结构文档;如果不存在所述电子文档的文档结构信息符合的文档结构特征,则确定所述电子文档不是结构文档。

步骤S140,如果确定所述电子文档是结构文档,则将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型;反之,则将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型。

如果确定所述电子文档为结构文档,则将所述电子文档识别为所述文档结构信息符合的文档结构特征对应的文档类型。

在本实施例中,根据电子文档的代码特征以及文档结构信息来识别电子文档的文档类型,由于本实施例依赖于电子文档本身的代码特征和文档结构信息,不受应用场景的限制,所以文档类型的识别准确性较高,而且避免了根据电子文档的电子文档名后缀识别文档类型不准确的问题。

下面对本发明实施例的文档类型识别方法进行进一步地描述。

在本实施例中,电子文档的种类,包括:普通文档和结构文档。普通文档是通过代码特征可以直接识别文档类型的文档。结构文档是通过代码特征和文档结构来识别文档类型的文档。

普通文档的文档类型,包括:PNG文档,BMP文档,JPG文档,7z文档,ZIP文档,RAR文档和PDF文档。

结构文档的种类,包括:压缩文档和复合文档。其中,压缩文档的文档类型,包括:docx文档、pptx文档和xlsx文档;复合文档的文档类型,包括:doc文档、ppt文档和xls文档。

预先为每种文档类型对应设置代码特征。进一步地,预设的多种代码特征,包括但不限于:PNG文档对应的代码特征,BMG文档对应的代码特征,JPG文档对应的代码特征,7z文档对应的代码特征,ZIP文档和压缩文档对应的代码特征,RAR文档对应的代码特征,PDF文档对应的代码特征以及复合文档对应的代码特征。

其中,压缩文档首先是ZIP文档,所以压缩文档对应的代码特征与ZIP文档对应的代码特征相同。如果电子文档的文档代码符合的代码特征是压缩文档对应的代码特征,则对所述电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。如果所述一级目录下的文档信息不符合压缩文档的任意一种文档类型对应的文档结构特征,则确定所述电子文档为ZIP文档。

以二进制代码形式存储电子文档为例,预先设置二进制的代码特征和二进制的文档结构特征。

预先设置PNG文档对应的代码特征,包括:文档代码的0至7字节为0x89 0x50 0x4E0x47 0x0D 0x0A 0x1A 0x0A。其中,0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A为PNG文档标识。

预先设置BMP文档对应的代码特征,包括:文档代码的0至1字节为0x42 0x4D,2至3字节为电子文档的大小,4至7字节为0x00 0x00 0x00 0x00。其中,0x42对应的ASCII码为B;0x4D对应的ASCII码为M。

预先设置JPG文档对应的代码特征,包括:文档代码的0至9字节为0xFF 0xD8 0xFF0xE0 0x00 0x10 0x4A 0x46 0x49 0x46。其中,0-1字节用于标识JPG文档的开始位置;2-3字节用于标识JFIF应用数据块;4-5字节用于标识APP0块的长度;6-9字节的0x4A 0x460x49 0x46对应的ASCII码为JFIF。

预先设置7z文档对应的代码特征,包括:文档代码的0至5字节为0x37 0x7A 0xBC0xAF 0x27 0x1C。其中,0-1字节的0x37 0x7A对应的ASCII码为7z;2-5字节为7z文档的标识,是固定字节。

预先设置ZIP文档对应的代码特征,包括:代码特征是所述文档代码的0至3字节为0x50 0x4B 0x03 0x04。其中,0-3字节的0x50 0x4B 0x03 0x04为ZIP的固定文件头标识。0-1字节对应的ASCII码为PK,是ZIP格式的发明者Phil Katz的缩写。

预先设置RAR文档对应的代码特征,包括:文档代码的0至6字节为0x52 0x61 0x720x21 0x1A 0x07 0x00。其中,0-2字节的0x52 0x61 0x72对应的ASCII码为RAR;3-6字节为RAR文件头的固定字节。

预先设置PDF文档对应的代码特征,包括:文档代码的0至4字节为0x25 0x50 0x440x46 0x2D;其中,0-4字节0x25 0x50 0x44 0x46 0x2D对应的ASCII码为%PDF-。

预先设置压缩文档对应的代码特征,包括:文档代码的0至3字节为0x50 0x4B0x03 0x04;

预先设置复合文档对应的代码特征,包括:文档代码的0至7字节为0xD0 0xCF0x11 0xE0 0xA1 0xB1 0x1A 0xE1。

预先设置docx文档对应的文档结构特征,包括:一级目录下的文档信息包括:_rels文件、customXml文件、docProps文件、word文件和[Content_Types].xml文档;

预先设置pptx文档对应的文档结构特征,包括:一级目录下的文档信息包括:_rels文件、docProps文件、ppt文件和[Content_Types].xml文档;

预先设置xlsx文档对应的文档结构特征,包括:一级目录下的文档信息包括:_rels文件、docProps文件、xl文件和[Content_Types].xml文档;

预先设置doc文档对应的文档结构特征,包括:电子文档的文档结构信息中包括Word Document目录;

预先设置ppt文档对应的文档结构特征,包括:电子文档的文档结构信息中包括PowerPoint Document目录;

预先设置xls文档对应的文档结构特征,包括:电子文档的文档结构信息中包括Workbook目录。

在读取二进制代码形式的电子文档之后,得到电子文档的文档代码,将文档代码依次在预设的多种代码特征中进行匹配,用以识别文档代码符合的代码特征;将电子文件的文档结构信息在预设的多种文档结构特征中进行匹配,确定在预设的多种文档结构特征中是否存在电子文档符合的文档结构特征;如果电子文档存在符合的文档结构特征,则表示电子文档为结构文档,反之,则表示电子文档为普通文档。如果电子文档为结构文档,则将电子文档识别为文档结构信息对应的文档类型;如果电子文档为普通文档,则将所述电子文档识别为该文档代码符合的代码特征对应的文档类型。进一步地,在文档代码的0x30字节获取文档结构信息的获取地址,在该获取地址获取文档结构信息。具体而言:

如果所述文档代码的代码特征是所述文档代码的0至7字节为0x89 0x50 0x4E0x47 0x0D 0x0A 0x1A 0x0A,则将所述电子文档识别为PNG文档;

如果所述文档代码的代码特征是所述文档代码的0至1字节为0x42 0x4D,2至3字节为电子文档的大小,4至7字节为0x00 0x00 0x00 0x00,则将所述电子文档识别为BMP文档;

如果所述文档代码的代码特征是所述文档代码的0至9字节为0xFF 0xD8 0xFF0xE0 0x00 0x10 0x4A 0x46 0x49 0x46,则将所述电子文档识别为JPG文档;

如果所述文档代码的代码特征是所述文档代码的0至5字节为0x37 0x7A 0xBC0xAF 0x27 0x1C,则将所述电子文档识别为7z文档;

如果所述文档代码的代码特征是所述文档代码的0至3字节为0x50 0x4B 0x030x04,并且所述电子文档不是结构文档,则将所述电子文档识别为ZIP文档;

如果所述文档代码的代码特征是所述文档代码的0至6字节为0x52 0x61 0x720x21 0x1A 0x07 0x00,则将所述电子文档识别为RAR文档;

如果所述文档代码的代码特征是所述文档代码的0至4字节为0x25 0x50 0x440x46 0x2D,则将所述电子文档识别为PDF文档。

如果所述解压缩后的电子文档的一级目录下的文档信息包括:_rels文件、customXml文件、docProps文件、word文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合docx文档对应的文档结构特征;

如果所述解压缩后的电子文档的一级目录下的文档信息包括:_rels文件、docProps文件、ppt文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合pptx文档对应的文档结构特征;

如果所述解压缩后的电子文档的一级目录下的文档信息包括:_rels文件、docProps文件、xl文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合xlsx文档对应的文档结构特征;

如果所述电子文档的文档结构信息中包括Word Document目录,则确定所述电子文档的文档结构信息符合doc文档对应的文档结构特征;

如果所述电子文档的文档结构信息中包括PowerPoint Document目录,则确定所述电子文档的文档结构信息符合ppt文档对应的文档结构特征;

如果所述电子文档的文档结构信息中包括Workbook目录,则确定所述电子文档的文档结构信息符合xls文档对应的文档结构特征。

本发明实施例还提供了一种文档类型识别装置。如图2所示,为根据本发明一实施例的文档类型识别装置的结构图。

文档类型识别装置,包括:读取模块210,识别模块220和确定模块230。

读取模块210,用于读取代码形式的电子文档,得到所述电子文档的文档代码。

识别模块220,用于在预设的多种代码特征中,识别所述文档代码符合的代码特征。

确定模块230,用于根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档。

识别模块220,还用于在确定所述电子文档是结构文档的情况下,将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型;反之,将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型。

其中,所述读取模块210,用于读取二进制代码形式或者十六进制代码形式的电子文档。

其中,确定模块230,用于:如果所述文档代码符合的代码特征是结构文档对应的代码特征,并且,所述电子文档的文档结构信息符合结构文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档;所述识别模块220,用于:将所述电子文档识别为所述文档结构信息符合的文档结构特征对应的文档类型。

其中,所述结构文档的种类,包括:压缩文档和复合文档;确定模块230,进一步用于:如果所述文档代码符合的代码特征是压缩文档对应的代码特征,则对所述电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。

其中,所述压缩文档对应的代码特征,包括:所述文档代码的0至3字节为0x500x4B 0x03 0x04;所述复合文档对应的代码特征,包括:所述文档代码的0至7字节为0xD00xCF 0x11 0xE0 0xA1 0xB1 0x1A 0xE1。

其中,所述压缩文档的文档类型,包括:docx文档、pptx文档和xlsx文档;所述复合文档的文档类型,包括:doc文档、ppt文档和xls文档;其中,确定模块230,用于:如果所述一级目录下的文档信息包括:_rels文件、customXml文件、docProps文件、word文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合docx文档对应的文档结构特征;如果所述一级目录下的文档信息包括:_rels文件、docProps文件、ppt文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合pptx文档对应的文档结构特征;如果所述一级目录下的文档信息包括:_rels文件、docProps文件、xl文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合xlsx文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括Word Document目录,则确定所述电子文档的文档结构信息符合doc文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括PowerPoint Document目录,则确定所述电子文档的文档结构信息符合ppt文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括Workbook目录,则确定所述电子文档的文档结构信息符合xls文档对应的文档结构特征。

其中,所述识别模块210,用于:如果所述文档代码符合的代码特征是所述文档代码的0至7字节为0x89 0x50 0x4E 0x47 0x0D 0x0A 0x1A 0x0A,则将所述电子文档识别为PNG文档;如果所述文档代码符合的代码特征是所述文档代码的0至1字节为0x42 0x4D,2至3字节为电子文档的大小,4至7字节为0x00 0x00 0x00 0x00,则将所述电子文档识别为BMP文档;如果所述文档代码符合的代码特征是所述文档代码的0至9字节为0xFF 0xD8 0xFF0xE0 0x00 0x10 0x4A 0x46 0x49 0x46,则将所述电子文档识别为JPG文档;如果所述文档代码符合的代码特征是所述文档代码的0至5字节为0x37 0x7A 0xBC 0xAF 0x27 0x1C,则将所述电子文档识别为7z文档;如果所述文档代码符合的代码特征是所述文档代码的0至3字节为0x50 0x4B 0x03 0x04,并且所述电子文档不是结构文档,则将所述电子文档识别为ZIP文档;如果所述文档代码符合的代码特征是所述文档代码的0至6字节为0x52 0x610x72 0x21 0x1A 0x07 0x00,则将所述电子文档识别为RAR文档;如果所述文档代码符合的代码特征是所述文档代码的0至4字节为0x25 0x50 0x44 0x46 0x2D,则将所述电子文档识别为PDF文档。

本发明实施例所述的装置的功能已经在上述的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。

所述文档类型识别装置包括处理器和存储器,上述读取模块210,识别模块220和确定模块230等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据电子文档的代码特征以及文档结构信息识别电子文档的文档类型。

本发明实施例提供了一种计算机可读存储介质,其上存储有文档类型识别程序,该文档类型识别程序被处理器执行时实现所述文档类型识别方法。

本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述文档类型识别方法。

本发明实施例提供了一种电子设备,如图3所示,该电子设备30包括至少一个处理器310、以及与处理器310连接的至少一个存储器320、总线330;其中,处理器310、存储器320通过总线330完成相互间的通信;处理器310用于调用存储器320中的程序指令,以执行上述的文档类型识别方法。本文中的设备可以是服务器、PC、PAD、手机等。

本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:读取代码形式的电子文档,得到所述电子文档的文档代码;在预设的多种代码特征中,识别所述文档代码符合的代码特征;根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档;如果确定所述电子文档是结构文档,则将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型;反之,则将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型。

其中,所述读取代码形式的电子文档,包括:读取二进制代码形式或者十六进制代码形式的电子文档。

其中,所述根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档,包括:如果所述文档代码符合的代码特征是结构文档对应的代码特征,并且,所述电子文档的文档结构信息符合结构文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档;所述将所述电子文档识别为所述电子文档的文档结构信息对应的文档类型,包括:将所述电子文档识别为所述文档结构信息符合的文档结构特征对应的文档类型。

其中,所述结构文档的种类,包括:压缩文档和复合文档;所述根据所述文档代码符合的代码特征以及所述电子文档的文档结构信息,确定所述电子文档是否为结构文档,包括:如果所述文档代码符合的代码特征是压缩文档对应的代码特征,则对所述电子文档执行解压缩处理;在所述解压缩后的所述电子文档的文档结构信息中,确定一级目录下的文档信息是否符合压缩文档的其中一种文档类型对应的文档结构特征;如果所述一级目录下的文档信息符合压缩文档的其中一种文档类型对应的文档结构特征,则确定所述电子文档为结构文档。

其中,所述压缩文档对应的代码特征,包括:所述文档代码的0至3字节为0x500x4B 0x03 0x04;所述复合文档对应的代码特征,包括:所述文档代码的0至7字节为0xD00xCF 0x11 0xE0 0xA1 0xB1 0x1A 0xE1。

其中,所述压缩文档的文档类型,包括:docx文档、pptx文档和xlsx文档;所述复合文档的文档类型,包括:doc文档、ppt文档和xls文档;其中,如果所述一级目录下的文档信息包括:_rels文件、customXml文件、docProps文件、word文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合docx文档对应的文档结构特征;如果所述一级目录下的文档信息包括:_rels文件、docProps文件、ppt文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合pptx文档对应的文档结构特征;如果所述一级目录下的文档信息包括:_rels文件、docProps文件、xl文件和[Content_Types].xml文档,则确定所述一级目录下的文档信息符合xlsx文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括Word Document目录,则确定所述电子文档的文档结构信息符合doc文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括PowerPoint Document目录,则确定所述电子文档的文档结构信息符合ppt文档对应的文档结构特征;如果所述电子文档的文档结构信息中包括Workbook目录,则确定所述电子文档的文档结构信息符合xls文档对应的文档结构特征。

其中,所述将所述电子文档识别为所述文档代码符合的代码特征对应的文档类型,包括:如果所述文档代码符合的代码特征是所述文档代码的0至7字节为0x89 0x500x4E 0x47 0x0D 0x0A 0x1A 0x0A,则将所述电子文档识别为PNG文档;如果所述文档代码符合的代码特征是所述文档代码的0至1字节为0x42 0x4D,2至3字节为电子文档的大小,4至7字节为0x00 0x00 0x00 0x00,则将所述电子文档识别为BMP文档;如果所述文档代码符合的代码特征是所述文档代码的0至9字节为0xFF 0xD8 0xFF 0xE0 0x00 0x10 0x4A 0x460x49 0x46,则将所述电子文档识别为JPG文档;如果所述文档代码符合的代码特征是所述文档代码的0至5字节为0x37 0x7A 0xBC 0xAF 0x27 0x1C,则将所述电子文档识别为7z文档;如果所述文档代码符合的代码特征是所述文档代码的0至3字节为0x50 0x4B 0x030x04,并且所述电子文档不是结构文档,则将所述电子文档识别为ZIP文档;如果所述文档代码符合的代码特征是所述文档代码的0至6字节为0x52 0x61 0x72 0x21 0x1A 0x070x00,则将所述电子文档识别为RAR文档;如果所述文档代码符合的代码特征是所述文档代码的0至4字节为0x25 0x50 0x44 0x46 0x2D,则将所述电子文档识别为PDF文档。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。

存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

相关技术
  • 文档类型识别方法、装置、设备和计算机可读存储介质
  • 文档签名识别方法、装置及计算机可读存储介质
技术分类

06120113008214