專利名稱:一種基于pdf的復(fù)雜版面的標(biāo)引方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息技術(shù)領(lǐng)域,具體涉及一種基于PDF的復(fù)雜版面的標(biāo)引 方法。
背景技術(shù):
在報業(yè)、出版社等行業(yè)中,使用排版軟件排版完成后,需要從己經(jīng)生 產(chǎn)的版面中提取文章以及相關(guān)的元數(shù)據(jù)信息,以便進(jìn)一步利用,就是文章 信息的重構(gòu)和標(biāo)引。為了更真實還原版面的內(nèi)容,除了需要文章本身的內(nèi) 容信息(如標(biāo)題、引題、副題、作者、正文等多項信息)以外,在標(biāo)引時 還提取需要文字塊的位置、字體字號等信息。
目前,從版面中提取文章信息的方法(也稱反解和標(biāo)引)有以下幾種
(1) 通過排版軟件本身的能力導(dǎo)出xml文件, 一般都包含文章的
內(nèi)容信息,但不同排版軟件輸出的內(nèi)容不同,如有些不提供 標(biāo)題信息,多數(shù)的排版軟件并不導(dǎo)出文字塊的位置信息,使 得文章的信息不完整,往往需要通過手工的方式進(jìn)行補充,
效率非常低;另外,應(yīng)用本方法還必須能夠獲得原始排版文
件,而一些需要反解和標(biāo)引的場合下,是無法獲得原始排版
文件的;
(2) 通過軟插件技術(shù)對排版軟件進(jìn)行擴(kuò)充,允許進(jìn)行一些半自動 化的信息提取和人工標(biāo)引。專利CN200610112710. 9公布了"一 種提取見報資料數(shù)據(jù)信息的方法"可以基于版面文件結(jié)合人 工干預(yù)來提取和表演文章。這種方法的優(yōu)點是可以提取比較 完備和準(zhǔn)確的信息,其缺點是a)不同的排版軟件需要開發(fā) 不同的軟插件,開發(fā)難度和工作量大;b)必須能夠提供原始 的排版文件,才能進(jìn)行標(biāo)引。c)隨著排版軟件本身的發(fā)展和 升級, 一些老的數(shù)據(jù)格式不再支持,因此大量的歷史數(shù)據(jù)無
法進(jìn)行標(biāo)引和重新利用;
(3) 對排版軟件輸出的結(jié)果文件格式(PS格式)進(jìn)行標(biāo)引,其中 的代表性的技術(shù)是"方正全真軟件",用來反解和表演方正 飛騰排版輸出的PS文件。由于目前對PS的反解技術(shù),主要 是利用PS中的注釋進(jìn)行的,不同排版軟件輸出的注釋不同, 導(dǎo)致反解和標(biāo)引軟件不同通用。隨著印刷技術(shù)的發(fā)展,基于 PDF的RIP技術(shù)慢慢取代PS,因此有些排版軟件和流程中直 接得到的就是PDF而不再是PS 了。另外,大量的歷史數(shù)據(jù)是 PDF格式的而不存在PS文件,導(dǎo)致PS反解和標(biāo)引無法應(yīng)用;
(4) 多數(shù)排版軟件可以生成PDF格式的文件,大量的歷史數(shù)據(jù)是 基于PDF的,因此基于PDF的反解和標(biāo)引的應(yīng)用面很廣。專 利CN200510039015. x公布了 "一種基于xml的PDF文檔信息 抽取系統(tǒng)的方法",主要是把PDF文件的物理結(jié)構(gòu)轉(zhuǎn)換為邏 輯結(jié)構(gòu),但并沒有進(jìn)行文字成塊和成文的處理。專利 CN200510122890. 4公布了 "一種從PDF文檔到XML文檔轉(zhuǎn)換 的方法",通過第三方的工具把PDF轉(zhuǎn)為平級的xml文檔, 再通過xslt結(jié)合規(guī)則提取xml中信息,其應(yīng)用的前提是PDF 版面本身較為簡單,結(jié)構(gòu)較為一致,使用簡單的xpath的規(guī) 則就可以提取xml信息,并不適用報刊這樣的復(fù)雜版面。專 利CN200410091432. 4公布的"一種對報紙版面進(jìn)行標(biāo)題與 正文邏輯關(guān)聯(lián)的方法"以及專利專利200410091434. 3公布的
"一種對報紙版面進(jìn)行文字閱讀順序恢復(fù)的方法",均是后 續(xù)的成文的方法,并沒有涉及文字塊的生成和合并規(guī)則和整 個提取內(nèi)容和位置等信息的流程。專利200610007221.7 " — 種在報紙版面上檢査標(biāo)引稿件的方法及系統(tǒng)"和專利 200610065665.6 "—種報刊版面網(wǎng)絡(luò)標(biāo)引的方法及系統(tǒng)"均 在組版軟件以及組版環(huán)境可用的情形下進(jìn)行復(fù)雜版面的反解 和標(biāo)引,不能應(yīng)用到PDF的反解和標(biāo)引中。 可見,在現(xiàn)有技術(shù)中,對于缺少原始組版文件、或缺少軟插件可用的 場合,尚沒有一種能對復(fù)雜版面數(shù)據(jù)源進(jìn)行通用反解和標(biāo)引的高效的方法。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的缺陷,本發(fā)明的目的是提供一種省時、省力的
統(tǒng)一的PDF復(fù)雜版面的標(biāo)引方法,該方法只需要PDF數(shù)據(jù)、最大限度減少 了對數(shù)據(jù)源的要求,具有廣泛的適應(yīng)性,同時該方法可以自動化處理復(fù)雜 版面的文字信息提取、原始文字塊合并以及文章內(nèi)容和樣式信息的提取, 結(jié)合少量的人工操作可以完成標(biāo)引工作,并可以自動確定排版類型,極大 地提高了反解和標(biāo)引的效率。
為達(dá)到以上目的,本發(fā)明采用的技術(shù)方案是 一種基于PDF的復(fù)雜版
面的標(biāo)引方法,包括以下步驟
(1) 導(dǎo)入報刊版面的PDF文件,對PDF進(jìn)行分析,獲取版面上的全部 的文字內(nèi)容、文字的位置、字體、字號和序號信息,得到一個原始文字塊 的列表L;
(2) 按原始文字塊的信息,對原始文字塊進(jìn)行聚類,得到多個集合
(3) 對每個集合中的原始文字塊進(jìn)行排序,并合并該集合的所有原始 文字塊,得到合并文字塊;
(4) 按合并文字塊的字號標(biāo)定合并文字塊的屬性為標(biāo)題或正文;
(5) 對多個合并文字塊進(jìn)行再合并,構(gòu)建文章。
在如上所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法中,步驟(2)中, 在對原始文字塊進(jìn)行聚類時包括以下步驟
(2.1)創(chuàng)建一個新的集合(Sh并選取列表L中第一個原始文字塊Ti 作為新集合{S}的第一個原始文字塊,并從列表L中去除該原始文字塊Ti;
(2. 2)對列表L中的剩下的全部原始文字塊進(jìn)行遍歷,對每個原始文 字塊,需要檢査集合"}中是否至少存在一個近鄰,如果存在近鄰,則把該 原始文字塊加入集合(S)中,并從列表L中刪除該原始文字塊;
(2. 3)遍歷完成后,如果列表L不為空,則重復(fù)上述步驟(1)和(2),
生成一個新的集合。
進(jìn)一步,步驟(2.2)中檢査兩個原始文字塊是否近鄰的方法是 設(shè)兩個待判定的原始文字塊分別為T,和T2,對應(yīng)的字號為L和f2,對
應(yīng)的位置左上角坐標(biāo)分別為(x,,yi)和(X2,y》,右下角坐標(biāo)分別為 (Xl, ,yi,)和(X2, ,y2,),包括以下步驟
(2.2.1) 計算字號差別系數(shù),定義為c 二 2*(f\-f2)/(frff2);
(2.2.2) 計算平均字符高度為h = (yi' -yi +y2, -y2)/2;
(2.2.3) 計算在水平方向的距離系數(shù)d,:
dx=(max(Xl, x2)-min(x, , x2, ))/h,其中max (a, b)表示取兩者的較大 值,min(a,b)表示取兩者的較小值;
(2.2.4) 計算在垂直方向的距離系數(shù)dy: d尸(max(yi, y2) -min(yi, , y2, ))/h;
(2. 2. 5)根據(jù)經(jīng)驗,設(shè)定最大容忍字號差別系數(shù)c皿一0. 1,最大容忍水 平方向距離系數(shù)為cLax=0. 9,最大容忍垂直方向距離系數(shù)為dyraax 二O. 9; (2.2.6)則判定兩原始文字塊為近鄰的充分必要條件是c〈c,且
dx〈d環(huán)x dy〈 dymaxo
進(jìn)一步,步驟(3)中,對每個集合中的原始文字塊進(jìn)行排序時根據(jù)不
同版面類型,確定不同的排序類型后,再根據(jù)原始文字塊的位置進(jìn)行排序,
具體來說
對于普通的橫排版面使用先從上到下、再從左到右的排序方法,對于豎 排版面,使用先從右到左,再從上到下的排序方法。
更進(jìn)一步,步驟(3)中,對每個集合中的原始文字塊進(jìn)行排序時先根
據(jù)原始文字塊的位置和序號,自動確定排序類型后,再進(jìn)行排序操作,具
體的步驟是
(3.1) 計算待處理的集合{S}中的原始文字塊的平均高度h;
(3.2) 對集合中的原始文字塊按序號進(jìn)行排序;
(3.3) 順序遍歷集合中的全部原始文字塊,依次計算相鄰兩個原始文
字塊的水平位置差異值i[i]和垂直位置差異d,[i];
(3.4) 設(shè)置和計算4個統(tǒng)計計數(shù)器如下
a) 等水平位置計數(shù)器Zx,用來記錄滿足abs(dx[i]) 〈 Cl* h的出 現(xiàn)次數(shù),其中abs表示取絕對值;
b) 等高度計數(shù)器Zy,用來記錄滿足abs(dy[i]) < dH4i的出現(xiàn)次
數(shù);
c) 橫排方向計數(shù)器Nx:對滿足abs(dy[i]) 〈c^h的差異值,檢查 其對應(yīng)的cUi]值,如果dx[i]〉0,則Nx加一,否則Nx減一;
d) 豎排方向計數(shù)器Ny:如果dx[i] > c2*h,則Ny加一,如果 dx[i]〈-c2*h,則Ny減一;
上述四個統(tǒng)計計數(shù)器的初值全部設(shè)置為0,并設(shè)d為容忍度系數(shù),
取值為0.2, C2為間距系數(shù),取值為1.0;
(3.5) 遍歷完成后,根據(jù)四個計數(shù)器的值,判定排版類型如下
a) 如果Z》Zy,且Ny > 0,則為從左到右的豎排;
b) 如果Zx〉Zy,且Ny < 0,則為從右到左的豎排; C)如果Z》Zy,且Ny二0,則為豎排無方向;
d) 如果Zx《Zy,且N, 〉= 0,則為從左到右的橫排;
e) 如果ZX-Zy,且Nx < 0,則為從右到左的橫排;
(3.6) 根據(jù)排版類型對集合內(nèi)的原始文字塊按位置進(jìn)行排序。
進(jìn)一步,步驟(3)中,對集合內(nèi)原始文字塊排序后進(jìn)行合并的歩驟是:
(3.7) 合并文字塊的內(nèi)容為集合內(nèi)所有原始文字塊按順序拼接;
(3.8) 合并文字塊的區(qū)域為集合內(nèi)所有原始文字塊矩形的最小包容矩
形;
(3.9) 合并文字塊的字號為集合內(nèi)所有原始文字塊字號的平均值; (3. 10)合并文字塊的字體為集合內(nèi)原始文字塊數(shù)量最多的字體。
進(jìn)一步,步驟(5)中,對多個合并文字塊進(jìn)行再合并采用人工干預(yù)的 方法,或者根據(jù)文字塊的位置、排版類型、字體字號、語義和詞性信息進(jìn) 行智能分析和合并。
本發(fā)明的效果在于采用本發(fā)明所述的方法,數(shù)據(jù)源上只需要PDF文 件,減少應(yīng)用場合的限制;能夠自動化處理復(fù)雜版面的文字信息提取、原
始文字塊合并以及文章內(nèi)容和樣式信息的提取,結(jié)合少量的人工操作可以 完成標(biāo)引工作,并可以自動確定排版類型,極大地提高了反解和標(biāo)引的效 率。
圖1是PDF復(fù)雜版面的文章重構(gòu)流程圖2是原始文字塊提取后的效果圖,左側(cè)的中部為當(dāng)前選中的原始文 字塊的詳細(xì)信息;
圖3是原始文字塊合并后的效果圖,左側(cè)的中部為當(dāng)前選中的合并文 字塊的詳細(xì)信息;
圖4是合并文字塊進(jìn)一步標(biāo)引后的效果圖,左側(cè)的中部為當(dāng)前選中的 合并文字塊的詳細(xì)信息;
圖5是原始文字塊合并后的效果圖,左側(cè)的中部為當(dāng)前選中的合并文 字塊的詳細(xì)信息,其中包含了豎排的文字塊。
具體實施例方式
下面結(jié)合實施例和附圖,對本發(fā)明作進(jìn)一步的闡述-
如圖1所示, 一種基于PDF的復(fù)雜版面的標(biāo)引方法,包括以下步驟
第一步S11,導(dǎo)入報刊版面的PDF文件,對PDF進(jìn)行分析,獲取版面 上的全部的文字內(nèi)容、文字的位置、字體、字號、序號信息,得到一個原
始文字塊的列表L;
本實施例中,提取的原始文字塊信息如圖2,包括文字內(nèi)容、位置、 字體字號、序號等信息。為直觀,直接顯示了PDF的版面圖,并把提取到 的文字矩形區(qū)域以粉框顯示在版面圖上。可以看到,由于排版軟件的對文 字進(jìn)行了位置控制,因此從PDF中提取到的文字不是流式的一個整塊,而 是很多個小的塊,基本上是每字符一個文字塊,如21所示的文字塊為當(dāng)前 選中的原始文字塊,左側(cè)的中部為當(dāng)前選中的原始文字塊21的詳細(xì)信息。
第二步S12,按原始文字塊的距離、字體、字號等信息,對原始文字 塊進(jìn)行聚類,得到多個集合(S丄
本實施例中,聚類使用的方法如下
(1) 創(chuàng)建一個新的集合(S),并選取列表L中第一個原始文字塊L作 為新集合"}的第一個原始文字塊,并從列表L中去除該原始文字塊T,;
(2) 對列表L中的剩下的全部原始文字塊進(jìn)行遍歷,對每個原始文字
塊,需要檢查集合(sl中是否至少存在一個近鄰,如果存在近鄰,則把該原
始文字塊加入集合(S)中,并從列表L中刪除該原始文字塊。
(3) 遍歷完成后,如果列表L不為空,則重復(fù)上述步驟(1)和(2), 生成一個新的集合。
在判定兩個原始文字塊是否近鄰時,使用了下列的步驟和方法(設(shè)兩 個待判定的原始文字塊分別為T,和T2,對應(yīng)的字號為f,和f2,對應(yīng)的位置 左上角坐標(biāo)分別為Od,y》和(x2,y2),右下角坐標(biāo)分別為(x/ ,y/ )和 (x2, , y2,))
(1) 計算字號差別系數(shù),定義為C = 2*(f「f2)/仏+f2);
(2) 計算平均字符高度為h = (yi, -yi +y2, -y2)/2;
(3) 計算在水平方向的距離系數(shù)dx:
dx二(max(x!, X2)-min(x/ , x2, ))/h,其中max (a, b)表示取兩者的較大 值,min(a,b)表示取兩者的較小值;
(4) 計算在垂直方向的距離系數(shù)d" d尸(max(y" y2)-min(y/ , y2, ))/h;
(5) 根據(jù)經(jīng)驗,設(shè)定最大容忍字號差別系數(shù)cmax=0. 1,最大容忍水平方 向距離系數(shù)為dxmax=0. 9,最大容忍垂直方向距離系數(shù)為dyMX =0. 9;
(6) 則判定兩原始文字塊為近鄰的充分必要條件是c〈c目且dx〈dMax 且dy < d
上述的三個判斷標(biāo)準(zhǔn)可以根據(jù)實際的情況調(diào)整或去除,如忽略字號差 異,可以把不同字號的近鄰文字進(jìn)行聚類。其中的容忍度系數(shù)也可以根據(jù) 實際的情況作調(diào)整,如西文版面, 一般為橫排,最大容忍水平方向距離系
數(shù)可以選擇得小一些,而最大容忍垂直方向距離系數(shù)適當(dāng)再大一些。
第三步S13,對每個集合中的原始文字塊進(jìn)行排序,并合并該集合的 所有原始文字塊,得到合并文字塊;
本實施例中,在合并前的排序中,根據(jù)原始文字塊的位置和序號自動 可確定排序類型,具體的步驟是(設(shè)待處理的集合為"}):
(1) 計算集合(S)中的原始文字塊的平均高度h;
(2) 對集合中的原始文字塊按序號進(jìn)行排序;
(3) 順序遍歷集合中的全部原始文字塊,依次計算相鄰兩個原始文字 塊的水平位置差異值山[i]和垂直位置差異dy[i];
(4) 設(shè)置和計算4個統(tǒng)計計數(shù)器如下(初值全部置為O,并設(shè)d為容 忍度系數(shù),根據(jù)經(jīng)驗可取為0.2, C2為間距系數(shù),根據(jù)經(jīng)驗可取為l.O):
a) 等水平位置計數(shù)器Zx,用來記錄滿足abs(dx[i]) 〈 c^h的出 現(xiàn)次數(shù),其中abs表示取絕對值(下同);
b) 等高度計數(shù)器Zy,用來記錄滿足abs(dy[i]) 〈 Ch的出現(xiàn)次 數(shù),;
c) 橫排方向計數(shù)器Nx:對滿足abs(dy[i]) 〈c^h的差異值,檢查 其對應(yīng)的cUi]值,如果dx[i]〉0,則Nx加一,否則N,減一;
d) 豎排方向計數(shù)器Ny:如果dx[i] > c2*h,則Ny加一,如果 dx[i]〈-c2*h,則隊減一;
(5) 遍歷完成后,根據(jù)四個計數(shù)器的值,判定排版類型如下
a) 如果Zx〉Zy,且Ny 〉 0,則為從左到右的豎排;
b) 如果Zx〉Zy,且Ny < 0,則為從右到左的豎排;
c) 如果Zx〉Zy,且Ny = 0,則為豎排無方向;
d) 如果Z,〈-Zy,且Nx >= 0,則為從左到右的橫排;
e) 如果Z風(fēng),且Nx 〈 0,則為從右到左的橫排;
排版類型的確定,也可以使用其他的方法,如對集合內(nèi)的文字計算出 相鄰字符的水平和垂直的平均間距,按間距確定文字的排版方向是橫排或
豎排。
對于己知排版類型的版面,可以省略該步驟。
排版類型確定后,按排版類型的文字閱讀順序進(jìn)行原始文字塊的排序, 并對文字塊進(jìn)行了合并,合并的步驟是
(1) 合并文字塊的內(nèi)容為集合內(nèi)所有原始文字塊按順序拼接;
(2) 合并文字塊的區(qū)域為集合內(nèi)所有原始文字塊矩形的最小包容矩
形;
(3) 合并文字塊的字號為集合內(nèi)所有原始文字塊字號的平均值;
(4) 合并文字塊的字體為集合內(nèi)原始文字塊數(shù)量最多的字體;
圖3是原始文字塊合并后的效果圖,左側(cè)的中部31為當(dāng)前選中的合并 文字塊32的詳細(xì)信息。
圖3中,左側(cè)部分顯示了選中文字塊的信息,可以看到,文字塊已經(jīng) 合并。合并文字塊上顯示的〈16:1〉10,其中第二個數(shù)字為排版類型,取值 l表示橫排從左到右,取值3表示豎排從左到右,取值4表示豎排從右到 左,取值5表示豎排無方向??梢钥吹礁骱喜⑽淖謮K的排版類型已經(jīng)正確 獲取。
第四步S14,按合并文字塊的字號標(biāo)定合并文字塊的屬性為標(biāo)題或正
文;
本實施例中,使用字號大小作為判斷依據(jù),閾值取為13pt。
對于閾值附件的合并文字塊,往往存在誤判的可能,因此還可以參考 合并文本塊位置、以及周邊的合并文字塊的屬性情況而確定。
如圖4所示,圖4是合并文字塊進(jìn)一步標(biāo)引后的效果圖,圖4中,合 并文字塊上顯示的〈16:1〉10,其中第一個數(shù)字塊類型,如取值16表示正文 塊,取值1表示標(biāo)題塊。可以看到標(biāo)題和正文己經(jīng)區(qū)分,如41和42所示,41
所指示的部分為標(biāo)題,42所指示的部分為正文。
第五步S15,對多個合并文字塊進(jìn)行再合并,構(gòu)建文章;
本實施例中,使用了人工操作合并的方法,選中需要再合并的多個文 字塊,進(jìn)行合并操作,軟件自動根據(jù)選中順序進(jìn)行正文的合并。
也可以使用語義、詞性、字體、字號等信息利用軟件進(jìn)行智能判定閱 讀順序后再進(jìn)行合并。
圖5顯示了再合并的后的結(jié)果,可以看到整個正文已經(jīng)合并。左側(cè)51
為當(dāng)前選中的合并文字塊52的詳細(xì)信息。
本發(fā)明所述的方法并不限于具體實施方式
中所述的實施例,本領(lǐng)域技 術(shù)人員根據(jù)本發(fā)明的技術(shù)方案得出其他的實施方式,同樣屬于本發(fā)明的技 術(shù)創(chuàng)新范圍。
權(quán)利要求
1.一種基于PDF的復(fù)雜版面的標(biāo)引方法,包括以下步驟(1)導(dǎo)入報刊版面的PDF文件,對PDF進(jìn)行分析,獲取版面上的全部的文字內(nèi)容、文字的位置、字體、字號和序號信息,得到一個原始文字塊的列表L;(2)按原始文字塊的信息,對原始文字塊進(jìn)行聚類,得到多個集合{Si};(3)對每個集合中的原始文字塊進(jìn)行排序,并合并該集合的所有原始文字塊,得到合并文字塊;(4)按合并文字塊的字號標(biāo)定合并文字塊的屬性為標(biāo)題或正文;(5)對多個合并文字塊進(jìn)行再合并,構(gòu)建文章。
2. 如權(quán)利要求1所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法,其特征 是步驟(2)中,在對原始文字塊進(jìn)行聚類時包括以下步驟(2.1)創(chuàng)建一個新的集合(S),并選取列表L中第一個原始文字塊Ti作 為新集合{S}的第一個原始文字塊,并從列表L中去除該原始文字塊Ti;(2. 2)對列表L中的剩下的全部原始文字塊進(jìn)行遍歷,對每個原始文字 塊,需要檢查集合(S)中是否至少存在一個近鄰,如果存在近鄰,則把該原始 文字塊加入集合{S}中,并從列表L中刪除該原始文字塊;(2. 3)遍歷完成后,如果列表L不為空,則重復(fù)上述步驟(2. 1)和(2. 2),生成一個新的集合。
3. 如權(quán)利要求2所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法,其特征是 步驟(2.2)中檢査兩個原始文字塊是否近鄰的方法是設(shè)兩個待判定的原始文字塊分別為Ti和T2,對應(yīng)的字號為t和f2,對應(yīng) 的位置左上角坐標(biāo)分別為Od,y,)和(x2,y2),右下角坐標(biāo)分別為0d' ,y/ ) 和"2' ,y2,),包括以下步驟(2.2.1) 計算字號差別系數(shù),定義為c = 2*(&-f2)/(fi+f2);(2.2.2) 計算平均字符高度為h = (y,' -yi +y2, -y2)/2;(2.2.3) 計算在水平方向的距離系cL:dx=(maX(Xl,X2)—min(Xl, , x2, ) )/h,其中max (a, b)表示取兩者的較大值,min(a, b)表示取兩者的較小值;(2.2.4) 計算在垂直方向的距離系數(shù)dy: dy=(max(yi, y2)-min(y, , y2, ))/h;(2.2.5) 設(shè)定最大容忍字號差別系數(shù)(:_=0. 1,最大容忍水平方向距離 系數(shù)為d_=0.9,最大容忍垂直方向距離系數(shù)為d一 二0.9;(2.2.6) 則判定兩原始文字塊為近鄰的充分必要條件是c〈cmax且 dx〈dXMX且dy 〈 dymax.
4. 如權(quán)利要求1所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法,其特征 是步驟(3)中,對每個集合中的原始文字塊進(jìn)行排序時根據(jù)不同版面類型,確定不同的排序類型后,再根據(jù)原始文字塊的位置進(jìn)行排序,具體來說對于普通的橫排版面使用先從上到下、再從左到右的排序方法,對于豎排 版面,使用先從右到左,再從上到下的排序方法。
5. 如權(quán)利要求4所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法,其特征是步驟(3)中,對每個集合中的原始文字塊進(jìn)行排序時先根據(jù)原始文字塊的位置和序號,自動確定排序類型后,再進(jìn)行排序操作,具體的步驟是-(3. 1)計算待處理的集合(S)中的原始文字塊的平均高度h;(3.2) 對集合中的原始文字塊按序號進(jìn)行排序;(3.3) 順序遍歷集合中的全部原始文字塊,依次計算相鄰兩個原始文字塊的水平位置差異值cL[i]和垂直位置差異(Ui];(3.4) 設(shè)置和計算4個統(tǒng)計計數(shù)器如下a) 等水平位置計數(shù)器Z,,用來記錄滿足abs(dx[i]) 〈 c,h的出現(xiàn) 次數(shù),其中abs表示取絕對值;b) 等高度計數(shù)器Zy,用來記錄滿足abs(d,[i]) 〈d樸的出現(xiàn)次數(shù);c) 橫排方向計數(shù)器N,:對滿足abs(dy[i]) < c并h的差異值,檢查 其對應(yīng)的山[i]值,如果d,[i]〉0,則N,加一,否則N,減一;d〉豎排方向計數(shù)器N,:如果> c2*h,則N,加一,如果dx[i]<-C2*h,則Ny減一;上述四個統(tǒng)計計數(shù)器的初值全部設(shè)置為0,并設(shè)d為容忍度系數(shù),取值為0.2, C2為間距系數(shù),取值為1.0;(3.5) 遍歷完成后,根據(jù)四個計數(shù)器的值,判定排版類型如下a) 如果Zx〉Zy,且Ny 〉 0,則為從左到右的豎排;b) 如果Zx〉Zy,且Ny〈 0,則為從右到左的豎排; c) 如果Zx〉Zy,且Ny = 0,則為豎排無方向;d) 如果Zx〈=Zy,且Nx 〉= 0,則為從左到右的橫排;e) 如果Zx〈=Zy,且Nx < 0,則為從右到左的橫排;(3.6) 根據(jù)排版類型對集合內(nèi)的原始文字塊按位置進(jìn)行排序。
6. 如權(quán)利要求1至5之一所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法, 其特征是步驟(3)中,對集合內(nèi)原始文字塊排序后進(jìn)行合并的步驟是(3.7) 合并文字塊的內(nèi)容為集合內(nèi)所有原始文字塊按順序拼接;(3. 8)合并文字塊的區(qū)域為集合內(nèi)所有原始文字塊矩形的最小包容矩形;(3. 9)合并文字塊的字號為集合內(nèi)所有原始文字塊字號的平均值; (3. 10)合并文字塊的字體為集合內(nèi)原始文字塊數(shù)量最多的字體。
7. 如權(quán)利要求1至5之一所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法, 其特征是步驟(5)中,對多個合并文字塊進(jìn)行再合并采用人工干預(yù)的方法, 或者根據(jù)文字塊的位置、排版類型、字體字號、語義和詞性信息進(jìn)行智能分 析和合并。
8. 如權(quán)利要求6所述的一種基于PDF的復(fù)雜版面的標(biāo)引方法,其特征 是步驟(5)中,對多個合并文字塊進(jìn)行再合并采用人工干預(yù)的方法,或者 根據(jù)文字塊的位置、排版類型、字體字號、語義和詞性信息進(jìn)行智能分析和 合并。
全文摘要
本發(fā)明涉及一種基于PDF的復(fù)雜版面的標(biāo)引方法,屬于信息技術(shù)領(lǐng)域?,F(xiàn)有技術(shù)中,對于復(fù)雜版面的文章重構(gòu)往往需要大量的手工操作和調(diào)整,費時費力。本發(fā)明所述的方法通過分析和獲取PDF上文字信息以及位置、字體、字號等信息,根據(jù)相鄰、相似的原則進(jìn)行自動化的文字成塊操作;進(jìn)一步根據(jù)字體字號等信息確定文章標(biāo)題與正文,根據(jù)位置信息,并結(jié)合少量的人工干預(yù)進(jìn)行正文拼接、正文與標(biāo)題關(guān)聯(lián)等成文操作,從而使得整個版面上的文章能較快重新構(gòu)建,同時可以自動獲取到該文章所在的版面區(qū)域、文章和標(biāo)題的字體和字號等標(biāo)引信息,解決了現(xiàn)有技術(shù)中文章重新構(gòu)建費時費力或者效果不理想的問題。
文檔編號G06F17/21GK101206639SQ200710179938
公開日2008年6月25日 申請日期2007年12月20日 優(yōu)先權(quán)日2007年12月20日
發(fā)明者徐劍波, 寧 董 申請人:北大方正集團(tuán)有限公司;北京方正阿帕比技術(shù)有限公司;北京大學(xué)