本发明属于pdf解析,具体地说,是涉及一种在解析pdf中流程图的方法、装置及介质。
背景技术:
1、pdf在信息传递和数据存储中扮演着至关重要的角色。然而,pdf的复杂性使得内容的提取和解析存在一定的挑战,尤其是对于pdf文档内的流程图,流程图由于其封闭图形的特征和它们在逻辑和过程中的关键作用,使得它们成为pdf文档中一种特殊且重要的元素,然而对于pdf文档内的流程图提取,现有技术无法进行准确有效的识别,大多是根据pdf中的识别到的元素进行组装,然后按照线段顺序逐一生成到word文档中的,这样流程图的连贯性可能会出现问题,对于复杂流程图提取效果不尽如人意,所以如何更好的解析pdf中的流程图,就成为了数据驱动的决策和应用中的重中之重。
技术实现思路
1、本发明的目的在于提供一种在解析pdf中流程图的方法,以解决现有技术所存在的技术问题。
2、为了实现上述目的,本发明采取的技术方案如下:
3、一种解析pdf中流程图的方法,包括以下步骤:
4、步骤1:借助apache的开源框架pdfbox,对含有流程图的pdf文件进行解析;
5、步骤2:使用操作符,从文件中提取页面的元素信息并构建元素列表,元素为包含坐标值的直线和曲线;
6、步骤3:基于所述元素列表,根据元素信息获取封闭图形,并将构成封闭图形的元素从所述元素列表中删除;
7、步骤4:对所述封闭图形进行去重处理;
8、步骤5:将去重后的封闭图形添加到原始元素集合中;
9、步骤6:对原始元素集合进行排序,获得排序后的原始元素集合;
10、步骤7:基于排序后的原始元素集合,使用深度优先搜索算法,获取若干最长链路;
11、步骤8:判断所述最长链路中是否出现重复元素,若出现重复元素,则将相交链路合并,并获取相交链路的最小开始坐标和最大结束坐标;若无重复元素,则说明链路断开,直接进行下一步;
12、步骤9:根据获得的最小开始坐标和最大结束坐标确定矩形图像的大小;
13、步骤10:循环操作步骤8~骤9,对所有的最长链路进行合并处理,并获得若干矩形图像,并对矩形图像进行截取;
14、步骤11:输出所有截取后的矩形图像。
15、优选的,所述步骤3的具体方法如下:首先,从所述元素列表中获取所有直线和曲线;然后,使用深度优先搜索算法识别出可以合并成封闭图形的元素,并将可以合并成封闭形状的元素进行合并,合并为封闭图形;最后,从元素列表中删除已经合并成封闭图形的元素。
16、优选的,所述步骤4中去重处理包括:(41)如果存在封闭图形的嵌套,则仅保留最外层的封闭图形;(42)如果封闭图形存在相交,则合并相交的封闭图形。
17、优选的,所述步骤6中的排序方式:按照从上到下、从左到右的方式排序。
18、优选的,所述步骤7中,使用深度优先搜索算法,以元素所在矩形区域误差范围内的交集、连续性或包含性为搜索条件。
19、为了实现上述目的,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行,以实现所述的解析pdf中流程图的方法。
20、为了实现上述目的,本发明还提供了一种解析pdf中流程图的装置,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使得所述解析pdf中流程图的装置执行所述的解析pdf中流程图的方法。
21、与现有技术相比,本发明具备以下有益效果:
22、(1)本发明通过结合pdfbox框架和深度优先搜索(dfs)算法,可以高效且准确地从复杂的pdf文档中提取出流程图。
23、(2)本发明能够处理各种复杂情况,包括但不限于图形的嵌套、交集等问题,从而保证了提取结果的准确性。
24、(3)本发明将流程图元素和其他元素模块化,可以方便地进行更新、扩展或修改,以适应不同的需求和场景。
1.一种解析pdf中流程图的方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的解析pdf中流程图的方法,其特征在于,所述步骤3的具体方法如下:首先,从所述元素列表中获取所有直线和曲线;然后,使用深度优先搜索算法识别出可以合并成封闭图形的元素,并将可以合并成封闭形状的元素进行合并,合并为封闭图形;最后,从元素列表中删除已经合并成封闭图形的元素。
3.根据权利要求2所述的解析pdf中流程图的方法,其特征在于,
4.根据权利要求3所述的解析pdf中流程图的方法,其特征在于,
5.根据权利要求4所述的解析pdf中流程图的方法,其特征在于,
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行,以实现如权利要求1~5中任一项所述的解析pdf中流程图的方法。
7.一种解析pdf中流程图的装置,其特征在于,包括:处理器和存储器;所述存储器用于存储计算机程序;所述处理器与所述存储器相连,用于执行所述存储器存储的计算机程序,以使得所述解析pdf中流程图的装置执行如权利要求1~5中任一项所述的解析pdf中流程图的方法。