Xps结构化数据的解析方法

文档序号:9547008阅读:478来源:国知局
Xps结构化数据的解析方法
【技术领域】
[0001]本发明涉及电子文档处理技术领域,特别涉及一种XPS结构化数据的解析方法。
【背景技术】
[0002]XPS (XML Paper Specificat1n,XML文件规格书)是一种电子文件格式,它是微软公司开发的一种文档保存与查看的规范。XPS可以维护文档的一致外观(不管环境变量如何),实现所见即所得,也支持安全功能(例如,数字签名),因此,被越来越广泛地使用在各个领域。但是,XPS文档类似于PDF文档,是一种只读文档格式,其采用结构化数据形式保存数据,在使用计算机读取文档内容时,需要进行相应的解析和提取处理。

【发明内容】

[0003]本发明旨在提供一种XPS结构化数据的解析方法,以实现对XPS文档内容进行自动识别和提取功能。
[0004]为达到上述目的,本发明采用如下技术方案。
[0005]本发明提供一种XPS结构化数据的解析方法,包括步骤:
初始化XPS文件;
识别XPS文件中所需的字段数据;
提取所述字段数据及其原始坐标;
按照预定算法对所述原始坐标进行计算,得到准确的相对坐标;
对所述相对坐标进彳丁排序,先排序Y坐标,后排序X坐标;
将排序后的文档或链表输出到指定路径。
[0006]上述解析方法中,所述识别XPS文件中所需的字段数据的步骤具体包括:
利用关键字库,通过Y坐标或X坐标或前后关键字来匹配所述字段数据。
[0007]上述解析方法中,所述按照预定算法对原始坐标进行计算,得到准确的相对坐标的步骤具体包括:
按照预设的坐标修正算法,分别对原始的X、Y坐标进行计算,分别得到所述字段数据相对于文档左上角原点的X轴相对坐标和Y轴相对坐标。
[0008]上述解析方法中,所述X轴相对坐标和Y轴相对坐标的参照位置为所述字段数据的首个字符。
[0009]上述解析方法中,如果所述字段数据包含多个字符,则按照预定要求分别计算每个字符的相对坐标。
[0010]上述解析方法中,所述对所述相对坐标进行排序,先排序Y坐标,后排序X坐标的步骤具体包括:
根据排版要求,依照先页后行再列的顺序对所述字段数据及计算后得到的相对坐标进行重新排序。
[0011]上述解析方法中,所述将排序后的文档输出到指定路径的步骤具体包括: 将排序后的文档转换成txt格式或xml格式,并将该文档输出到指定路径,或者,
将排序后的包含字段数据及其相对坐标的文档生成一个链表,并将该链表输出到指定路径。
[0012]本发明采用上述方法,不仅可以提高识别的准确度,而且通过直接输出txt或xml文档或链表到指定路径供识别模块读取,可以降低对识别模块的设计人员的能力要求,无需精通正则表达式。此外,本发明的上述方法还简化了 XPS文档中字段数据的提取难度,解决了 XPS文档中原始坐标混乱的问题。
【附图说明】
[0013]图1为本发明实施例的XPS结构化数据的解析方法的流程示意图。
【具体实施方式】
[0014]下面结合附图和具体实施例对本发明的结构原理及功能特点作进一步说明,以便理解本发明的发明实质。
[0015]参照图1所示,本实施例提供一种XPS结构化数据的解析方法,其主要包括以下步骤:
S10:初始化XPS文件;
S20:识别XPS文件中所需的字段数据;
S30:提取所述字段数据及其原始坐标;
S40:按照预定算法对所述原始坐标进行计算,得到准确的相对坐标;
S50:对所述相对坐标进彳丁排序,先排序Y坐标,后排序X坐标;
S60:将排序后的文档或链表输出到指定路径。
[0016]在对需要识别的XPS文件进行初始化后,系统可以自动对XPS文件内的字段数据进行提取和识别。首先,需要建立关键字库,将拟识别的文本内容全部添加到关键字库中,并将关键字库放在上述XPS文件所在的目录下。然后利用该关键字库,通过Y坐标和X坐标,或者利用前后关键字来匹配需要识别的字段数据。
[0017]匹配到某一字段数据后,进入下一步,即提取该字段数据及其原始坐标。
[0018]由于对XPS文件解析后,每个字段都对应有一个坐标,包括X坐标和Y坐标,以确定该字段在文档页面中的相对位置。但是,由于排版需要,字段之间会有各种插图、标点符号或空格等,导致字段的原始坐标呈无序化状态,无参考性,因此需要对这些坐标进行修正。
[0019]修正坐标的过程就是对原始坐标进行计算,得到准确的相对坐标,具体为:
按照预设的坐标修正算法,分别对原始的X、Y坐标进行计算,分别得到该字段数据相对于XPS文档左上角原点的X轴相对坐标和Y轴相对坐标。
[0020]对于包含多个字符的字段数据,如何确定每个字符的相对位置呢,本实施例在计算X轴相对坐标和Y轴相对坐标时,当多个字符之间无空格或格式要求时,可以以该字段数据的首个字符作为参照位置,否则,可以按照预定格式或排版要求分别计算每个字符的相对坐标,即分别计算每个字符相对于文档左上角原点的X轴相对坐标和Y轴相对坐标。
[0021]例如,在处理“姓名:”这一字段数据时,由于“姓”与“名:”之间无空格,只要确定了“姓”的相对坐标,那么“名:”的相对坐标便也跟着确定,因此,只需要计算“姓”字的X轴相对坐标和Y轴相对坐标,“名:”的X轴相对坐标为对前者的X坐标值进行“+2”处理,而Y轴相对坐标与前者的Y坐标值相同。而在处理类似于“姓(空格)(空格)……名:”这种字段数据时,由于“姓”与“名:”之间有若干空格,需要分别对“姓”和“名:”进行坐标计算,以确定该字段数据的相对坐标。
[0022]在得到所有字段数据及其相对坐标后,需要进行有序化处理,本实施例中,对上述相对坐标进彳丁排序,先排序Y坐标,后排序X坐标,具体为:
由于XPS文件是以页为单位的一种文件格式,因此,根据页面的排版要求,依照先页后行再列的顺序对所有字段数据及计算后得到的相对坐标进行重新排序,实现有序化识别处理。
[0023]通常地,在完成字段数据识别后,需要进行预处理,再将预处理结果输入到识别模块中,以读取相应的字段和坐标。本实施例将排序后的文档输出到指定路径,识别模块可以从该路径直接找到相应文档进行识别。上述将排序后的文档输出到指定路径的步骤可以是:
将排序后的文档转换为txt格式或xml格式,或者将该文档以链表的形式输出到上述指定路径。
[0024]这样,在进行识别模块的设计时,设计人员无需精通正则表达式,便可以满足设计团队的技术能力要求,降低了技术门槛。
[0025]综上所述,本发明采用上述方法,不仅可以提高识别的准确度,而且通过直接输出txt或xml文档或链表到指定路径供识别模块读取,可以降低对识别模块的设计人员的能力要求,无需精通正则表达式。此外,本发明的上述方法还简化了 XPS文档中字段数据的提取难度,解决了 XPS文档中原始坐标混乱的问题。
[0026]以上所述仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围以权利要求的保护范围为准。
【主权项】
1.一种XPS结构化数据的解析方法,包括步骤: 初始化XPS文件; 识别XPS文件中所需的字段数据; 提取所述字段数据及其原始坐标; 按照预定算法对所述原始坐标进行计算,得到准确的相对坐标; 对所述相对坐标进彳丁排序,先排序Y坐标,后排序X坐标; 将排序后的文档或链表输出到指定路径。2.如权利要求1所述的XPS结构化数据的解析方法,其特征在于,所述识别XPS文件中所需的字段数据的步骤具体包括: 利用关键字库,通过Y坐标或X坐标或前后关键字来匹配所述字段数据。3.如权利要求1所述的XPS结构化数据的解析方法,其特征在于,所述按照预定算法对原始坐标进行计算,得到准确的相对坐标的步骤具体包括: 按照预设的坐标修正算法,分别对原始的X、Y坐标进行计算,分别得到所述字段数据相对于文档左上角原点的X轴相对坐标和Y轴相对坐标。4.如权利要求3所述的XPS结构化数据的解析方法,其特征在于,所述X轴相对坐标和Y轴相对坐标的参照位置为所述字段数据的首个字符。5.如权利要求3所述的XPS结构化数据的解析方法,其特征在于,如果所述字段数据包含多个字符,则按照预定要求分别计算每个字符的相对坐标。6.如权利要求1所述的XPS结构化数据的解析方法,其特征在于,所述对所述相对坐标进tx排序,先排序Y坐标,后排序X坐标的步骤具体包括: 根据排版要求,依照先页后行再列的顺序对所述字段数据及计算后得到的相对坐标进行重新排序。7.如权利要求1所述的XPS结构化数据的解析方法,其特征在于,所述将排序后的文档输出到指定路径的步骤具体包括: 将排序后的文档转换成txt格式或xml格式,并将该文档输出到指定路径,或者, 将排序后的包含字段数据及其相对坐标的文档生成一个链表,并将该链表输出到指定路径。
【专利摘要】本发明涉及一种XPS结构化数据的解析方法,包括步骤:初始化XPS文件;识别XPS文件中所需的字段数据;提取所述字段数据及其原始坐标;按照预定算法对所述原始坐标进行计算,得到准确的相对坐标;对所述相对坐标进行排序,先排序Y坐标,后排序X坐标;将排序后的文档或链表输出到指定路径。本发明不仅可以提高识别的准确度,而且简化了XPS文档中字段数据的提取难度,解决了XPS文档中原始坐标混乱的问题。
【IPC分类】G06F9/45
【公开号】CN105302626
【申请号】CN201510751578
【发明人】刘春波, 黎涛
【申请人】深圳市依伴数字科技有限公司
【公开日】2016年2月3日
【申请日】2015年11月9日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1