CN108170651B - 一种信息处理的方法 - Google Patents
一种信息处理的方法 Download PDFInfo
- Publication number
- CN108170651B CN108170651B CN201711465258.9A CN201711465258A CN108170651B CN 108170651 B CN108170651 B CN 108170651B CN 201711465258 A CN201711465258 A CN 201711465258A CN 108170651 B CN108170651 B CN 108170651B
- Authority
- CN
- China
- Prior art keywords
- glyphs
- current node
- coordinates
- node
- character
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及XPS文件信息提取技术领域,具体涉及一种信息处理的方法,包括以下步骤:对XPS文件解压缩得到XML文件后按顺序获取节点,并判断当前节点是否为canvas元素;若当前节点不为canvas元素,则判断当前节点是否为glyphs元素;若当前节点为glyphs元素,根据XPS规范计算该glyphs元素中所有字符的坐标;若当前节点为最后一个节点,则得到所有glyphs元素节点的字符坐标,把所有属于同一行的为glyphs元素进行归并;将属于同一行的glyphs元素按照字符坐标进行排序,得到中间格式的字符坐标。本发明的一种信息处理的方法,获取XPS文档的准确的字符坐标信息,并按照版面顺序分行排序,应用于结构化数据提取或文档内容检索。
Description
技术领域
本发明涉及XPS文件信息提取技术领域,尤其涉及一种信息处理的方法。
背景技术
XPS(XML Paper Specification,XML文件规格书)是一种电子文件格式,它是微软公司开发的一种文档保存与查看的规范。XPS可以维护文档的一致外观(不管环境变量如何),实现所见即所得,也支持安全功能(例如,数字签名),因此,被越来越广泛地使用在各个领域。但是,XPS文档类似于PDF文档,是一种只读文档格式,其采用结构化数据形式保存数据,在使用计算机读取文档内容时,需要进行相应的解析和提取处理。
.net中有读取处理XPS的组件System.Windows.Xps.Packaging,该组件虽能够获取XPS中的文本信息,但不公开提供坐标信息的获取能力,有个隐藏接口虽可获取坐标信息但准确度很低。
发明内容
针对现有技术中存在的问题,本发明提供一种信息处理的方法。
一种信息处理的方法,包括以下步骤:
对XPS文件解压缩得到解压缩文件,其中解压缩文件包括Documents文件夹,Documents文件夹包含布局描述XML文件以及字体表;
在XML文件中按顺序获取节点,并判断当前节点是否为canvas元素;若是,则获取当前节点的子节点,判断该子节点是否为canvas元素,如果该子节点为canvas元素,则继续获取该子节点的子节点;
若当前节点不为canvas元素,则判断当前节点是否为glyphs元素;若当前节点不是glyphs元素,则当前节点不做处理;若当前节点为glyphs元素,根据XPS规范计算该glyphs元素中所有字符的坐标,并判断当前节点是否为最后一个节点;若当前节点不为最后一个节点,返回在XML文件中按顺序获取节点的步骤;若当前节点为最后一个节点,则得到所有glyphs元素节点的字符坐标;
把所有属于同一行的为glyphs元素进行归并;
将属于同一行的glyphs元素按照字符坐标进行排序,得到中间格式的字符坐标;
根据中间格式的字符坐标,进行结构化数据提取或文档内容检索。
进一步的,将属于同一行的glyphs元素按照字符坐标进行排序的步骤,具体为:
将属于同一行的glyphs元素按照X坐标排序;
当属于同一行的glyphs元素位于X坐标的交叉位置时,按照Y坐标再次排序。
进一步的,中间格式的字符坐标包含每一行排序好的字符及该字符对应的坐标和宽高。
进一步的,中间格式为JSON格式。
本发明的一种信息处理的方法,通过对节点的元素性质判断,计算出节点的所有字符的坐标再进行归并处理以及排序,得到中间格式的字符坐标后进行结构化数据提取或者文档内容检索等其他操作。通过以上方法获取XPS文件中的准确的字符坐标信息,输出信息丰富且可进行编辑定制开发。
附图说明
为了更清楚的说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见的,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1为本发明提供的一种信息处理的方法流程图。
具体实施方式
下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通的技术人员在没有做出创造性劳动的前提下所获得的所有其它实施例,都属于本发明的保护范围。
XPS是XML Paper Specification(XML文件规格书)的简称,是一种电子文件格式,它是微软公司开发的一种文档保存与查看的规范。Xps文件本质上是一个zip包,解压之后里面包括多个文件夹,这些文件夹分别存储了字体表,图片资源,xml格式的布局描述等,通过这些文件,把字体和图形渲染出来,并在指定的位置插入图片,各文件夹介绍如下:
[Content_Types].xml:存放了xps文件的各个部分的内容类型,类似于http中的content-type[2],规定了该部分内容的解析方式。
_rels:定义了引用资源的链接,类似于html中的href。例如,通过它可以找到xps缩略图的链接并显示出来,如下图为显示的内容。
Documents:包含了布局描述xml文件及字体表,根据此中xml可以提取出所有字符及对应的坐标。
FixedDocumentSequence.fdseq:定义了xps文档首页的链接,对于xps阅读器和打印机来说,首先要找到首页,才能根据首页找到后续页;
Metadata:定义了打印相关的参数,比如尺寸,边框距离等。
本发明的一种信息处理的方法,如图1所示包括以下步骤:
步骤S001,对XPS文件解压缩得到解压缩文件,其中解压缩文件包括Documents文件夹,Documents文件夹包含布局描述XML文件以及字体表;
步骤S002,在XML文件中按顺序获取节点,并判断当前节点是否为canvas元素,若是,进入步骤S003,若否,进入步骤S005;
步骤S003,获取当前节点的子节点;
步骤S004,判断该子节点是否为canvas元素,若是,进入步骤S003,若否,进入步骤S005;
步骤S005,判断当前节点是否为glyphs元素,若是,进入步骤S007,若否,进入步骤S006;
步骤S006,当前节点不做处理;
步骤S007,根据XPS规范计算该glyphs元素所有字符的坐标;
步骤S008,判断当前节点是否为最后一个节点,若是,进入步骤S009,若否,进入步骤S002;
步骤S009,得到所有glyphs元素节点的字符坐标;
步骤S010,把所有属于同一行的glyphs元素进行归并,并将属于同一行的glyphs元素按照字符坐标进行排序;
步骤S011,输出中间格式的字符坐标,并应用于结构化数据提取或文档内容检索。
具体的,将属于同一行的glyphs元素按照字符坐标进行排序的步骤,具体为:
将属于同一行的glyphs元素按照X坐标排序;当属于同一行的glyphs元素位于X坐标的交叉位置时,按照Y坐标再次排序。
具体的,中间格式的字符坐标包含每一行排序好的字符及该字符对应的坐标和宽高。
字符的基本节点是glyphs,每个glyphs中会包含多个字符以及这些字符的坐标信息,而一行之中可能会有多个glyphs,且glyphs可能存在父节点canvas,canvas又可能存在它的父节点甚至祖父节点canvas(同名)多层嵌套,canvas中定义了该节点之下的所有节点的缩放和偏移等属性,所以通过找到基层的glyphs以及其上的各层canvas,可以计算出该glyphs中各字符的坐标。之后进行分行,所有字符在Y轴(高度)的起止坐标之间(即高度内)有交叉的,即视为同一行;而针对这种同一行中出现2行小字的,例如右边小字与左边大字出现上下挂角,则把小字部分先按Y坐标排序分成两行,通常这种情况下,上下两行分别属于2个glyphs,通过比较glyphs在x轴的起止坐标,如果有交叉部分,则说明这2个glyphs属于上下两行并需要归并成一行,再把下面一行小字并接到上面一行小字的后面。
具体的,中间格式为json格式。输出的json格式针对每一个字符,都有6个属性,各属性意义如下:
"AdvanceWidth":100,#前向宽度,单位%,基础是FontRenderingEmSize,意思就是这个字符的宽度是100%*14.0805=14.0805,有些AW会达到200甚至1000,那是因为这个字符占据了很大的一块空白(非空格,空格本身也是字符)。
"Point":"685.820585,248.48",#坐标,对应(x,y)。
"Character":"四",#字符。
"FontRenderingEmSize":14.0805,#渲染原始尺寸。
"Order":48,#glyphs标签在整个xml中的排序。
"Size":"14.0805,14.0805"#尺寸,对应(宽,高)。
在此中间格式的基础上,可以很方便地进行进一步的结构化数据提取或文档内容检索等应用。
本发明的一种信息处理的方法,通过对节点的元素性质判断,计算出节点的所有字符的坐标再进行归并处理以及排序,得到中间格式的字符坐标后进行结构化数据提取或者文档内容检索等其他操作。通过以上方法获取XPS文件中的准确的字符坐标信息,输出信息丰富且可进行编辑定制开发
以上借助具体实施例对本发明做了进一步描述,但是应该理解的是,这里具体的描述,不应理解为对本发明的实质和范围的限定,本领域内的普通技术人员在阅读本说明书后对上述实施例做出的各种修改,都属于本发明所保护的范围。
Claims (4)
1.一种信息处理的方法,其特征在于,包括以下步骤:
对XPS文件解压缩得到解压缩文件,其中解压缩文件包括Documents文件夹,Documents文件夹包含布局描述XML文件以及字体表;
在所述XML文件中按顺序获取节点,并判断当前节点是否为canvas元素;若是,则获取当前节点的子节点,判断该子节点是否为canvas元素,如果该子节点为canvas元素,则继续获取该子节点的子节点;
若当前节点不为canvas元素,则判断当前节点是否为glyphs元素;若当前节点不是glyphs元素,则当前节点不做处理;若当前节点为glyphs元素,根据XPS规范计算该glyphs元素中所有字符的坐标,并判断当前节点是否为最后一个节点;若当前节点不为最后一个节点,返回在所述XML文件中按顺序获取节点的步骤;若当前节点为最后一个节点,则得到所有glyphs元素节点的字符坐标;
把所有属于同一行的为glyphs元素进行归并;
将属于同一行的glyphs元素按照字符坐标进行排序,得到中间格式的字符坐标;
根据中间格式的字符坐标,进行结构化数据提取或文档内容检索。
2.如权利要求1所述的一种信息处理的方法,其特征在于:所述将属于同一行的glyphs元素按照字符坐标进行排序的步骤,具体为:
将属于同一行的glyphs元素按照X坐标排序;
当属于同一行的glyphs元素位于X坐标的交叉位置时,按照Y坐标再次排序。
3.如权利要求1所述的一种信息处理的方法,其特征在于:中间格式的字符坐标包含每一行排序好的字符及该字符对应的坐标和宽高。
4.如权利要求1所述的一种信息处理的方法,其特征在于:中间格式为JSON格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711465258.9A CN108170651B (zh) | 2017-12-28 | 2017-12-28 | 一种信息处理的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711465258.9A CN108170651B (zh) | 2017-12-28 | 2017-12-28 | 一种信息处理的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108170651A CN108170651A (zh) | 2018-06-15 |
CN108170651B true CN108170651B (zh) | 2022-11-18 |
Family
ID=62519363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711465258.9A Active CN108170651B (zh) | 2017-12-28 | 2017-12-28 | 一种信息处理的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108170651B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992698B (zh) * | 2019-04-11 | 2021-09-14 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786965A (zh) * | 2005-12-21 | 2006-06-14 | 北大方正集团有限公司 | 一种新闻网页正文信息的提取方法 |
CN101963955A (zh) * | 2010-09-17 | 2011-02-02 | 深圳市万兴软件有限公司 | XML格式文档转换为Word格式文档的系统和方法 |
CN105302626A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市依伴数字科技有限公司 | Xps结构化数据的解析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004295674A (ja) * | 2003-03-27 | 2004-10-21 | Fujitsu Ltd | Xml文書解析方法、xml文書検索方法、xml文書解析プログラム、xml文書検索プログラムおよびxml文書検索装置 |
-
2017
- 2017-12-28 CN CN201711465258.9A patent/CN108170651B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786965A (zh) * | 2005-12-21 | 2006-06-14 | 北大方正集团有限公司 | 一种新闻网页正文信息的提取方法 |
CN101963955A (zh) * | 2010-09-17 | 2011-02-02 | 深圳市万兴软件有限公司 | XML格式文档转换为Word格式文档的系统和方法 |
CN105302626A (zh) * | 2015-11-09 | 2016-02-03 | 深圳市依伴数字科技有限公司 | Xps结构化数据的解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108170651A (zh) | 2018-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8051371B2 (en) | Document analysis system and document adaptation system | |
US20040093355A1 (en) | Automatic table detection method and system | |
CN110705503B (zh) | 生成目录结构化信息的方法和装置 | |
CN110879937A (zh) | 文档生成网页的方法、装置、计算机设备和存储介质 | |
CN114330233A (zh) | 通过文件底版实现电子表单内容与文件相互关联的方法 | |
CN109033282B (zh) | 一种基于抽取模板的网页正文抽取方法及装置 | |
US11615635B2 (en) | Heuristic method for analyzing content of an electronic document | |
CN104636428A (zh) | 一种商标推荐方法及装置 | |
CN105302626B (zh) | Xps结构化数据的解析方法 | |
US20170132484A1 (en) | Two Step Mathematical Expression Search | |
CN109658485B (zh) | 网页动画绘制方法、装置、计算机设备和存储介质 | |
CN111144370A (zh) | 单据要素抽取方法、装置、设备及存储介质 | |
US10558745B2 (en) | Information processing apparatus and non-transitory computer readable medium | |
US20170323007A1 (en) | Identifier Based Glyph Search | |
CN106971004B (zh) | 搜索结果提供方法及装置 | |
CN106776994B (zh) | 一种工程符号在工程报表和网页中的应用方法及系统 | |
CN108170651B (zh) | 一种信息处理的方法 | |
CN111338733A (zh) | 用户界面适配方法和系统 | |
CN113553838A (zh) | 一种商品文案生成方法及装置 | |
CN112835577A (zh) | 数据处理方法、装置、计算机设备以及可读存储介质 | |
CN112433995A (zh) | 文件格式转换方法、系统、计算机设备及存储介质 | |
US20150347376A1 (en) | Server-based platform for text proofreading | |
CN113177391B (zh) | 在流式界面中操作光标重定向方法、计算设备及存储介质 | |
CN112765506B (zh) | 一种页面文本内容显示方法、装置、设备及存储介质 | |
CN113378526A (zh) | Pdf段落处理方法、装置、存储介质及设备 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 518000 Wensheng center, Wenjin square, East Wenjin Road, Luohu District, Shenzhen, Guangdong, 2001 Applicant after: Shenzhen juding Medical Co.,Ltd. Address before: 518000 Wensheng center, Wenjin square, East Wenjin Road, Luohu District, Shenzhen, Guangdong, 2001 Applicant before: SHENZHEN JUDING MEDICAL DEVICE Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |