2、判斷當(dāng)前字符的排版空間前是否為空,若為空,則判斷所述當(dāng)前字符為行首,在所述當(dāng)前字符的排版空間之前不插入空格,若不為空,則執(zhí)行步驟13。
[0028]在本步驟中,在獲得各字符的排版空間之后,判斷當(dāng)前字符是否為行首,如果當(dāng)前字符為行首,則將為行首的字符直接提取出來,不在其之前插入空格,如果當(dāng)前字符不為行首,則需要判斷當(dāng)前字符的排版空間與前一字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值,如果兩個相鄰字符的排版空間之間的間隔滿足預(yù)設(shè)條件,則在該兩個相鄰字符的排版空間之間插入空格。
[0029]步驟13、判斷相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值,若大于第一預(yù)設(shè)閾值,則執(zhí)行步驟14,若不大于第一預(yù)設(shè)閾值,則在當(dāng)前字符的排版空間之前不插入空格。
[0030]在本步驟中,各字符的排版空間包括排版空間左邊界和排版空間右邊界,通過計算當(dāng)前字符排版空間的左邊界和前一字符排版空間的右邊界之間的距離,來判斷相鄰兩字符之間的排版空間的間隔是否滿足預(yù)設(shè)條件,如果滿足預(yù)設(shè)條件,則執(zhí)行步驟14在當(dāng)前字符的排版空間之前插入空格,如果不滿足預(yù)設(shè)條件,則在當(dāng)前字符的排版空間前不插入空格。
[0031]步驟14、在所述當(dāng)前字符的排版空間之前插入空格。
[0032]對PDF文檔中的文本進行提取時文本以數(shù)組形式進行保存,當(dāng)相鄰兩個字符的排版空間的間隔滿足預(yù)設(shè)條件時,在前一字符的后面和當(dāng)前字符的前面之間插入空格字符,該空格字符將前一字符和當(dāng)前字符連接起來。
[0033]如圖6所示為采用本發(fā)明第一實施例提供的方法對PDF文檔中的文本進行提取的結(jié)果示意圖,該PDF文檔為【背景技術(shù)】中如圖1所示的采用排版軟件導(dǎo)出來的PDF文檔,從圖6中可以看出,采用本發(fā)明第一實施例提供的方法提取出來的文本正確的顯示了 PDF文檔中的內(nèi)容,避免了【背景技術(shù)】中圖3所示的各字符連接在一起的問題,從而提高了文本提取的準(zhǔn)確性和可靠性,方便用戶進行電子文檔檢索并且不需要用戶對提取的文本進行手動編輯,增強用戶體驗。
[0034]需要說明的是,上述實施例是以橫版PDF為例進行說明的,當(dāng)PDF文檔為豎版時,則根據(jù)PDF文檔中各字符的顯示空間獲得各字符的排版空間可通過以下步驟來實現(xiàn):首先獲得PDF文檔中各字符的顯示空間;其次計算顯示空間中各字符的像素高度,所述像素高度包括像素高度上邊界和像素高度下邊界;最后,將所述像素高度上邊界向上增大第四預(yù)設(shè)閾值以及將所述像素高度下邊界向下增大第五閾值后得到各字符的排版空間。其中,第四預(yù)設(shè)閾值可以等于第五預(yù)設(shè)閾值,也可以不等于第五預(yù)設(shè)閾值。
[0035]且在判斷相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值時,通過計算當(dāng)前字符排版空間的上邊界和前一字符排版空間的下邊界之間的距離,來判斷相鄰兩字符之間的排版空間的間隔是否滿足預(yù)設(shè)條件,如果滿足預(yù)設(shè)條件,則在相鄰字符的排版空間之間插入空格。
[0036]圖7為本發(fā)明第二實施例提供的PDF文檔的文本提取裝置的結(jié)構(gòu)圖,下面結(jié)合圖7對所述方法進行詳述,如圖7所示,所述裝置包括排版空間獲取模塊21和第一判斷模塊22。
[0037]排版空間獲取模塊21用于根據(jù)PDF文檔中各字符的顯示空間獲得所述各字符的排版空間,第一判斷模塊22用于判斷相鄰字符的排版空間間隔的距離大于第一預(yù)設(shè)閾值,若是,則在所述相鄰字符的排版空間之間插入空格。
[0038]優(yōu)選的,排版空間獲取模塊21包括顯示空間獲取單元211、計算單元212和增大單元 213。
[0039]其中,顯示空間獲取單元211用于獲取PDF文檔中各字符的顯示空間,計算單元212用于計算所述顯示空間中各字符的柵格區(qū)域,增大單元213用于增大所述柵格區(qū)域后得到所述各字符的排版空間。
[0040]在本實施例中,所述PDF文檔的排版方式為橫版,所述柵格區(qū)域為顯示空間中各字符的像素寬度,所述像素寬度包括像素寬度左邊界和像素寬度右邊界,增大單元213包括第一增大子單元2131和第二增大子單元2132。
[0041]其中,第一增大子單元2131用于將所述像素寬度左邊界向左移動第二預(yù)設(shè)閾值,第二增大子單元2132用于將所述像素寬度右邊界向右移動第三預(yù)設(shè)閾值。優(yōu)選的,所述第二預(yù)設(shè)閾值與所述第三預(yù)設(shè)閾值相同,或者所述第二預(yù)設(shè)閾值與所述第三預(yù)設(shè)閾值不相同。
[0042]在本實施例中,優(yōu)選的,所述裝置還包括第二判斷模塊23,用于判斷當(dāng)前字符的排版空間前為空,若是,則判斷當(dāng)前字符為行首,在所述當(dāng)前字符的排版空間之前不插入空格。
[0043]優(yōu)選的,在本發(fā)明的另一實施例中,所述PDF文檔的排版方式為豎版,所述柵格區(qū)域為顯示空間中各字符的像素高度,所述像素高度包括像素高度上邊界和像素高度下邊界,所述增大單元包括第三增大子單元和第四增大子單元(未圖示)。
[0044]第三增大子單元用于將所述像素高度上邊界向上增大第四預(yù)設(shè)閾值;以及第四增大子單元,用于將所述像素高度下邊界向下增大第五預(yù)設(shè)閾值。第四預(yù)設(shè)閾值可以等于第五預(yù)設(shè)閾值,也可以不等于第五預(yù)設(shè)閾值。
[0045]本發(fā)明實施例提供的PDF文檔的文本提取裝置,通過PDF文檔中各字符的顯示空間獲得各字符的排版空間,根據(jù)PDF文檔中相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值來判斷是否需要在相鄰字符之間插入空格,避免了采用現(xiàn)有排版軟件導(dǎo)出PDF文檔后提取的文本中字符連接在一起的現(xiàn)象,提高了 PDF文檔的文本提取的準(zhǔn)確性和可靠性。
[0046]可以理解,本發(fā)明是用過一些實施例進行描述的,本領(lǐng)域技術(shù)人員知悉的,在不脫離本發(fā)明的精神和范圍的情況下,可以對這些特征和實施例進行各種改變或等效替換。另夕卜,在本發(fā)明的教導(dǎo)下,可以對這些特征和實施例進行修改以適應(yīng)具體的情況及材料而不會脫離本發(fā)明的精神和保護范圍。因此,本發(fā)明不受此處所公開的具體實施例的限制,所有落入本申請的權(quán)利要求的范圍內(nèi)的實施例都屬于本發(fā)明的保護范圍。
【主權(quán)項】
1.一種PDF文檔的文本提取方法,其特征在于,所述方法包括: 根據(jù)PDF文檔中各字符的顯示空間獲得所述各字符的排版空間; 判斷相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值,若是,則在所述相鄰字符的排版空間之間插入空格。2.根據(jù)權(quán)利要求1所述的PDF文檔的文本提取方法,其特征在于,所述根據(jù)PDF文檔中各字符的顯示空間獲得所述各字符的排版空間包括: 獲取PDF文檔中各字符的顯示空間; 計算所述顯示空間中各字符的柵格區(qū)域; 增大所述柵格區(qū)域后獲取所述各字符的排版空間。3.根據(jù)權(quán)利要求2所述的PDF文檔的文本提取方法,其特征在于,所述PDF文檔的排版方式為橫版,所述柵格區(qū)域為顯示空間中各字符的像素寬度,所述像素寬度包括像素寬度左邊界和像素寬度右邊界,增大所述柵格區(qū)域包括: 將所述像素寬度左邊界向左增大第二預(yù)設(shè)閾值;以及 將所述像素寬度右邊界向右增大第三預(yù)設(shè)閾值。4.根據(jù)權(quán)利要求2所述的PDF文檔的文本提取方法,其特征在于,所述PDF文檔的排版方式為豎版,所述柵格區(qū)域為顯示空間中各字符的像素高度,所述像素高度包括像素高度上邊界和像素高度下邊界,增大所述柵格區(qū)域包括: 將所述像素高度上邊界向上增大第四預(yù)設(shè)閾值;以及 將所述像素高度下邊界向下增大第五預(yù)設(shè)閾值。5.根據(jù)權(quán)利要求1所述的PDF文檔的文本提取方法,其特征在于,在判斷相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值之前,所述方法還包括: 判斷當(dāng)前字符的排版空間前為空,若是,則判斷所述當(dāng)前字符為行首,在所述當(dāng)前字符的排版空間之前不插入空格。6.一種PDF文檔的文本提取裝置,其特征在于,所述裝置包括: 排版空間獲取模塊,用于根據(jù)PDF文檔中各字符的顯示空間獲得所述各字符的排版空間; 第一判斷模塊,用于判斷相鄰字符的排版空間之間的間隔是否大于第一預(yù)設(shè)閾值,若是,則在所述相鄰字符的排版空間之間插入空格。7.根據(jù)權(quán)利要求6所述的TOF文檔的文本提取裝置,其特征在于,所述排版空間獲取模塊包括: 顯示空間獲取單元,用于獲取PDF文檔中各字符的顯示空間; 計算單元,用于計算所述顯示空間中各字符的柵格區(qū)域; 增大單元,用于增大所述柵格區(qū)域后獲取所述各字符的排版空間。8.根據(jù)權(quán)利要求7所述的PDF文檔的文本提取裝置,其特征在于,所述PDF文檔的排版方式為橫版,所述柵格區(qū)域為顯示空間中各字符的像素寬度,所述像素寬度包括像素寬度左邊界和像素寬度右邊界,所述增大單元包括: 第一增大子單元,用于將所述像素寬度左邊界向左增大第二預(yù)設(shè)閾值;以及 第二增大子單元,用于將所述像素寬度右邊界向右增大第三預(yù)設(shè)閾值。9.根據(jù)權(quán)利要求7所述的PDF文檔的文本提取裝置,其特征在于,所述PDF文檔的排版方式為豎版,所述柵格區(qū)域為顯示空間中各字符的像素高度,所述像素高度包括像素高度上邊界和像素高度下邊界,所述增大單元包括: 第三增大子單元,用于將所述像素高度上邊界向上增大第四預(yù)設(shè)閾值;以及 第四增大子單元,用于將所述像素高度下邊界向下增大第五預(yù)設(shè)閾值。10.根據(jù)權(quán)利要求6所述的PDF文檔的文本提取裝置,其特征在于,所述裝置還包括:第二判斷模塊,用于判斷當(dāng)前字符的排版空間前為空,若是,則判斷所述當(dāng)前字符為行首,在所述當(dāng)前字符的排版空間之前不插入空格。
【專利摘要】本發(fā)明公開了一種PDF文檔的文本提取方法和裝置,所述方法包括:根據(jù)PDF文檔中各字符的顯示空間獲得所述各字符的排版空間;若當(dāng)前字符的排版空間與前一字符的排版空間間隔的距離大于第一預(yù)設(shè)閾值時,在所述當(dāng)前字符的排版空間之前插入空格。本發(fā)明避免了采用現(xiàn)有排版軟件導(dǎo)出PDF文檔后提取的文本中英文字符連接在一起的現(xiàn)象,提高了PDF文檔的文本提取的準(zhǔn)確性和可靠性。
【IPC分類】G06F17/25
【公開號】CN105335346
【申請?zhí)枴緾N201510754036
【發(fā)明人】樓永植
【申請人】漢王科技股份有限公司, 中國新聞出版研究院
【公開日】2016年2月17日
【申請日】2015年11月9日