• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    向PDF文件內嵌雙字節字體的方法及其系統技術方案

    技術編號:5214178 閱讀:1054 留言:0更新日期:2012-04-11 18:40
    本發明專利技術公開了一種向PDF文件內嵌雙字節字體的方法及其系統,本發明專利技術方法包括:確定出待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,以及所述雙字節字體的字體描述信息;確定出所述待內嵌字體的PDF文件中,使用所述雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息;根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件。采用本發明專利技術,可解決現有技術中由于將產生PS數據流作為向PDF文件內嵌雙字節字體的中間步驟所導致的易出錯和效率低的問題。

    【技術實現步驟摘要】

    本專利技術涉及排版
    ,尤其涉及一種向PDF文件內嵌雙字節字體的方法及其系統。
    技術介紹
    PDF(Portable?Document?Format,可攜帶文檔格式)是Adobe公司開發的電子文件格式。這種文件格式與操作系統平臺無關,即,PDF文件不管是在Windows,Unix還是在Mac?OS操作系統中都是通用的。這一特點使它成為在Internet上進行電子文檔發行和數字化信息傳播的理想文檔格式。越來越多的電子圖書、產品說明、公司文告、網絡資料、電子郵件開始使用PDF文件。PDF文件目前已成為數字化信息事實上的一個工業標準。PDF文件是為了支持跨平臺上的多媒體集成的信息出版和發布,為了達到此目的,PDF具有許多其他電子文檔格式無法相比的優點。PDF文件可將文字、字型、格式、顏色及獨立于設備和分辨率的圖形圖像等封裝在一個文件中。PDF文件還可以包含超文本鏈接、聲音和動態影像等電子信息,支持特長文件,集成度和安全可靠性都較高。字體內嵌是PDF技術中一個重要的分支,內嵌了字體的PDF文件在呈現時不依賴呈現程序字體環境的特性,對保持呈現內容的穩定極其重要。因此,大量針對PDF的應用將字體完全或部分內嵌的PDF文件作為推薦甚至是強制的要求。目前,實現PDF字體內嵌的方法將產生PS(PostScript)數據流作為中間步驟,即,先將待內嵌的PDF文件轉換為PS流,之后把PS流轉再換為內嵌了字體的PDF文件,也就是說,在將PS流轉換為PDF文件的過程中,實現字體內嵌功能。此方法的主要問題在于:PDF和PS相互轉換的過程相當復雜,容易引入錯誤,造成最終得到的PDF與原始的待內嵌的PDF在內容上出現差異;同時這個兩步轉換的過程在效率上也比較低。
    技術實現思路
    本專利技術實施例提供了一種向PDF文件內嵌雙字節字體的方法及其系統,用以解決現有技術中由于將產生PS數據流作為向PDF文件內嵌字體的中間步驟所導致的易出錯和效率低的問題。為實現上述目標,本專利技術實施例提供如下的技術方案:一種向PDF文件內嵌雙字節字體的方法,包括:確定出待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,以及所述雙字節字體的字體描述信息;確定出所述待內嵌字體的PDF文件中,使用所述雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息;根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入-->雙字節字體后的PDF文件。一種向PDF文件內嵌雙字節字體的系統,包括:字體描述信息確定模塊,用于確定出待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,以及所述雙字節字體的字體描述信息;字形描述信息獲取模塊,用于確定出所述待內嵌字體的PDF文件中,使用所述雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息;PDF文件生成模塊,用于根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件。本專利技術的上述實施例中,根據待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,確定待嵌入的雙字節字體,并獲取待嵌入的雙字節字體的字體描述信息;以及,確定出所述待內嵌字體的PDF文件中,使用所述待嵌入雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,然后從待嵌入雙字節字體的字體文件中獲取與所述標識對應的字形描述信息;最后根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件。由于上述確定待嵌入雙字節字體的過程、獲取字體描述信息的過程,以及獲取字形描述信息的過程,都可通過解析待嵌入字體的PDF文件實現,因此與現有技術相比,省去了PS數據流的轉換過程,從而簡化了PDF文件內嵌字體的流程,減少了由于PS數據流轉換所導致的錯誤幾率,并提高了字體內嵌的效率。附圖說明圖1為本專利技術實施例向PDF文件內嵌雙字節字體的流程示意圖之一;圖2為本專利技術實施例向PDF文件內嵌雙字節字體的流程示意圖之二;圖3為本專利技術實施例中Type1(CID)字體的編碼映射流程圖;圖4為本專利技術實施例中TrueType(CID)字體的編碼映射流程圖;圖5為本專利技術實施例向PDF文件內嵌雙字節字體的系統的結構示意圖。具體實施方式為解決上述現有技術存在的問題,本專利技術實施例提供了一種向PDF文件內嵌雙字節字體的方法及其系統,使在解析待內嵌字體的PDF文件的同時,直接生成目標PDF文件(即內嵌了字體的PDF文件),在生成目標文件的過程中內嵌雙字節字體的字形描述。與現有技術相比,由于避免了中間格式的使用,從而能更好地保證目標文件的正確性,提高內嵌操作的效率。下面結合附圖對本專利技術實施例進行詳細描述。對于一個作為輸入的待內嵌字體的原始PDF文件(以下稱原始文件),為了在其基礎上生成一個作為輸出的、內嵌字體的PDF文件(以下稱目標文件),在本專利技術實施例中,根據如圖1所示的步驟生成目標文件:步驟101、解析原始PDF文件,確定出該PDF文件所使用、但未嵌入到該PDF文件的字體,從中確定出待嵌入的雙字節字體(如中文簡體、中文繁體、日文、韓文);根據確定出的待嵌入的雙字節字體,獲取待嵌入雙字節字體的字體描述信息,其中可包括字體編碼方-->式信息和字體名稱;步驟102、通過解析原始PDF文件的內容流,確定出該原始PDF文件中使用待嵌入雙字節字體進行文字輸出的所有字符,并根據這些字符所屬的字體類型和對應的編碼方式,將字符經編碼映射得到這些字符對應的標識(如字符標識或字形標識),并從待嵌入雙字節字體的字體文件中獲取與這些字符的標識對應的字形描述信息;步驟103、將到的字形描述信息組織成符合PDF文件規范的字體程序(font?program)數據流,將該字體程序數據流與獲取到的字體描述對象作為內嵌到PDF文件中的字體文件數據,從而生成目標PDF文件。上述流程中,確定出的待嵌入的雙字節字體,可以是該原始PDF文件所使用但未內嵌的所有雙字節字體,或是其中的一部分雙字節字體。上述流程可通過相應的軟件系統實現。下面通過圖2,描述利用本專利技術實施例的軟件系統,在PDF文件中嵌入該PDF文件所使用的、但未內嵌到該PDF文件中的所有雙字節字體的詳細流程。為了方便實現本專利技術實施例,可使用如下集合作為實現該流程時用于存儲中間數據的數據存儲模塊:待嵌入字體集合:是一個包含所有待嵌入雙字節字體的字體對象的簡單集合。解析原始文件時,每發現一個待嵌入雙字節字體(以字體對象的形式存在),就在集合中增加一條記錄,不計重復(即對于同一個字體對象被使用多次的情況僅保存對應的一條記錄);待嵌入字體描述集合:是一個包含所有待嵌入雙字節字體的字體描述對象的簡單集合。不計重復(即對于同一個字體描述對象被引用多次的情況僅保存對應的一條記錄;待嵌入字符集合:是一個以字體對象為索引的、包含該字體在原始文件中被使用的所有字符的集合。在此集合中,字符以字符編碼(Char?Code)或字符標識(CID)或字形標識(Glyph?ID)的形式被記錄,不計重復(即對于同一個字符被使用多次的情況僅保存一條對應的記錄)。如圖2所示,通過本本文檔來自技高網
    ...

    【技術保護點】
    一種向PDF文件內嵌雙字節字體的方法,其特征在于,包括以下步驟:確定出待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,以及所述雙字節字體的字體描述信息;確定出所述待內嵌字體的PDF文件中,使用所述雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息;根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件。

    【技術特征摘要】
    1.一種向PDF文件內嵌雙字節字體的方法,其特征在于,包括以下步驟:確定出待內嵌字體的PDF文件所使用的但未嵌入到該PDF文件中的雙字節字體,以及所述雙字節字體的字體描述信息;確定出所述待內嵌字體的PDF文件中,使用所述雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息;根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件。2.如權利要求1所述的方法,其特征在于,確定所述待內嵌字體的PDF文件中,使用所述待嵌入雙字節字體進行文字輸出的所有字符及其字符標識或字形標識,包括:通過解析所述待嵌入字體的PDF文件的內容流,得到所有涉及文字輸出的指令,根據所述指令確定出使用所述待嵌入雙字節字體進行文字輸出的字符的編碼;根據確定出的輸出字符所屬的字體類型和輸出字符的編碼,獲取所述輸出字符的字符標識或字形標識。3.如權利要求2所述的方法,其特征在于,所述輸出字符所屬的字體類型是Type1類型,且對應的編碼是Identity-H或Identity-V編碼時,獲取所述輸出字符的字符標識,具體為:從所述待嵌入字體的PDF文件的內容流中解析出所述輸出字符的字符標識;所述輸出字符所屬的字體類型是Type1類型,且對應的編碼是除Identity-H和Identity-V以外的編碼時,獲取所述輸出字符的字符標識,具體為:從所述待嵌入字體的PDF文件的內容流中解析出所述輸出字符的字符編碼,根據字符編碼與字符標識的映射關系,得到所述輸出字符的編碼對應的字符標識;所述輸出字符所屬的字體類型是TrueType類型,且對應的編碼是Identity-H和Identity-V編碼時,獲取所述輸出的字符的字形標識,具體為:從所述待嵌入字體的PDF文件的內容流中解析出所述輸出字符的字符標識,根據字符標識與統一代碼的映射關系得到所述輸出字符的編碼對應的統一代碼,根據統一代碼與字形標識的映射關系得到與該統一代碼對應的字形標識;所述輸出字符所屬的字體類型是TrueType類型,且對應的編碼是除Identity-H和Identity-V以外的編碼時,獲取所述輸出的字符的字形標識,具體為:從所述待嵌入字體的PDF文件的內容流中解析出所述輸出字符的字符標識或字符編碼,根據字符標識或字符編碼與字形標識的映射關系,得到所述輸出字符的字符標識或字符編碼對應的字形標識。4.如權利要求1所述的方法,其特征在于,根據所述雙字節字體的字體文件獲取與所述標識對應的字形描述信息,包括:根據所述雙字節字體的字體描述信息,加載相應的字體文件;從加載的字體文件中獲取與所述標識對應的字形描述信息。5.如權利要求4所述的方法,其特征在于,所述雙字節字體的字體描述信息中包括該字體在所述待內嵌字體的PDF文件中所使用的字符集信息;從加載的字體文件中獲取與所述標識對應的字形描述信息時,僅根據所述雙字節字體的字體描述信息中攜帶的字符集信息,從加載的雙字節字體文件中的相應字符集獲取字形描述信息。6.如權利要求1所述的方法,其特征在于,根據獲取到的字體描述信息,以及獲取到的字形描述信息,生成嵌入所述待嵌入雙字節字體后的PDF文件,包括:根據待嵌入的雙字節字體所屬的字體類型,構造對應的字體程序數據流;將獲取到的字形描述信息存入對應的字體程序數據流;將保存有字形描述信息的字體程序數據流,以及待嵌入雙字節字體的字體描述信息寫入目標PDF文件,所述目標PDF文件為嵌入所述待嵌入雙字節字體后的PDF文件。7.如權利要求6所述的方法,其特征在于,如果所述字符的標識中包...

    【專利技術屬性】
    技術研發人員:劉佳峰姚磊
    申請(專利權)人:北大方正集團有限公司北京北大方正電子有限公司
    類型:發明
    國別省市:11[中國|北京]

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 久久国产精品成人无码网站| 无码人妻精品一区二区三| 亚洲爆乳无码专区www| av无码久久久久不卡免费网站| 无码人妻丰满熟妇啪啪网站牛牛| 精品无码黑人又粗又大又长 | 国产精品无码专区在线播放| 一区二区三区人妻无码| 亚州AV综合色区无码一区| 国产三级无码内射在线看| 久久久国产精品无码一区二区三区 | 无码福利一区二区三区| 国产亚洲精久久久久久无码| 精品乱码一区内射人妻无码| 麻豆AV无码精品一区二区| 亚洲中文字幕无码爆乳AV| 无码A级毛片日韩精品| 亚洲aⅴ天堂av天堂无码麻豆| 色综合久久无码中文字幕| 免费无码又爽又刺激网站直播 | 亚洲熟妇无码爱v在线观看| 国产福利电影一区二区三区久久老子无码午夜伦不 | 一级毛片中出无码| 国产精品无码AV不卡| 伊人久久精品无码麻豆一区 | 成年午夜无码av片在线观看| 免费无码又黄又爽又刺激| 久久精品aⅴ无码中文字字幕重口 久久精品国产亚洲AV无码娇色 | 黄色成人网站免费无码av| 亚洲成av人片天堂网无码】| 久久亚洲精品无码AV红樱桃| 亚洲AV无码专区电影在线观看| 狠狠躁天天躁中文字幕无码 | 亚洲精品无码你懂的| 亚洲日韩国产AV无码无码精品| 久久亚洲AV成人无码| 99热门精品一区二区三区无码 | 亚洲av无码一区二区三区在线播放| 日韩国产成人无码av毛片 | 亚洲中文字幕无码爆乳app| 精品国产aⅴ无码一区二区|