生成的內(nèi)嵌字體數(shù)據(jù)中各個(gè) 字形逐個(gè)進(jìn)行識(shí)別(即OCR),并記錄下識(shí)別得到的字符編碼,作為該字形的標(biāo)準(zhǔn)編碼,形成 字形編碼對(duì)應(yīng)表,并將其加入內(nèi)嵌字體表中,形成最終的內(nèi)嵌字體表,如表4所示。
[0061] 表4:最終的內(nèi)嵌字體表
[0062]
[0063] 例如對(duì)于字體"Font Γ,我們對(duì)于"Merge化化Γ中的所有字形逐一進(jìn)行識(shí)別,并記 錄下識(shí)別得到的字符編碼,W形成字形編碼對(duì)應(yīng)表。如對(duì)于"Merge化化Γ中字形索引為"5" 的字,我們字形識(shí)別的結(jié)果為其標(biāo)準(zhǔn)編碼為"\u4e00",則"OCRMapT中有一項(xiàng)為"5^\ u4e00"。最終形成的內(nèi)嵌字體表如表4所不。
[0064] S5、根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文字對(duì)應(yīng)的編碼。過(guò)程為,首先對(duì)于目標(biāo)文 檔中的各個(gè)文字,根據(jù)其對(duì)應(yīng)的字體信息及內(nèi)嵌字體表查找字體信息,然后根據(jù)所述字體 信息查找標(biāo)準(zhǔn)編碼,將查找到的標(biāo)準(zhǔn)編碼加入文檔中。
[0065] 具體為,遍歷文檔中所有頁(yè)面,對(duì)于頁(yè)面中的各個(gè)文字,根據(jù)其對(duì)應(yīng)的字體信息及 最終的的內(nèi)嵌字體表找到相應(yīng)的合并后的字體信息,進(jìn)而根據(jù)其字體編碼或字形索引,結(jié) 合字體信息中的字形索引表、新舊字形索引表與字形編碼對(duì)應(yīng)表,查找其標(biāo)準(zhǔn)編碼,把查找 到的編碼替換或追加到文檔中的文字中。
[0066] 如對(duì)于某頁(yè)中的某個(gè)文字,其對(duì)應(yīng)字體信息中字體PS名稱為"PS_r,其字形索引 為1,則找到內(nèi)嵌字體表中字體PS名稱為"ps_r的項(xiàng),通過(guò)新舊字形索引表的到其新的字形 索引為"5",再到字形編碼對(duì)應(yīng)表中查到字形索引"5"對(duì)應(yīng)的標(biāo)準(zhǔn)編碼為"\u4e00",便得到 該文字對(duì)應(yīng)的標(biāo)準(zhǔn)編碼為"\u4e00",最后將文檔中該文字的字符編碼修正或追加為"\ u4e00",完成該文字的字符編碼糾正和更新。
[0067] 本方案中,首先需要導(dǎo)入含字體信息的文檔,遍歷所有頁(yè)面,并記錄其中所有的字 體信息(包括字體名稱、字體PS名稱等字體相關(guān)數(shù)據(jù))與對(duì)應(yīng)內(nèi)嵌字體數(shù)據(jù);接著,將擁有相 同字體名稱的字體信息聚類;接下來(lái),將聚類的字體信息對(duì)應(yīng)的內(nèi)嵌字體數(shù)據(jù)進(jìn)行合并,刪 除重復(fù)字形并記錄合并前后字體數(shù)據(jù)對(duì)應(yīng)關(guān)系;然后,對(duì)合并完成的字體數(shù)據(jù)中各個(gè)字形 逐個(gè)進(jìn)行識(shí)別(即OCR),并記錄下識(shí)別后的編碼(可W是化icode或G服等標(biāo)準(zhǔn)編碼);最后, 通過(guò)OCR結(jié)果還原文檔中各個(gè)文字對(duì)應(yīng)的字符編碼。
[0068] 該方案在現(xiàn)有技術(shù)的基礎(chǔ)上,通過(guò)字體合并的方式,減少字形識(shí)別的時(shí)間,大幅提 升字形識(shí)別的效率,W減少字形識(shí)別的時(shí)間成本,使其能更廣泛的被應(yīng)用。所有擁有內(nèi)嵌字 體數(shù)據(jù)的文檔均可應(yīng)用此方法進(jìn)行處理,包括PDF、CEBX、0抑等。
[0069] 實(shí)施例2:
[0070] 本實(shí)施例中提供一種字形識(shí)別裝置,結(jié)構(gòu)框圖如圖2所示,包括:
[0071 ]信息提取單元01,用于獲取目標(biāo)文檔,提取目標(biāo)文檔中的字體信息及其對(duì)應(yīng)的內(nèi) 嵌字體的字體數(shù)據(jù);
[0072] 聚類單元02,用于按照字體名稱對(duì)所述字體數(shù)據(jù)進(jìn)行聚類,得到多個(gè)分類;
[0073] 合并單元03,針對(duì)每個(gè)類別內(nèi)的字體數(shù)據(jù)進(jìn)行合并;
[0074] 字形識(shí)別單元04,對(duì)每個(gè)類別中合并后的字體數(shù)據(jù)對(duì)應(yīng)的各個(gè)字形進(jìn)行分別識(shí) 另IJ,獲得每個(gè)字形的編碼;
[0075] 編碼更新單元05,根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文字對(duì)應(yīng)的編碼。
[0076] 其中,所述聚類單元包括將字體名稱相同的字體數(shù)據(jù)聚合為一個(gè)類別。
[0077] 所述合并單元包括刪除子單元,刪除重復(fù)的字形,生成合并的字體數(shù)據(jù)和字形索 引;
[0078] 內(nèi)嵌子單元,建立所刪除的字形對(duì)應(yīng)的別名和字形索引與合并后的字形索引的對(duì) 應(yīng)關(guān)系,存入內(nèi)嵌字體表。
[0079] 所述字形識(shí)別單元包括:對(duì)各個(gè)字形分別進(jìn)行識(shí)別,記錄下識(shí)別得到的字符編碼 作為該字形的標(biāo)磚編碼,形成字形編碼對(duì)應(yīng)表,加入內(nèi)嵌字體表。
[0080] 所述編碼更新單元包括:對(duì)于目標(biāo)文檔中的各個(gè)文字,根據(jù)其對(duì)應(yīng)的字體信息及 內(nèi)嵌字體表查找字體信息,根據(jù)所述字體信息查找標(biāo)準(zhǔn)編碼,將查找到的標(biāo)準(zhǔn)編碼加入文 檔中。
[0081] 該方案中,采用字體聚類的方式,通過(guò)字體合并,消減文本中的重復(fù)字形,減少進(jìn) 行字形識(shí)別的字形的數(shù)量,大幅提升字形識(shí)別的效率。
[0082] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序 產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí) 施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī) 可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn) 品的形式。
[0083] 本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程 圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流 程和/或方框、W及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻\(yùn)些計(jì)算機(jī)程序 指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器W產(chǎn) 生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí) 現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0084] 運(yùn)些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備W特 定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指 令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或 多個(gè)方框中指定的功能。
[0085] 運(yùn)些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì) 算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟W產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或 其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一 個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0086] 顯然,上述實(shí)施例僅僅是為清楚地說(shuō)明所作的舉例,而并非對(duì)實(shí)施方式的限定。對(duì) 于所屬領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在上述說(shuō)明的基礎(chǔ)上還可W做出其它不同形式的變化或 變動(dòng)。運(yùn)里無(wú)需也無(wú)法對(duì)所有的實(shí)施方式予W窮舉。而由此所引伸出的顯而易見(jiàn)的變化或 變動(dòng)仍處于本發(fā)明創(chuàng)造的保護(hù)范圍之中。
【主權(quán)項(xiàng)】
1. 一種字形識(shí)別方法,其特征在于,包括如下步驟: 獲取目標(biāo)文檔,提取目標(biāo)文檔中的字體信息及其對(duì)應(yīng)的內(nèi)嵌字體的字體數(shù)據(jù); 按照字體名稱對(duì)所述字體數(shù)據(jù)進(jìn)行聚類,得到多個(gè)分類; 針對(duì)每個(gè)類別內(nèi)的字體數(shù)據(jù)進(jìn)行合并; 對(duì)每個(gè)類別中合并后的字體數(shù)據(jù)對(duì)應(yīng)的各個(gè)字形進(jìn)行分別識(shí)別,獲得每個(gè)字形的編 碼; 根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文字對(duì)應(yīng)的編碼。2. 根據(jù)權(quán)利要求1所述的方法,其特征在于:所述按照字體名稱對(duì)所述字體數(shù)據(jù)進(jìn)行聚 類的步驟,包括 將字體名稱相同的字體數(shù)據(jù)聚合為一個(gè)類別。3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于:所述針對(duì)每個(gè)類別內(nèi)的字體數(shù)據(jù)進(jìn)行 合并的步驟包括: 刪除重復(fù)的字形,生成合并的字體數(shù)據(jù)和字形索引; 建立所刪除的字形對(duì)應(yīng)的別名和字形索引與合并后的字形索引的對(duì)應(yīng)關(guān)系,存入內(nèi)嵌 字體表。4. 根據(jù)權(quán)利要求3所述的方法,其特征在于:對(duì)每個(gè)類別中合并后的字體數(shù)據(jù)對(duì)應(yīng)的各 個(gè)字形進(jìn)行分別識(shí)別,獲得每個(gè)字形的編碼的步驟,包括: 對(duì)各個(gè)字形分別進(jìn)行識(shí)別,記錄下識(shí)別得到的字符編碼作為該字形的標(biāo)磚編碼,形成 字形編碼對(duì)應(yīng)表,加入內(nèi)嵌字體表。5. 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文 字對(duì)應(yīng)的編碼的步驟,包括: 對(duì)于目標(biāo)文檔中的各個(gè)文字,根據(jù)其對(duì)應(yīng)的字體信息及內(nèi)嵌字體表查找字體信息,根 據(jù)所述字體信息查找標(biāo)準(zhǔn)編碼,將查找到的標(biāo)準(zhǔn)編碼加入文檔中。6. -種字形識(shí)別裝置,其特征在于,包括: 信息提取單元,用于獲取目標(biāo)文檔,提取目標(biāo)文檔中的字體信息及其對(duì)應(yīng)的內(nèi)嵌字體 的字體數(shù)據(jù); 聚類單元,用于按照字體名稱對(duì)所述字體數(shù)據(jù)進(jìn)行聚類,得到多個(gè)分類; 合并單元,針對(duì)每個(gè)類別內(nèi)的字體數(shù)據(jù)進(jìn)行合并; 字形識(shí)別單元,對(duì)每個(gè)類別中合并后的字體數(shù)據(jù)對(duì)應(yīng)的各個(gè)字形進(jìn)行分別識(shí)別,獲得 每個(gè)字形的編碼; 編碼更新單元,根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文字對(duì)應(yīng)的編碼。7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于:所述聚類單元包括 將字體名稱相同的字體數(shù)據(jù)聚合為一個(gè)類別。8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于:所述合并單元包括 刪除子單元,刪除重復(fù)的字形,生成合并的字體數(shù)據(jù)和字形索引; 內(nèi)嵌子單元,建立所刪除的字形對(duì)應(yīng)的別名和字形索引與合并后的字形索引的對(duì)應(yīng)關(guān) 系,存入內(nèi)嵌字體表。9. 根據(jù)權(quán)利要求6或7或8所述的裝置,其特征在于,所述字形識(shí)別單元包括:對(duì)各個(gè)字 形分別進(jìn)行識(shí)別,記錄下識(shí)別得到的字符編碼作為該字形的標(biāo)磚編碼,形成字形編碼對(duì)應(yīng) 表,加入內(nèi)嵌字體表。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述編碼更新單元包括:對(duì)于目標(biāo)文檔中 的各個(gè)文字,根據(jù)其對(duì)應(yīng)的字體信息及內(nèi)嵌字體表查找字體信息,根據(jù)所述字體信息查找 標(biāo)準(zhǔn)編碼,將查找到的標(biāo)準(zhǔn)編碼加入文檔中。
【專利摘要】本發(fā)明提供的一種字形識(shí)別方法,獲取目標(biāo)文檔,提取目標(biāo)文檔中的字體信息及其對(duì)應(yīng)的內(nèi)嵌字體的字體數(shù)據(jù);按照字體名稱對(duì)所述字體數(shù)據(jù)進(jìn)行聚類,得到多個(gè)分類;針對(duì)每個(gè)類別內(nèi)的字體數(shù)據(jù)進(jìn)行合并;對(duì)每個(gè)類別中合并后的字體數(shù)據(jù)對(duì)應(yīng)的各個(gè)字形進(jìn)行分別識(shí)別,獲得每個(gè)字形的編碼;根據(jù)所述編碼還原目標(biāo)文檔中每個(gè)文字對(duì)應(yīng)的編碼。該方案在現(xiàn)有技術(shù)的基礎(chǔ)上,通過(guò)字體合并的方式,減少字形識(shí)別的時(shí)間,大幅提升字形識(shí)別的效率,以減少字形識(shí)別的時(shí)間成本,使其能更廣泛的被應(yīng)用。所有擁有內(nèi)嵌字體數(shù)據(jù)的文檔均可應(yīng)用此方法進(jìn)行處理,包括PDF、CEBX、OFD等。
【IPC分類】G06K9/00, G06K9/62
【公開(kāi)號(hào)】CN105488471
【申請(qǐng)?zhí)枴緾N201510857445
【發(fā)明人】徐劍波, 易玨玲, 林欣欣
【申請(qǐng)人】北大方正集團(tuán)有限公司, 北京方正阿帕比技術(shù)有限公司
【公開(kāi)日】2016年4月13日
【申請(qǐng)日】2015年11月30日