本發(fā)明屬于pdf解析,具體地說,是涉及一種在解析pdf中流程圖的方法、裝置及介質(zhì)。
背景技術(shù):
1、pdf在信息傳遞和數(shù)據(jù)存儲(chǔ)中扮演著至關(guān)重要的角色。然而,pdf的復(fù)雜性使得內(nèi)容的提取和解析存在一定的挑戰(zhàn),尤其是對于pdf文檔內(nèi)的流程圖,流程圖由于其封閉圖形的特征和它們在邏輯和過程中的關(guān)鍵作用,使得它們成為pdf文檔中一種特殊且重要的元素,然而對于pdf文檔內(nèi)的流程圖提取,現(xiàn)有技術(shù)無法進(jìn)行準(zhǔn)確有效的識(shí)別,大多是根據(jù)pdf中的識(shí)別到的元素進(jìn)行組裝,然后按照線段順序逐一生成到word文檔中的,這樣流程圖的連貫性可能會(huì)出現(xiàn)問題,對于復(fù)雜流程圖提取效果不盡如人意,所以如何更好的解析pdf中的流程圖,就成為了數(shù)據(jù)驅(qū)動(dòng)的決策和應(yīng)用中的重中之重。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種在解析pdf中流程圖的方法,以解決現(xiàn)有技術(shù)所存在的技術(shù)問題。
2、為了實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案如下:
3、一種解析pdf中流程圖的方法,包括以下步驟:
4、步驟1:借助apache的開源框架pdfbox,對含有流程圖的pdf文件進(jìn)行解析;
5、步驟2:使用操作符,從文件中提取頁面的元素信息并構(gòu)建元素列表,元素為包含坐標(biāo)值的直線和曲線;
6、步驟3:基于所述元素列表,根據(jù)元素信息獲取封閉圖形,并將構(gòu)成封閉圖形的元素從所述元素列表中刪除;
7、步驟4:對所述封閉圖形進(jìn)行去重處理;
8、步驟5:將去重后的封閉圖形添加到原始元素集合中;
9、步驟6:對原始元素集合進(jìn)行排序,獲得排序后的原始元素集合;
10、步驟7:基于排序后的原始元素集合,使用深度優(yōu)先搜索算法,獲取若干最長鏈路;
11、步驟8:判斷所述最長鏈路中是否出現(xiàn)重復(fù)元素,若出現(xiàn)重復(fù)元素,則將相交鏈路合并,并獲取相交鏈路的最小開始坐標(biāo)和最大結(jié)束坐標(biāo);若無重復(fù)元素,則說明鏈路斷開,直接進(jìn)行下一步;
12、步驟9:根據(jù)獲得的最小開始坐標(biāo)和最大結(jié)束坐標(biāo)確定矩形圖像的大??;
13、步驟10:循環(huán)操作步驟8~驟9,對所有的最長鏈路進(jìn)行合并處理,并獲得若干矩形圖像,并對矩形圖像進(jìn)行截??;
14、步驟11:輸出所有截取后的矩形圖像。
15、優(yōu)選的,所述步驟3的具體方法如下:首先,從所述元素列表中獲取所有直線和曲線;然后,使用深度優(yōu)先搜索算法識(shí)別出可以合并成封閉圖形的元素,并將可以合并成封閉形狀的元素進(jìn)行合并,合并為封閉圖形;最后,從元素列表中刪除已經(jīng)合并成封閉圖形的元素。
16、優(yōu)選的,所述步驟4中去重處理包括:(41)如果存在封閉圖形的嵌套,則僅保留最外層的封閉圖形;(42)如果封閉圖形存在相交,則合并相交的封閉圖形。
17、優(yōu)選的,所述步驟6中的排序方式:按照從上到下、從左到右的方式排序。
18、優(yōu)選的,所述步驟7中,使用深度優(yōu)先搜索算法,以元素所在矩形區(qū)域誤差范圍內(nèi)的交集、連續(xù)性或包含性為搜索條件。
19、為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行,以實(shí)現(xiàn)所述的解析pdf中流程圖的方法。
20、為了實(shí)現(xiàn)上述目的,本發(fā)明還提供了一種解析pdf中流程圖的裝置,包括:處理器和存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序;所述處理器與所述存儲(chǔ)器相連,用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,以使得所述解析pdf中流程圖的裝置執(zhí)行所述的解析pdf中流程圖的方法。
21、與現(xiàn)有技術(shù)相比,本發(fā)明具備以下有益效果:
22、(1)本發(fā)明通過結(jié)合pdfbox框架和深度優(yōu)先搜索(dfs)算法,可以高效且準(zhǔn)確地從復(fù)雜的pdf文檔中提取出流程圖。
23、(2)本發(fā)明能夠處理各種復(fù)雜情況,包括但不限于圖形的嵌套、交集等問題,從而保證了提取結(jié)果的準(zhǔn)確性。
24、(3)本發(fā)明將流程圖元素和其他元素模塊化,可以方便地進(jìn)行更新、擴(kuò)展或修改,以適應(yīng)不同的需求和場景。
1.一種解析pdf中流程圖的方法,其特征在于,包括以下步驟:
2.根據(jù)權(quán)利要求1所述的解析pdf中流程圖的方法,其特征在于,所述步驟3的具體方法如下:首先,從所述元素列表中獲取所有直線和曲線;然后,使用深度優(yōu)先搜索算法識(shí)別出可以合并成封閉圖形的元素,并將可以合并成封閉形狀的元素進(jìn)行合并,合并為封閉圖形;最后,從元素列表中刪除已經(jīng)合并成封閉圖形的元素。
3.根據(jù)權(quán)利要求2所述的解析pdf中流程圖的方法,其特征在于,
4.根據(jù)權(quán)利要求3所述的解析pdf中流程圖的方法,其特征在于,
5.根據(jù)權(quán)利要求4所述的解析pdf中流程圖的方法,其特征在于,
6.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,其特征在于,所述計(jì)算機(jī)程序被處理器執(zhí)行,以實(shí)現(xiàn)如權(quán)利要求1~5中任一項(xiàng)所述的解析pdf中流程圖的方法。
7.一種解析pdf中流程圖的裝置,其特征在于,包括:處理器和存儲(chǔ)器;所述存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序;所述處理器與所述存儲(chǔ)器相連,用于執(zhí)行所述存儲(chǔ)器存儲(chǔ)的計(jì)算機(jī)程序,以使得所述解析pdf中流程圖的裝置執(zhí)行如權(quán)利要求1~5中任一項(xiàng)所述的解析pdf中流程圖的方法。