專利名稱:一種在pdf文檔中顯示文本的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及文檔編輯領(lǐng)域,具體而言,涉及一種在PDF文檔中顯示文本的方法及系統(tǒng)。
背景技術(shù):
在PDF文檔中編輯文本時(shí),只有文本的字體與當(dāng)前系統(tǒng)字體庫中的字體匹配時(shí),才可以進(jìn)行編輯并正常顯示。而由于文本中存在的內(nèi)嵌字體和文本字體信息缺失都會(huì)導(dǎo)致文本無法編輯和正常顯示。由于PDF文檔中存在大量的內(nèi)嵌字體,這些內(nèi)嵌的字體與系統(tǒng)字體庫中的字體不完全相同。在編輯含有內(nèi)嵌字體的文本時(shí),編輯器在系統(tǒng)的字體庫中查找不到對(duì)應(yīng)的字體,導(dǎo)致進(jìn)行編輯的文本無法顯示或者顯示無法識(shí)別的亂碼。PDF文檔在生成的過程中,由于系統(tǒng)環(huán)境或生成工具不同的原因,一些文本中的字體信息可能丟失。在編輯字體信息缺失的文本時(shí),編輯器在系統(tǒng)的字體庫中查找不到對(duì)應(yīng)的字體,導(dǎo)致進(jìn)行編輯的文本無法顯示或者顯示無法識(shí)別的亂碼。綜上所述,由于文本中的內(nèi)嵌字體與字體信息丟失的原因,會(huì)導(dǎo)致在PDF文檔中編輯文本時(shí),系統(tǒng)不能正常顯示文本,導(dǎo)致用戶不能對(duì)文本進(jìn)行編輯,對(duì)用戶的使用造成不便。
發(fā)明內(nèi)容
本發(fā)明提供了一種在PDF文檔中顯示文本的方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中,用戶在使用PDF文檔編輯文本時(shí),系統(tǒng)不能正常顯示文本的問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種在PDF文檔中顯示文本的方法,包括在HF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;如果查找失敗,則將文本字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配;獲取與文本字體的名稱相似程度最高的字體;使用獲取到的字體顯示文本。其中,在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體包括根據(jù)字體信息在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體。其中,上述字體信息包括以下至少一種字體的名稱、字體是否為內(nèi)嵌字體、字體的類型,字體的編碼方式、以及字體支持的編碼類型。進(jìn)一步地,上述方法還包括將文本中的內(nèi)嵌字體與PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表;存儲(chǔ)映射表;在將文本字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配之前,還包括如果在字體庫中查找失敗,則在映射表中查找與文本字體對(duì)應(yīng)的字體;如果在映射表中查找成功,則使用查找到的字體顯示文本;如果在映射表中查找失敗,則執(zhí)行將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配的步驟。其中,存儲(chǔ)映射表包括將映射表存儲(chǔ)至PDF系統(tǒng)字體庫中。其中,獲取與文本字體的名稱相似程度最高的字體包括獲取與文本字體的名稱包含的相同標(biāo)識(shí)最多的字體。根據(jù)本發(fā)明的另一個(gè)方面,提供了一種在PDF文檔中顯示文本的系統(tǒng),包括第一查找模塊,用于在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;匹配模塊,用于當(dāng)查找模塊的查找失敗時(shí),將文本字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配;獲取模塊,用于獲取與文本字體的名稱相似程度最高的字體;第一顯示模塊,用于使用獲取到的字體顯示文本。其中上述第一查找模塊具體用于,根據(jù)字體信息在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體。進(jìn)一步地,上述系統(tǒng)還包括生成模塊,用于將文本中的內(nèi)嵌字體與PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表;存儲(chǔ)模塊,用于存儲(chǔ)映射表;第二查找模塊,用于在第一查找模塊在字體庫中查找失敗后,在映射表中查找與文本的字體對(duì)應(yīng)的字體; 第二顯示模塊,用于在第二查找模塊在映射表中查找成功后,使用查找到的字體顯示文本;執(zhí)行模塊,用于在第二查找模塊在映射表中查找失敗后,執(zhí)行將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配的操作。其中,上述獲取模塊具體用于,獲取與文本字體的名稱中包含的相同標(biāo)識(shí)最多的字體。通過本發(fā)明的技術(shù)方案,采用在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;如果查找失敗,則將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配,獲取與文本字體的名稱相似程度最高的字體;使用獲取到的字體顯示文本??梢詫?shí)現(xiàn)用戶在PDF文檔中編輯文本時(shí),能夠正常顯示文本字體的目的,進(jìn)而方便了用戶的使用。
圖I是根據(jù)本發(fā)明實(shí)施例I的在PDF文檔中顯示文本的方法的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例2的在PDF文檔中顯示文本的方法的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例3的在PDF文檔中顯示文本的系統(tǒng)的結(jié)構(gòu)框圖;以及圖4是根據(jù)本發(fā)明實(shí)施例3的另一種在PDF文檔中顯示文本的系統(tǒng)的結(jié)構(gòu)框圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明實(shí)施例作進(jìn)一步詳細(xì)的說明。實(shí)施例I圖I是根據(jù)本發(fā)明實(shí)施例I的在PDF文檔中顯示文本的方法的流程圖。如圖I所示,該方法包括以下步驟步驟101 :在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;在該步驟中,可以根據(jù)字體信息在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體,具體地,字體的信息包括以下至少一種字體的名稱、字體是否為內(nèi)嵌字體、字體的類型、字體的編碼方式以及字體支持的編碼類型。步驟102 :如果查找失敗,則將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配;
步驟103 :獲取與文本字體的名稱相似程度最高的字體;其中,相似程度最高的字體即為與文本字體的名稱包含的相同標(biāo)識(shí)最多的字體,例如,某字體的名稱為Ariat,則將該名稱與PDF系統(tǒng)字體庫中的字體名稱進(jìn)行字體匹配,匹配出系統(tǒng)字體庫中與該字體包含相同字母最多的字體名稱為Arial,則Arial則為與Ariat相似程度最高的字體,此外,也可以預(yù)先設(shè)置相似程度匹配表,該表中可列出多個(gè)相似的字母,例如i與I為一對(duì)相似的字母,根據(jù)某字體與字體庫中的字體包含的相似字體的個(gè)數(shù)計(jì)算出二者的相似度程度值,當(dāng)相 似程度達(dá)到預(yù)設(shè)閾值時(shí),可以確定與待識(shí)別字體相似程度最高的字體為與之匹配的字體。本實(shí)施例的在PDF文檔中顯示文本的方法,可以解決由于文本字體信息丟失而導(dǎo)致的文本在PDF文檔中不能顯示的問題,通過該匹配方法,可以提高在PDF文檔中編輯文本的效率。步驟104 :使用獲取到的字體顯示文本。實(shí)施例2圖2是根據(jù)本發(fā)明實(shí)施例2的在PDF文檔中顯示文本的方法的流程圖。步驟201 :啟動(dòng)字體匹配流程;步驟202 :在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;步驟203 :如果在字體庫中查找失敗,則在預(yù)先存儲(chǔ)的映射表中查找與文本的字體對(duì)應(yīng)的字體;如果在映射表中查找成功,則執(zhí)行步驟205,使用查找到的字體顯示文本;步驟204 :如果在映射表中查找失敗,則進(jìn)行近似匹配,即則將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配,獲取與文本字體的名稱相似程度最高的字體;如果匹配成功,則執(zhí)行步驟205,使用獲取到的字體顯示文本。步驟206:結(jié)束流程。在進(jìn)行上述步驟之前,可以事先建立好內(nèi)嵌字體與PDF系統(tǒng)字體庫中的字體的映射表,具體地,將的文本中的內(nèi)嵌字體與PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表,進(jìn)一步地,還可以針對(duì)不同的內(nèi)嵌字體,建立不同種類的內(nèi)嵌字體的映射表。同時(shí),為了便于后續(xù)使用,將每次建立的映射表存儲(chǔ)至PDF文檔系統(tǒng)字體庫,這樣可以在后續(xù)使用時(shí),同時(shí)在系統(tǒng)字體庫與映射表中查找編輯文本所需要的字體,提高了 PDF文檔中文本編輯的效率,方便了用戶的使用。本實(shí)施例的在PDF文檔中顯示文本的方法,可以解決由于文本中包含內(nèi)嵌字體而導(dǎo)致文本在系統(tǒng)中不能正常顯示的問題。實(shí)施例3圖3是根據(jù)本發(fā)明實(shí)施例3的在PDF文檔中顯示文本的系統(tǒng)的結(jié)構(gòu)框圖。如圖3所示,該在PDF文檔中顯示文本的系統(tǒng)30包括第一查找模塊31,用于在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;其中,該第一查找模塊31具體用于,根據(jù)字體信息在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體。匹配模塊32,用于當(dāng)查找模塊的查找失敗時(shí),將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配;獲取模塊33,用于獲取與文本字體的名稱相似程度最高的字體;該獲取模塊33具體用于,獲取與文本字體的名稱中包含的相同標(biāo)識(shí)最多的字體。
第一顯示模塊34,用于使用獲取到的字體顯示文本。圖4是根據(jù)本發(fā)明實(shí)施例3的另一種在PDF文檔中顯示文本的系統(tǒng)的結(jié)構(gòu)框圖。該系統(tǒng)40包括以下模塊生成模塊41,用于將的文本中的內(nèi)嵌字體與PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表;存儲(chǔ)模塊42,用于存儲(chǔ)映射表;第一查找模塊43,用于在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;第二查找模塊44,用于在第一查找模塊在字體庫中查找失敗后,在映射表中查找與文本的字體對(duì)應(yīng)的字體;
第二顯示模塊45,用于在第二查找模塊在映射表中查找成功后,使用查找到的字體顯示文本;執(zhí)行模塊46,用于在第二查找模塊在映射表中查找失敗后,執(zhí)行將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配的操作。需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種在PDF文檔中顯示文本的方法,其特征在于,包括 在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體; 如果查找失敗,則將所述文本字體的名稱與所述系統(tǒng)字體庫中字體的名稱進(jìn)行匹配; 獲取與所述文本字體的名稱相似程度最高的字體; 使用獲取到的字體顯示文本。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述在HF文檔系統(tǒng)字體庫中查找與文本字體相同的字體包括 根據(jù)字體信息在所述PDF文檔系統(tǒng)字體庫中查找與所述文本字體相同的字體。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述字體信息包括以下至少一種 字體的名稱、字體是否為內(nèi)嵌字體、字體的類型,字體的編碼方式、以及字體支持的編碼類型。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述方法還包括 將文本中的內(nèi)嵌字體與所述PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表; 存儲(chǔ)所述映射表; 所述在將所述文本字體的名稱與所述系統(tǒng)字體庫中字體的名稱進(jìn)行匹配之前,還包括 如果在所述字體庫中查找失敗,則在所述映射表中查找與所述文本字體對(duì)應(yīng)的字體; 如果在所述映射表中查找成功,則使用查找到的字體顯示所述文本; 如果在所述映射表中查找失敗,則執(zhí)行將所述文本的字體的名稱與所述系統(tǒng)字體庫中字體的名稱進(jìn)行匹配的步驟。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述存儲(chǔ)所述映射表包括 將所述映射表存儲(chǔ)至所述PDF系統(tǒng)字體庫中。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述獲取與所述文本字體的名稱相似程度最高的字體包括 獲取與所述文本字體的名稱包含的相同標(biāo)識(shí)最多的字體。
7.一種在PDF文檔中顯示文本的系統(tǒng),其特征在于,包括 第一查找模塊,用于在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體; 匹配模塊,用于當(dāng)所述查找模塊的查找失敗時(shí),將所述文本字體的名稱與所述系統(tǒng)字體庫中字體的名稱進(jìn)行匹配; 獲取模塊,用于獲取與所述文本字體的名稱相似程度最高的字體; 第一顯示模塊,用于使用獲取到的字體顯示所述文本。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述第一查找模塊具體用于, 根據(jù)字體信息在所述PDF文檔系統(tǒng)字體庫中查找與所述文本字體相同的字體。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 生成模塊,用于將文本中的內(nèi)嵌字體與所述PDF文檔系統(tǒng)字體庫中的字體一對(duì)一的映射,生成映射表; 存儲(chǔ)模塊,用于存儲(chǔ)所述映射表; 第二查找模塊,用于在所述第一查找模塊在所述字體庫中查找失敗后,在所述映射表中查找與所述文本的字體對(duì)應(yīng)的字體; 第二顯示模塊,用于在所述第二查找模塊在所述映射表中查找成功后,使用查找到的字體顯示所述文本; 執(zhí)行模塊,用于在所述第二查找模塊在所述映射表中查找失敗后,執(zhí)行將所述文本的字體的名稱與所述系統(tǒng)字體庫中字體的名稱進(jìn)行匹配的操作。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述獲取模塊具體用于,獲取與所述文本字體的名稱中包含的相同標(biāo)識(shí)最多的字體。
全文摘要
本發(fā)明公開了一種在PDF文檔中顯示文本的方法及系統(tǒng),用以解決現(xiàn)有技術(shù)中,用戶在使用PDF文檔編輯文本時(shí),系統(tǒng)不能正常顯示文本的問題。通過本發(fā)明的技術(shù)方案,采用在PDF文檔系統(tǒng)字體庫中查找與文本字體相同的字體;如果查找失敗,則將文本的字體的名稱與系統(tǒng)字體庫中字體的名稱進(jìn)行匹配,獲取與文本字體的名稱相似程度最高的字體;使用獲取到的字體顯示文本。通過該技術(shù)方案,可以實(shí)現(xiàn)用戶在PDF文檔中編輯文本時(shí),能夠正常顯示文本字體的目的,進(jìn)而方便了用戶的使用。
文檔編號(hào)G06F17/30GK102681978SQ20121014994
公開日2012年9月19日 申請(qǐng)日期2012年5月15日 優(yōu)先權(quán)日2012年5月15日
發(fā)明者原野 申請(qǐng)人:深圳市萬興軟件有限公司