CN108920612A - 解析doc二进制格式并提取文档中图片的方法及系统 - Google Patents
解析doc二进制格式并提取文档中图片的方法及系统 Download PDFInfo
- Publication number
- CN108920612A CN108920612A CN201810687836.1A CN201810687836A CN108920612A CN 108920612 A CN108920612 A CN 108920612A CN 201810687836 A CN201810687836 A CN 201810687836A CN 108920612 A CN108920612 A CN 108920612A
- Authority
- CN
- China
- Prior art keywords
- picture
- text
- doc
- floating type
- document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 21
- 239000012634 fragment Substances 0.000 claims abstract description 75
- 238000000605 extraction Methods 0.000 claims abstract description 40
- 238000012015 optical character recognition Methods 0.000 claims abstract description 17
- 238000005516 engineering process Methods 0.000 claims abstract description 10
- 230000004807 localization Effects 0.000 claims description 21
- 230000006835 compression Effects 0.000 claims description 7
- 238000007906 compression Methods 0.000 claims description 7
- 239000000284 extract Substances 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
Landscapes
- Character Input (AREA)
Abstract
本发明提供一种解析doc二进制格式并提取文档中图片的系统及方法,方法包括:S1.以二进制流的方式打开doc文档;S2.从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;3.从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片;S4.采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。系统包括doc二进制流打开模块、浮动式图片提取模块、内嵌式图片提取模块以及图片中文字信息提取模块。本发明通过分析二进制格式提取文件,执行效率高,兼容性高。
Description
技术领域
本发明属于文件处理领域,具体涉及一种解析doc二进制格式并提取文档中图片的方法及系统。
背景技术
Microsoft Word是当前使用中占有巨大优势的文字处理器,这使得专用的文档格式Word 文件( .doc、.docx)成为事实上最通用的标准。Word文件不仅可以保存文字、数字、符号等文本数据,也可以存储图片类数据,例如常见的 .jpg、.gif、.png等图片类型。
对于一个Word文本提取程序来说,获取其中的常规文字、数字、符号等数据,已完成了大部分功能,Word文件中还含有图片,常规从 .doc文件中提取图片的方式,是调用Microsoft Word二次开发接口来实现。有如下几个缺点:
1)完全依赖Office Word组件。必须在运行的计算机上预先安装对应版本的OfficeWord程序,或者是将Office Word程序组件和提取程序打包一起运行,才能正常使用二次开发接口。
2)处理效率低。使用二次开发接口,本质通过COM接口调用实现。通过调用二次开发接口提供的API函数,对Word文档进行分析处理,效率低。
3)兼容性低。使用二次开发接口带来的问题是,容易受Office Word组件设置的影响,如该组件已安装,但无法正常使用;如错误弹窗无法隐藏,导致处理进程卡死等等。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种解析doc二进制格式并提取文档中图片的方法及系统,是非常有必要的。
发明内容
本发明的目的在于,针对上述常规从 .doc文件中提取图片的方式完全依赖Office Word组件,处理效率低,兼容性低的缺陷,提供一种解析doc二进制格式并提取文档中图片的方法及系统,以解决上述技术问题。
为实现上述目的,本发明给出以下技术方案:
一种解析doc二进制格式并提取文档中图片的方法,包括如下步骤:
步骤S1.以二进制流的方式打开doc文档;
步骤S2.从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
步骤S3.从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片。
进一步地,还包括如下步骤:
步骤S4.采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。将文档中包含的图片进行识别,并获取其中的文字数据,大大完善了提取功能。OCR,是Optical Character Recognition的检测,是即光学字符识别技术,是一种可识别并获取图片中的文字,从而将图像信息转化为可以使用的计算机输入技术。
进一步地,步骤S2的具体步骤如下:
步骤S21. 从doc的二进制流中获取文件信息块;
步骤S22. 根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
步骤S23.若浮动式图片属性存储模块的地址和长度均为0,则没有浮动式图片;
否则,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
步骤S24.根据浮动式图片的存储地址定位到每个浮动图片,根据每个浮动图片的大小信息读取图片数据;
步骤S25.根据图片格式创建图片并保存。doc文件中所有的浮动式图片保存在指定的偏移位置中,并连续存储,根据文件信息块FIB确定浮动式图片的存储位置,进行提取;从文件信息块FIB获取浮动式图片属性存储模块,浮动式图片属性存储模块存有浮动式图片的地址和长度,从中可以定位到浮动式图片。
进一步地,步骤S3的具体步骤如下:
步骤S31.从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
步骤S32.根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;若最后一个文本段落已读完,则进入步骤S35;
步骤S33. 依次读取定位文本段落的每个字符;
若定位段落的最后一个字符已读完,则定位下一个段落,返回步骤S32;
步骤S34.判断读取的字符是否为图片占位符;
若是,根据图片占位符偏移位置信息读取内嵌式图片数据,根据图片格式创建图片并保存;
读取下一个字符,返回步骤S33;
步骤S35.结束。内嵌式图片即为嵌在文本字符之间的图片,MS DOC将所有同一段落的文本字符存储在一块连续的空间内,将内嵌式图片用一个特殊字符占位表示,即图片占位符,图片的真实数据则存储在其它指定的位置;内嵌式图片提取原理,即解析所有文字信息,找到图片占位符,根据图片占位符偏移位置信息,跳转到对应位置将内嵌式图片数据读取并写入图片文件,从而完成内嵌式图片的提取。
进一步地,步骤S34的具体步骤如下:
步骤S341.获取定位文本段落的属性信息;
若定位文本段落的属性为压缩式编码属性,则进入步骤S342;
若定位文本段落的属性为非压缩式编码属性,则进入步骤S343;
步骤S342.判断读取的字符是否为图片占位符0x01;若是,根据图片占位符0x01的偏移位置信息读取内嵌式图片并保存;读取下一个字符,返回步骤S33;
步骤S343.判断读取的字符是否为图片占位符Ox0001;若是,根据图片占位符Ox0001的偏移位置信息读取内嵌式图片并保存;读取下一个字符,返回步骤S33。每一个文本段落采用一种编码格式,文本的段落的属性信息中有文本段落的编码属性,当文本段落的编码属性为非压缩式编码属性时,图片占位符为Ox0001,当文本段落的编码属性为压缩式编码属性时,图片占位符为0x01。
进一步地,压缩式编码为ANSI编码,非压缩式编码为UNICODE编码。ANSI中的字符采用8bit,而UNICODE中的字符采用16bit。
进一步地,步骤34中根据图片占位符偏移位置信息读取内嵌式图片,具体步骤如下:
步骤S34a.根据图片占位符偏移位置获取文本段落和字符属性对应关系模块;
步骤S34b.根据文本段落和字符属性对应关系模块获取每个图片占位符所在文本段落的偏移位置;
步骤S34c.根据每个图片占位符所在文本段落的偏移位置获取文本属性结构;文本属性包括字符、图片、文本段落以及表格属性;
步骤S34d.根据文本属性结构获取图片属性;
步骤S34e.获取图片属性中的图片偏移位置和图片长度;从二进制流中定位到图片偏移位置,读取图片长度数据,获取图片的所有二进制数。根据图片占位符的偏移位置获取到文本段落和字符属性对应关系模块ChpxFkp数据结构,根据ChpxFkp的数据逐层得到内嵌式图片的偏移位置,进行内嵌式图片的读取。
进一步地,所述doc文档为Microsoft Office Word 2003及其之前版本创建的doc文档。Microsoft Office Word 2003以及更早版本都使用 MS DOC 二进制文件格式作为其默认文件格式,底层数据存储方式为复合文档格式,其中存储的图片类型包括内嵌式图片和浮动式图片。
本发明还给出如下技术方案:
一种解析doc二进制格式并提取文档中图片的系统,包括:
doc二进制流打开模块,用于以二进制流方式打开doc文档;
浮动式图片提取模块,用于从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
内嵌式图片提取模块,用于从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片;
图片中文字信息提取模块,用于采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。
进一步地,浮动式图片提取模块包括 :
文件信息块获取单元,用于从doc的二进制流中获取文件信息块;
浮动式图片属性存储模块获取单元,用于根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
浮动是图片判断单元,用于判断是否有浮动式图片,并在存在浮动式图片时,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
浮动式图片定位单元,用于根据浮动式图片的存储地址定位到每个浮动图片,根据每个浮动图片的大小信息读取图片数据;
浮动式图片创建单元,用于根据图片格式创建图片并保存;
内嵌式图片提取模块包括:
文件信息块及文本段落属性信息获取单元,用于从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
文本段落定位单元,用于根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;
字符读取单元,用于依次读取定位文本段落的每个字符;
图片占位符判断单元,用于判断读取的字符是否为图片占位符;
内嵌式图片数据读取单元,用于根据图片占位符偏移位置信息读取内嵌式图片数据;
内嵌式图片创建单元,用于根据图片格式创建图片并保存。doc文件中所有的浮动式图片保存在指定的偏移位置中,并连续存储,根据文件信息块FIB确定浮动式图片的存储位置,进行提取;从文件信息块FIB获取浮动式图片属性存储模块,浮动式图片属性存储模块存有浮动式图片的地址和长度,从中可以定位到浮动式图片。内嵌式图片即为嵌在文本字符之间的图片,MS DOC将所有同一段落的文本字符存储在一块连续的空间内,将内嵌式图片用一个特殊字符占位表示,即图片占位符,图片的真实数据则存储在其它指定的位置;内嵌式图片提取原理,解析所有文字信息,找到图片占位符,根据图片占位符偏移位置信息,跳转到对应位置将内嵌式图片数据读取并写入图片文件,从而完成内嵌式图片的提取。
本发明的有益效果在于:
本发明通过分析二进制格式并提取文件,相对于使用二次开发接口提取doc文档中的图片,具有以下几个优点:
(1)不依赖Office Word组件,无需安装Office或者提取Office组件文件,纯粹调用的Windows系统 API函数,不依赖任何第三方程序文件。
(2)二进制读取文件,并进行精确定位处理,执行效率显著提高。
(3)所有异常处理不受Office组件设置影响,不会因异常情况弹框而卡住程序,兼容性高。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
图1为本发明的方法流程图;
图2为本发明浮动式图片读取流程图;
图3为本发明内嵌式图片读取流程图;
图4为本发明根据图片定位符读取图片的流程图;
图5为本发明的系统示意图;
其中,1- doc二进制流打开模块;2-浮动式图片提取模块;2.1-文件信息块获取单元;2.2-浮动式图片属性存储模块获取单元;2.3-浮动是图片判断单元;2.4-浮动式图片定位单元;2.5-浮动式图片创建单元;3-内嵌式图片提取模块;3.1-文件信息块及文本段落属性信息获取单元;3.2-文本段落定位单元;3.3-字符读取单元;3.4-图片占位符判断单元;3.5-内嵌式图片数据读取单元;3.6-内嵌式图片创建单元;4-图片中文字信息提取模块。
具体实施方式:
为使得本发明的目的、特征、优点能够更加的明显和易懂,下面将结合本发明具体实施例中的附图,对本发明中的技术方案进行清楚、完整地描述。
实施例1:
如图1所示,一种解析doc二进制格式并提取文档中图片的方法,包括如下步骤:
步骤S1.以二进制流的方式打开doc文档;所述doc文档为Microsoft Office Word2003及其之前版本创建的doc文档;
步骤S2.从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
如图2所示,具体步骤如下:
步骤S21. 从doc的二进制流中获取文件信息块;打开doc文档的二进制数据流,从第一个字节开始读取长度898字节,获取文件信息块FIB并缓存,文件信息块FIB中包括指向文件中所有数据的指针,即数据偏移大小;
步骤S22. 根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
根据文件信息块FIB中的FibRgFcLcb97结构浮动式图片属性存储模块的地址fcDggInfo,浮动式图片属性存储模块的数据长度LcbDggInfo,获取浮动式图片属性存储模块OfficeArtContent结构数据,获取浮动式图片属性存储模块OfficeArtContent结构中存储了所有浮动式图片的偏移、图片大小信息;
步骤S23.若浮动式图片属性存储模块的地址和长度均为0,则没有浮动式图片;
若浮动式图片属性存储模块的地址fcDggInfo和浮动式图片属性存储模块的数据长度lcbDgginfo两个成员数据为0,则没有浮动式图片;
否则,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
步骤S24.根据浮动式图片的存储地址定位到每个浮动式图片,根据每个浮动式图片的大小信息读取图片数据;
步骤S25.根据图片格式创建图片并保存;
步骤S3.从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片;
如图3所示,具体步骤如下:
步骤S31.从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
Clx数据结构定义了所有文本段落的属性信息,从文件信息块获取读取Clx结构数据,读取数据时,如果FIB数据结构中fWhichTblStm等于1,应读取1Table数据流;否则读取0Table数据流。Clx数据结构的所在位置和数据长度,由FIB中FibRgFcLcb97数据结构的fcClx、lcbClx两个成员来确定;
PlcBteChpx数据结构映射了所有文本段落位置信息和文本属性之间的对应关系,从文件信息块获取PlcBteChpx数据结构,读取数据时,FIB数据结构中fWhichTblStm等于1,应读取1Table数据流;否则读取0Table数据流。PlcBteChpx数据结构的所在位置和数据长度,由FIB中FibRgFcLcb97数据结构的fcPlcfBteChpx、lcbPlcfBteChpx两个成员来确定;
步骤S32.根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;若最后一个文本段落已读完,则进入步骤S4;
步骤S33. 依次读取定位文本段落的每个字符;对于每一个文本段落,根据位置信息计算文本的开始偏移,后根据文本属性获取对应的文本段落的总长度,从而可以读取每个文本段落的所有字符数据;
若定位段落的最后一个字符已读完,则定位下一个段落,返回步骤S32;
步骤S34.判断读取的字符是否为图片占位符;
若是,根据图片占位符偏移位置信息读取内嵌式图片数据,根据图片格式创建图片并保存;
读取下一个字符,返回步骤S33;
步骤S4.采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。
如图4所示,上述实施例1中,步骤S34的具体步骤如下:
步骤S341.获取定位文本段落的属性信息;Clx数据结构定义了所有文本段落的属性信息;
若定位文本段落的属性为压缩式编码属性,则进入步骤S342;
若定位文本段落的属性为非压缩式编码属性,则进入步骤S343;压缩式编码为ANSI编码,非压缩式编码为UNICODE编码;一个文本段落为同一种编码,即要么为ANSI编码,要么为UNICODE编码;
步骤S342.判断读取的字符是否为图片占位符0x01;若是,进入步骤S344;读取下一个字符,返回步骤S33;
步骤S343.判断读取的字符是否为图片占位符Ox0001;若是,进入步骤S344;读取下一个字符,返回步骤S33;
步骤S344.根据图片占位符偏移位置获取文本段落和字符属性对应关系模块;当发现图片占位符,根据该图片占位符偏移位置获取所需ChpxFkp结构的偏移值,并进行读取,ChpxFkp结构是文本段落和字符属性对应关系的映射,大小512字节;
步骤S345.根据文本段落和字符属性对应关系模块获取每个图片占位符所在文本段落的偏移位置;遍历ChpxFkp中rgfc数组,找出等于图片标志偏移数的rgfc对应的索引值index;rgfc数组的每一个成员代表一个偏移,这个偏移代表一个文本段的开始;
步骤S346.根据每个图片占位符所在文本段落的偏移位置获取文本属性结构;文本属性包括字符、图片、文本段落以及表格属性;
rgb是ChpxFkp结构的一个成员,根据索引值index定位到rgb对应位置的chpx数据块;Chpx数据结构又分为cb、grpprl两部分,Cb占一个字节,为无符号整数,指定grpprl的大小;grpprl是一个prl数据结构的数组,指定文本属性;Prl数据结构包括成员Sprm和成员oprand;成员Sprm,占两个字节;成员operand,长度由sprm来指定,Sprm指定字符、图片、段落以及表格的属性;
遍历chpx数据块中数据,找到属性值为sprmCPicLocation(值为0X6A03)的属性;
步骤S347.根据文本属性结构获取图片属性;
在当前chpx数据结构中,跳过sprm成员大小的字节数,由Operand确定的字节数,即为当前图片在WordDocument数据流中的偏移位置。例如:Operand值为1,则sprm后一个字节代表图片偏移;Operand值为4,则sprm后4个字节代表图片偏移;
步骤S348.获取图片属性中的图片偏移位置和图片长度;从二进制流中定位到图片偏移位置,读取图片长度数据,获取图片的所有二进制数。
实施例2:
如图5所示,一种解析doc二进制格式并提取文档中图片的系统,包括:
doc二进制流打开模块1,用于以二进制流方式打开doc文档;
浮动式图片提取模块2,用于从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
浮动式图片提取模块2包括 :
文件信息块获取单元2.1,用于从doc的二进制流中获取文件信息块;
浮动式图片属性存储模块获取单元2.2, 用于根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
浮动是图片判断单元2.3,用于判断是否有浮动式图片,并在存在浮动式图片时,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
浮动式图片定位单元2.4,用于根据浮动式图片的存储地址定位到每个浮动式图片,根据每个浮动式图片的大小信息读取图片数据;
浮动式图片创建单元2.5,根据图片格式创建图片并保存;
内嵌式图片提取模块3,用于从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片;
内嵌式图片提取模块3包括:
文件信息块及文本段落属性信息获取单元3.1,用于从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
文本段落定位单元3.2,用于根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;
字符读取单元3.3,用于依次读取定位文本段落的每个字符;
图片占位符判断单元3.4,用于判断读取的字符是否为图片占位符;
内嵌式图片数据读取单元3.5,用于根据图片占位符偏移位置信息读取内嵌式图片数据;
内嵌式图片创建单元3.6,用于根据图片格式创建图片并保存;
图片中文字信息提取模块4,用于采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。
本发明的实施例是说明性的,而非限定性的,上述实施例只是帮助理解本发明,因此本发明不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他的具体实施方式,同样属于本发明保护的范围。
Claims (10)
1.一种解析doc二进制格式并提取文档中图片的方法,其特征在于,包括如下步骤:
步骤S1.以二进制流的方式打开doc文档;
步骤S2.从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
步骤S3.从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片。
2.如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,还包括如下步骤:
步骤S4.采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。
3.如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,步骤S2的具体步骤如下:
步骤S21. 从doc的二进制流中获取文件信息块;
步骤S22. 根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
步骤S23.若浮动式图片属性存储模块的地址和长度均为0,则没有浮动式图片;
否则,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
步骤S24.根据浮动式图片的存储地址定位到每个浮动式图片,根据每个浮动式图片的大小信息读取图片数据;
步骤S25.根据图片格式创建图片并保存。
4.如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,步骤S3的具体步骤如下:
步骤S31.从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
步骤S32.根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;若最后一个文本段落已读完,则进入步骤S35;
步骤S33. 依次读取定位文本段落的每个字符;
若定位段落的最后一个字符已读完,则定位下一个段落,返回步骤S32;
步骤S34.判断读取的字符是否为图片占位符;
若是,根据图片占位符偏移位置信息读取内嵌式图片数据,根据图片格式创建图片并保存;
读取下一个字符,返回步骤S33;
步骤S35.结束。
5.如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,步骤S34的具体步骤如下:
步骤S341.获取定位文本段落的属性信息;
若定位文本段落的属性为压缩式编码属性,则进入步骤S342;
若定位文本段落的属性为非压缩式编码属性,则进入步骤S343;
步骤S342.判断读取的字符是否为图片占位符0x01;若是,根据图片占位符0x01的偏移位置信息读取内嵌式图片并保存;读取下一个字符,返回步骤S33;
步骤S343.判断读取的字符是否为图片占位符Ox0001;若是,根据图片占位符Ox0001的偏移位置信息读取内嵌式图片并保存;读取下一个字符,返回步骤S33。
6.如权利要求5所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,压缩式编码为ANSI编码,非压缩式编码为UNICODE编码。
7.如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,步骤34中根据图片占位符偏移位置信息读取内嵌式图片,具体步骤如下:
步骤S34a.根据图片占位符偏移位置获取文本段落和字符属性对应关系模块;
步骤S34b.根据文本段落和字符属性对应关系模块获取每个图片占位符所在文本段落的偏移位置;
步骤S34c.根据每个图片占位符所在文本段落的偏移位置获取文本属性结构;文本属性包括字符、图片、文本段落以及表格属性;
步骤S34d.根据文本属性结构获取图片属性;
步骤S34e.获取图片属性中的图片偏移位置和图片长度;从二进制流中定位到图片偏移位置,读取图片长度数据,获取图片的所有二进制数。
8. 如权利要求1所述的一种解析doc二进制格式并提取文档中图片的方法,其特征在于,所述doc文档为Microsoft Office Word 2003及其之前版本创建的doc文档。
9.一种解析doc二进制格式并提取文档中图片的系统,其特征在于,包括:
doc二进制流打开模块(1),用于以二进制流方式打开doc文档;
浮动式图片提取模块(2),用于从doc的二进制流中获取浮动式图片的存储信息,判断doc文档中是否有浮动图片,若有,则提取浮动式图片;
内嵌式图片提取模块(3),用于从doc的二进制流中获取每个文本段落的文本字符,判断文本字符中是否含有图片占位符;若有,则根据图片占位符信息提取内嵌式图片;
图片中文字信息提取模块(4),用于采用光学字符识别技术OCR对提取的浮动式图片和内嵌式图片进行处理,获取图片中的文字信息。
10.如权利要求9所述的一种解析doc二进制格式并提取文档中图片的系统,其特征在于,
浮动式图片提取模块(2)包括 :
文件信息块获取单元(2.1),用于从doc的二进制流中获取文件信息块;
浮动式图片属性存储模块获取单元(2.2),用于根据文件信息块获取文档中浮动式图片属性存储模块的地址和长度;
浮动是图片判断单元(2.3),用于判断是否有浮动式图片,并在存在浮动式图片时,获取浮动式图片属性存储模块中所有浮动式图片的存储地址和图片大小信息;
浮动式图片定位单元(2.4),用于根据浮动式图片的存储地址定位到每个浮动式图片,根据每个浮动式图片的大小信息读取图片数据;
浮动式图片创建单元(2.5),用于根据图片格式创建图片并保存;
内嵌式图片提取模块(3)包括:
文件信息块及文本段落属性信息获取单元(3.1),用于从doc的二进制流中获取文件信息块、文本段落属性信息以及文本段落位置与文本段落属性信息对应关系;
文本段落定位单元(3.2),用于根据文件信息块、文本段落属性信息以及文本段落属性对应的文本位置信息,定位文本段落;
字符读取单元(3.3), 用于依次读取定位文本段落的每个字符;
图片占位符判断单元(3.4),用于判断读取的字符是否为图片占位符;
内嵌式图片数据读取单元(3.5),用于根据图片占位符偏移位置信息读取内嵌式图片数据;
内嵌式图片创建单元(3.6),用于根据图片格式创建图片并保存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687836.1A CN108920612A (zh) | 2018-06-28 | 2018-06-28 | 解析doc二进制格式并提取文档中图片的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810687836.1A CN108920612A (zh) | 2018-06-28 | 2018-06-28 | 解析doc二进制格式并提取文档中图片的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108920612A true CN108920612A (zh) | 2018-11-30 |
Family
ID=64421945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810687836.1A Pending CN108920612A (zh) | 2018-06-28 | 2018-06-28 | 解析doc二进制格式并提取文档中图片的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108920612A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795393A (zh) * | 2019-10-31 | 2020-02-14 | 中孚安全技术有限公司 | 一种解析文档二进制格式的方法,系统,设备及可读存储介质 |
CN111241787A (zh) * | 2020-01-13 | 2020-06-05 | 中孚安全技术有限公司 | 一种解析word二进制格式并提取文档中文字的方法及系统 |
CN111414730A (zh) * | 2020-03-18 | 2020-07-14 | 中孚安全技术有限公司 | 一种文档字符格式信息获取方法、系统、终端及存储介质 |
CN111985311A (zh) * | 2020-07-08 | 2020-11-24 | 福建亿能达信息技术股份有限公司 | 一种识别手机号的方法、装置、设备和介质 |
CN113704214A (zh) * | 2021-08-27 | 2021-11-26 | 北京市律典通科技有限公司 | 电子卷宗文件类型转换方法、装置及计算机设备 |
CN117115844A (zh) * | 2023-10-19 | 2023-11-24 | 安徽科大国创智信科技有限公司 | 用于实体文档的智能数据录入方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394313A (zh) * | 2000-11-02 | 2003-01-29 | 密刻爱你有限公司 | 电子文档中嵌入和提取文本的方法 |
CN102567460A (zh) * | 2011-11-22 | 2012-07-11 | 中标软件有限公司 | 一种文档加载中图像异步解码的方法 |
CN106484663A (zh) * | 2016-10-12 | 2017-03-08 | 天闻数媒科技(湖南)有限公司 | 一种文档内容的提取方法和装置 |
CN107678650A (zh) * | 2017-09-29 | 2018-02-09 | 努比亚技术有限公司 | 一种图片识别方法、移动终端及计算机可读存储介质 |
-
2018
- 2018-06-28 CN CN201810687836.1A patent/CN108920612A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1394313A (zh) * | 2000-11-02 | 2003-01-29 | 密刻爱你有限公司 | 电子文档中嵌入和提取文本的方法 |
CN102567460A (zh) * | 2011-11-22 | 2012-07-11 | 中标软件有限公司 | 一种文档加载中图像异步解码的方法 |
CN106484663A (zh) * | 2016-10-12 | 2017-03-08 | 天闻数媒科技(湖南)有限公司 | 一种文档内容的提取方法和装置 |
CN107678650A (zh) * | 2017-09-29 | 2018-02-09 | 努比亚技术有限公司 | 一种图片识别方法、移动终端及计算机可读存储介质 |
Non-Patent Citations (2)
Title |
---|
MICROSOFT CORPORATION: "Finding Graphics in a Binary Word .doc File", 《HTTPS://DOCS.MICROSOFT.COM/EN-US/PREVIOUS-VERSIONS/OFFICE/DEVELOPER/OFFICE-2010/HH965732(V=OFFICE.14)》 * |
MICROSOFT CORPORATION: "了解Word MS-DOC 二进制文件格式", 《HTTPS://DOCS.MICROSOFT.COM/ZH-CN/PREVIOUS-VERSIONS/OFFICE/GG615596(V=OFFICE.14》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110795393A (zh) * | 2019-10-31 | 2020-02-14 | 中孚安全技术有限公司 | 一种解析文档二进制格式的方法,系统,设备及可读存储介质 |
CN111241787A (zh) * | 2020-01-13 | 2020-06-05 | 中孚安全技术有限公司 | 一种解析word二进制格式并提取文档中文字的方法及系统 |
CN111414730A (zh) * | 2020-03-18 | 2020-07-14 | 中孚安全技术有限公司 | 一种文档字符格式信息获取方法、系统、终端及存储介质 |
CN111985311A (zh) * | 2020-07-08 | 2020-11-24 | 福建亿能达信息技术股份有限公司 | 一种识别手机号的方法、装置、设备和介质 |
CN113704214A (zh) * | 2021-08-27 | 2021-11-26 | 北京市律典通科技有限公司 | 电子卷宗文件类型转换方法、装置及计算机设备 |
CN117115844A (zh) * | 2023-10-19 | 2023-11-24 | 安徽科大国创智信科技有限公司 | 用于实体文档的智能数据录入方法 |
CN117115844B (zh) * | 2023-10-19 | 2024-01-12 | 安徽科大国创智信科技有限公司 | 用于实体文档的智能数据录入方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108920612A (zh) | 解析doc二进制格式并提取文档中图片的方法及系统 | |
RU2437152C2 (ru) | Устройство обработки изображений, способ и компьютерная программа обработки изображений | |
US6539116B2 (en) | Information processing apparatus and method, and computer readable memory therefor | |
CN103336690B (zh) | 基于html5的文字元素绘制方法及装置 | |
CN109492199B (zh) | 一种基于ocr预判断的pdf文件转换方法 | |
US5265171A (en) | Optical character reading apparatus for performing spelling check | |
CN114357206A (zh) | 基于语义分析的教育类视频彩色字幕生成方法及系统 | |
KR970049402A (ko) | 화상 처리 방법과 장치, 및 기억 매체 | |
CN113255369A (zh) | 文本相似度分析的方法、装置及存储介质 | |
CN106484728A (zh) | 日志数据的生成方法、解析方法、生成装置及解析装置 | |
CN105573981A (zh) | 一种提取中文人名地名的方法及装置 | |
CN102176205A (zh) | 链码图像序列存储的文件格式及解码算法 | |
CN111679825A (zh) | 一种层叠样式表生成方法、装置、计算机设备及存储介质 | |
CN111414730A (zh) | 一种文档字符格式信息获取方法、系统、终端及存储介质 | |
CN111241096A (zh) | 一种excel文档的文本提取方法、系统、终端及存储介质 | |
CN103440231A (zh) | 用于比较文本的设备和方法 | |
CN118377914A (zh) | 出土文献集外字的字库构建方法、检字输入法及编辑系统 | |
CN102723067B (zh) | 一种字符显示方法和装置 | |
CN115712601A (zh) | 一种基于springbatch批量读取定长文件的方法 | |
JP4143245B2 (ja) | 画像処理方法および装置並びに記憶媒体 | |
CN112434197A (zh) | 文本内容的逆向提取方法、装置、设备及存储介质 | |
KR100818628B1 (ko) | 특허 번역 사전 구축 장치 및 방법 | |
CN118450193B (zh) | 一种视频帧剪辑截取字幕提取文本处理方法及存储介质 | |
CN102110082B (zh) | 一种小样文件的补字输出方法及系统 | |
CN114222193B (zh) | 一种视频字幕时间对齐模型训练方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181130 |
|
RJ01 | Rejection of invention patent application after publication |