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