專利名稱:一種能夠存儲(chǔ)電子圖書格式的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到一種能夠存儲(chǔ)電子圖書格式的方法,該格式可以保存文字,圖片,公 式,表格等元素,并能確保打印出來的效果不失真。同時(shí)該格式能保護(hù)電子圖書的版權(quán),限 制下載圖書的用戶只能在一臺(tái)機(jī)器上閱讀,并能設(shè)定用戶閱讀該圖書的時(shí)間。
背景技術(shù):
目前,電子圖書格式大多是基于二進(jìn)制格式或者XML格式設(shè)計(jì)的,而這些格式雖 然可以保存文字,圖片,公式,表格等元素,但是由于目前大多數(shù)電子圖書格式中沒有包含 必要的安全保護(hù)信息或者安全保護(hù)信息不夠嚴(yán)密,用戶可以隨意地復(fù)制和傳播電子圖書資 源,給大多數(shù)電子圖書供應(yīng)商帶來了圖書資源的流失和一定程度的經(jīng)濟(jì)損失。
發(fā)明內(nèi)容
為了克服目前電子圖書格式不能進(jìn)行數(shù)字版權(quán)保護(hù)的問題,本發(fā)明設(shè)計(jì)了一種 可以保護(hù)數(shù)字圖書版權(quán)的圖書格式,該圖書格式可以對下載圖書的用戶進(jìn)行身份判斷,同 時(shí)可以限制用戶只能在一臺(tái)機(jī)器上閱讀電子圖書,并且能設(shè)定用戶閱讀電子圖書的有效期 限,超過有效閱讀期限的用戶將無法繼續(xù)閱讀圖書。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是通過定義一種電子圖書格式,實(shí)現(xiàn) 對電子圖書資源的封裝和安全保護(hù),這種電子圖書格式主要包括三個(gè)部分,第一部分是文 件頭部分,第二部分是文件內(nèi)容區(qū)域部分,第三部分是文件尾部分。文件頭,主要包括版本信息(6字節(jié))、索引表長度G字節(jié))、索引表表項(xiàng)個(gè)數(shù)O 字節(jié))和索引表(36字節(jié)),其中版本信息是用來判斷該電子圖書是哪一種版本格式的電 子圖書,如PDL-1. 1,索引表長度是索引表中所有表項(xiàng)長度之和,每個(gè)索引表表項(xiàng)的長度是 9字節(jié),所有的索引表表項(xiàng)是連續(xù)存放在索引表中,索引表表項(xiàng)個(gè)數(shù)是索引表中索引表表項(xiàng) 的數(shù)目。文件頭中的版本信息、索引表長度和索引表表項(xiàng)個(gè)數(shù),這三項(xiàng)是按照字節(jié)連續(xù)存 放在文件的前面12個(gè)字節(jié)中。文件頭中的索引表,主要包括硬件信息表項(xiàng)、下載時(shí)間信息表項(xiàng)、數(shù)據(jù)安全信息 表項(xiàng)和元數(shù)據(jù)信息表項(xiàng),每項(xiàng)長度是9字節(jié),各表項(xiàng)按順序連續(xù)存放著的索引表位于距文 件開始處13字節(jié)到IK字節(jié)的某個(gè)范圍區(qū)域中,占據(jù)36字節(jié)長度,其中每個(gè)表項(xiàng)都對應(yīng)記 錄了本表項(xiàng)的具體數(shù)據(jù)信息,包括數(shù)據(jù)類型(1字節(jié))、數(shù)據(jù)的文件偏移量G字節(jié))和數(shù) 據(jù)長度G字節(jié))。索引表中的硬件信息項(xiàng)記錄了電子圖書下載之后本地機(jī)器的硬件特征碼在當(dāng)前 已下載電子圖書文件中的存放位置和長度。索引表中的下載時(shí)間信息項(xiàng)記錄了電子圖書下載的具體時(shí)間在當(dāng)前已下載電子 圖書文件中的存放位置和長度。索引表中的數(shù)據(jù)安全信息項(xiàng)記錄了解密算法類型和密鑰在電子圖書文件中的存
4放位置和長度。索引表中的元數(shù)據(jù)信息項(xiàng)記錄了電子圖書資源數(shù)據(jù)在電子圖書文件中的存放位 置和長度。文件內(nèi)容區(qū)域存放的是各索引表表項(xiàng)對應(yīng)記錄的具體數(shù)據(jù)內(nèi)容,主要包括硬件 數(shù)據(jù)內(nèi)容、下載時(shí)間數(shù)據(jù)內(nèi)容、安全加密數(shù)據(jù)內(nèi)容和元數(shù)據(jù)內(nèi)容,這4種類型的數(shù)據(jù)內(nèi)容是 依照文件頭中各索引表表項(xiàng)所記錄的數(shù)據(jù)文件偏移量和數(shù)據(jù)長度各自獨(dú)立而又完整地分 布在整個(gè)文件內(nèi)容區(qū)域中,文件內(nèi)容區(qū)域緊接著文件頭連續(xù)而完整地存儲(chǔ)在電子圖書文件 中,其中硬件數(shù)據(jù)內(nèi)容包含了當(dāng)前有權(quán)閱覽已下載電子圖書的機(jī)器的硬件特征碼,下載時(shí) 間數(shù)據(jù)內(nèi)容包含了電子圖書下載的具體時(shí)間,安全加密數(shù)據(jù)內(nèi)容包含了對元數(shù)據(jù)進(jìn)行安全 解密的算法類型和密鑰,元數(shù)據(jù)內(nèi)容包含了電子圖書文檔中的一些基本對象元素,如文字, 段落,圖片,表格等,通過遵循一定的規(guī)范將所有這些電子圖書資源數(shù)據(jù)進(jìn)行組織和封裝, 其中每個(gè)對象元素在保存的時(shí)候都會(huì)被分配一個(gè)ID號(hào),元素的開始是以〈elem表示的,結(jié) 束的時(shí)候是以 > 表示,其中 < 和 > 中間保存了元素的很多字段屬性信息,圖片對象元素是以 流的方式保存在標(biāo)簽中,多媒體對象元素是將外部文件鏈接以及各種屬性數(shù)據(jù)保存在標(biāo)簽 中。電子圖書文檔中的所有這些對象元素從邏輯組織結(jié)構(gòu)上看是一種樹形結(jié)構(gòu),從樹 形結(jié)構(gòu)可以反映出每個(gè)元素之間的等級(jí)層次關(guān)系,樹的根節(jié)點(diǎn)就是電子圖書的根對象,根 節(jié)點(diǎn)下面包含頁面樹對象和大綱目錄樹對象,元數(shù)據(jù)的組織結(jié)構(gòu)中還包含了一種能夠快速 檢索文檔元素對象的內(nèi)容索引表。其中大綱目錄樹則是按照樹型層次的等級(jí)關(guān)系來將大綱 目錄節(jié)點(diǎn)組織起來的,大綱目錄節(jié)點(diǎn)建立了某個(gè)目錄節(jié)點(diǎn)的標(biāo)題與一個(gè)具體頁面的位置關(guān) 聯(lián),它使得用戶可以按照目錄節(jié)點(diǎn)的標(biāo)題來訪問文檔的內(nèi)容,在頁面樹中又包含很多頁對 象,電子圖書中的頁面內(nèi)容(文字、圖形、圖像等)都保存在頁對象的Pda關(guān)鍵字所對應(yīng)的 字段中,這些復(fù)合對象是通過對它們所包含的子對象的ID號(hào)的引用來間接訪問子對象的, 通過這些ID號(hào),程序就可以方便的讀出它們的子對象的具體數(shù)據(jù)內(nèi)容。電子圖書文檔的元數(shù)據(jù)內(nèi)容就是由上面這些元素組合而成。文件尾定義了 5個(gè)字節(jié)的長度,內(nèi)容為ASCII碼的&END&。通過文件尾的定義程序就 可以判斷該電子書是否為完整的電子書,避免用戶在網(wǎng)絡(luò)下載的時(shí)候丟失數(shù)據(jù)情況的發(fā)生。電子圖書文檔在被電子閱讀器程序打開的時(shí)候,其解析原理是電子閱讀器程序 先通過電子圖書的文件頭判斷該電子書是否為某種格式的電子書,如果是的話則繼續(xù)讀取 文件頭中的各種索引表項(xiàng),通過這些索引表項(xiàng),電子閱讀器程序就可以檢索得到用戶下載 該電子圖書文檔的各種信息,通過加密索引表項(xiàng)及其所指向的加/解密信息,電子閱讀器 程序就可以快速的解密整個(gè)文檔的資源數(shù)據(jù),通過硬件索引表項(xiàng)和下載時(shí)間索引表項(xiàng),電 子閱讀器程序就可以讀取用戶的硬件信息和用戶下載時(shí)間信息,將讀取出來的硬件信息和 當(dāng)前機(jī)器的硬件信息進(jìn)行匹配,如果不一樣,則用戶不能打開該電子圖書,將讀取出來的電 子圖書文件的下載時(shí)間和用戶當(dāng)前時(shí)間進(jìn)行比較計(jì)算,如果用戶超出了閱讀期限,則拒絕 打開該電子圖書。
具體實(shí)施例方式如果上面的安全認(rèn)證通過了,通過索引表中的元數(shù)據(jù)信息表項(xiàng)所指向的元數(shù)據(jù)在整個(gè)電子圖書文件中的存放位置和數(shù)據(jù)長度,電子閱讀器程序就可以具體定位到元數(shù)據(jù)內(nèi) 容,并根據(jù)元數(shù)據(jù)的組織結(jié)構(gòu)和規(guī)范讀取頁面樹、大綱目錄樹對象,根據(jù)元數(shù)據(jù)結(jié)構(gòu)中的內(nèi) 容索引表可以依次檢索并讀取元數(shù)據(jù)中所有元素對象的具體內(nèi)容,至此完成了電子圖書文 件的物理模型向內(nèi)存邏輯模型轉(zhuǎn)換,將內(nèi)存模型中的每個(gè)頁對象轉(zhuǎn)換成對應(yīng)的位圖對象, 并把這個(gè)轉(zhuǎn)換之后得到的位圖對象在界面上畫出來就形成了電子閱讀器界面上直觀的頁 面顯示效果。本方法發(fā)明,在具體實(shí)施過程中很重要的一個(gè)環(huán)節(jié)就是電子圖書的制作方法,具 體主要分為3大類(1)由pdf格式文件制作電子圖書(2)由doc格式文件制作電子圖書(3)由txt格式文件制作電子圖書以上三種類型的制作方法都是通過轉(zhuǎn)換器程序來實(shí)現(xiàn)。(1)由pdf格式文件制作電子圖書的實(shí)施過程a.根據(jù)pdf格式,轉(zhuǎn)換器程序讀取pdf格式文件的交叉索引表xref并通過xref 讀取Root對象和屬性,根據(jù)Root對象讀取Outlines對象、Pages對象,至此完成了 pdf格 式文件的物理模型向內(nèi)存模型的間接轉(zhuǎn)換;b.根據(jù)本電子圖書格式,寫電子圖書文件的文件頭,包括版本信息、索引表長度、 索引表表項(xiàng)個(gè)數(shù)和索引表;c.根據(jù)本電子圖書格式文件物理模型中元數(shù)據(jù)的資源組織和封裝規(guī)范,對pdf格 式文件的內(nèi)存模型中的資源數(shù)據(jù)進(jìn)行重新組織和封裝,并對封裝之后的資源數(shù)據(jù)進(jìn)行加 密,形成電子圖書資源數(shù)據(jù)的安全密文,并由此確定了安全密文的數(shù)據(jù)長度、解密算法和密 鑰;d.根據(jù)安全密文的數(shù)據(jù)長度、解密算法類型更新文件頭中對應(yīng)的索引表表項(xiàng)信 息,并重新計(jì)算和更新各索引表表項(xiàng)所記錄數(shù)據(jù)的文件偏移量;e.根據(jù)索引表中各表項(xiàng)的存放順序以及各表項(xiàng)所記錄的數(shù)據(jù)的文件偏移量和數(shù) 據(jù)長度,將安全密文數(shù)據(jù)(元數(shù)據(jù))、安全加密數(shù)據(jù)內(nèi)容、硬件數(shù)據(jù)內(nèi)容(置空)、下載時(shí)間 數(shù)據(jù)內(nèi)容(置空)寫入文件內(nèi)容區(qū)域;f將內(nèi)容為ASCII碼的&END&寫入文件尾。至此完成了 pdf格式文件制作電子圖書的流程。(2)由doc格式文件制作電子圖書的實(shí)施過程a.通過安裝office相關(guān)插件和doc保存pdf插件,轉(zhuǎn)換器程序?qū)oc格式文件轉(zhuǎn) 換成pdf格式文件。b.將pdf格式文件轉(zhuǎn)換成電子圖書,具體流程同由pdf格式文件制作電子圖書 的實(shí)施過程。(3)由txt格式文件制作電子圖書的實(shí)施過程a.通過itextsharp庫,將txt格式文件轉(zhuǎn)換成pdf格式文件。b.將pdf格式文件轉(zhuǎn)換成電子圖書,具體流程同由pdf格式文件制作電子圖書 的實(shí)施過程。附加專利說明
本說明書提到的一種能夠存儲(chǔ)電子圖書格式的方法,采用該方法制作的電子圖書 必須使用專用電子閱讀器程序才能打開,打開本電子圖書的專用電子閱讀器程序是獨(dú)創(chuàng) 的,電子閱讀器程序包含有很多的功能模塊或算法。在線下載模塊本模塊通過http協(xié)議以流的方式進(jìn)行電子圖書資源的下載,多線程并發(fā)方式保 證下載過程的高效和快捷,當(dāng)電子圖書下載流程通過合法性驗(yàn)證后,電子圖書閱讀器程序 的下載中心自動(dòng)啟動(dòng)在線下載模塊,并且能夠以文件和數(shù)據(jù)流兩種方式實(shí)現(xiàn)圖書的下載, 當(dāng)電子圖書下載過程臨近結(jié)束時(shí),在線下載模塊向電子圖書格式中寫入安全驗(yàn)證數(shù)據(jù),在 電子圖書的整個(gè)下載過程結(jié)束后,彈出交互式界面可以選擇自動(dòng)打開或稍后打開。導(dǎo)航模塊本模塊包括目錄導(dǎo)航、縮略圖導(dǎo)航、書簽導(dǎo)航和歷史導(dǎo)航4個(gè)子模塊,模塊設(shè)計(jì)的 出發(fā)點(diǎn)是通過四種導(dǎo)航功能方便、快捷地定位指定的電子圖書或者電子圖書中對應(yīng)的頁面 內(nèi)容。目錄導(dǎo)航子模塊是通過維護(hù)一個(gè)大綱目錄樹對象來實(shí)現(xiàn),電子閱讀器程序根據(jù)電 子圖書格式,從根節(jié)點(diǎn)獲取大綱目錄樹對象和內(nèi)容索引表,依據(jù)內(nèi)容索引表并遞歸遍歷大 綱目錄樹,最終獲得電子圖書的整個(gè)大綱目錄樹,也即目錄大綱樹,點(diǎn)擊電子圖書閱讀器程 序的導(dǎo)航工具欄的目錄窗口上的大綱樹中的某個(gè)節(jié)點(diǎn)的標(biāo)題,目錄導(dǎo)航子模塊就可以獲取 對應(yīng)的頁面內(nèi)容并進(jìn)行頁面跳轉(zhuǎn)??s略圖導(dǎo)航子模塊是通過維護(hù)一個(gè)縮略圖數(shù)組來實(shí)現(xiàn),每個(gè)縮略圖都是通過頁面 位圖來實(shí)現(xiàn)的,將每個(gè)頁面位圖繪制到電子圖書閱讀器程序的導(dǎo)航工具欄的縮略圖窗口 中,當(dāng)點(diǎn)擊縮略圖窗口中的某個(gè)縮略圖,縮略圖導(dǎo)航子模塊就可以判斷是否點(diǎn)中某個(gè)縮略 圖,通過點(diǎn)中的縮略圖可以獲得對應(yīng)的頁面并進(jìn)行頁面跳轉(zhuǎn)。書簽導(dǎo)航子模塊是通過維護(hù)所有的書簽標(biāo)記來實(shí)現(xiàn),書簽標(biāo)記中隱含有對應(yīng)頁 號(hào),通過點(diǎn)擊書簽節(jié)點(diǎn)就可以獲取對應(yīng)的頁號(hào)并進(jìn)行頁面跳轉(zhuǎn);電子圖書的所有書簽標(biāo)記 都以一定的文件格式單獨(dú)存儲(chǔ)起來,每次打開電子圖書時(shí)按照這種格式進(jìn)行解析并加載書 簽數(shù)據(jù)。歷史導(dǎo)航模塊是將圖書的預(yù)覽日期按照時(shí)間點(diǎn)劃分成多個(gè)時(shí)間段,比如上周前、 上周、星期一、星期二、今天這幾個(gè)時(shí)間段,其中上周前、上周、今天這幾個(gè)字樣不變,變動(dòng)的 字樣是上周和今天之間是否還有日期存在而定,每個(gè)時(shí)間段節(jié)點(diǎn)下都列出了在該時(shí)間段內(nèi) 瀏覽過的所有圖書名稱,通過點(diǎn)擊時(shí)間段節(jié)點(diǎn)下的某個(gè)圖書名稱,就可以自動(dòng)定位并打開 圖書;預(yù)覽電子圖書時(shí)會(huì)將閱覽的時(shí)間、閱覽的圖書文件名稱和路徑信息記錄下來并按照 一定的文件格式進(jìn)行存儲(chǔ),每次打開電子圖書時(shí)按照這種格式進(jìn)行解析并加載所有的歷史 圖書記錄。頁面布局算法本算法主要實(shí)現(xiàn)了以單頁非連續(xù)顯示方式或雙頁非連續(xù)顯示方式來展現(xiàn)電子圖 書的顯示效果。單頁非連續(xù)顯示的算法設(shè)計(jì)思想只保留當(dāng)前頁面的頁面位圖緩存而刪除所有其 它存在的頁面位圖緩存,處于這種模式下預(yù)覽電子圖書,每次也就只能夠看到一幅頁面而 不會(huì)連續(xù)顯示多幅頁面。
雙頁非連續(xù)顯示的算法設(shè)計(jì)思想只保留或創(chuàng)建相鄰兩個(gè)頁面位圖緩存而刪除所 有其它存在的頁面位圖緩存,如果電子圖書文檔的總頁數(shù)為奇數(shù),那么文檔最后頁面的顯 示就只能包含最后一個(gè)頁面的顯示效果,否則每次都是相鄰的兩個(gè)頁面一起顯示并且也只 是當(dāng)前相鄰的這兩個(gè)頁面。文本選擇與復(fù)制算法本算法實(shí)現(xiàn)的主要流程a.獲取邏輯坐標(biāo)下頁面視圖上文本選擇區(qū)域的矩形位置大小(記為A)和頁號(hào);b.將邏輯坐標(biāo)下的矩形A轉(zhuǎn)換成頁面坐標(biāo)下的相對矩形,記為A’ ;c.根據(jù)頁號(hào)獲取本頁號(hào)對應(yīng)的頁面中的所有文本對象;d.遍歷所有這些文本對象數(shù)據(jù),如果有文本對象數(shù)據(jù)落入矩形A’范圍,則將該文 本對象數(shù)據(jù)進(jìn)行標(biāo)記并提取。關(guān)鍵詞查找算法本算法實(shí)現(xiàn)的主要流程a.獲取要進(jìn)行查找的關(guān)鍵詞數(shù)據(jù)內(nèi)容;b.依次遍歷電子圖書中的所有頁面,并對每一個(gè)頁面中的文本數(shù)據(jù)進(jìn)行遍歷,如 果某個(gè)頁面中的某個(gè)文本數(shù)據(jù)的整體或部分與關(guān)鍵詞匹配,則對這塊匹配的數(shù)據(jù)內(nèi)容進(jìn)行 標(biāo)記并存儲(chǔ)。注釋存取算法內(nèi)存模型上,每種注釋都以一個(gè)對象模型方式呈現(xiàn),每種對象模型都能夠充分反 映相應(yīng)注釋對象的各種屬性數(shù)據(jù),物理模型上,以xml文件格式存放各種注釋數(shù)據(jù),對電子 圖書中注釋數(shù)據(jù)的讀取只是簡單的解析xml文件,并轉(zhuǎn)化為一個(gè)個(gè)對象模型?;貪L/重做算法本算法主要針對注釋的添加、刪除、移動(dòng)和縮放操作,主要設(shè)計(jì)思想定義一個(gè)回 滾操作的對象列表和一個(gè)重做操作的對象列表,通過回滾或重做動(dòng)作將操作對象在這兩個(gè) 列表之間進(jìn)行轉(zhuǎn)移,并重新設(shè)置操作對象的狀態(tài)標(biāo)記。當(dāng)進(jìn)行回滾操作時(shí),檢查重做操作的對象列表中是否有對象,如果有就將最后一 個(gè)對象放入到回滾操作的對象列表中并刪除重做操作的對象列表中的該對象,并設(shè)置對象 狀態(tài)為hide,根據(jù)該對象的狀態(tài)將隱藏該對象的顯示效果。當(dāng)進(jìn)行重做操作時(shí),檢查回滾操作的對象列表中是否有對象,如果有就將最后一 個(gè)對象放入到重做操作的對象列表中并刪除回滾操作的對象列表中的該對象,并設(shè)置對象 狀態(tài)為show,同時(shí)根據(jù)該對象的各種屬性數(shù)據(jù)將該對象顯示出來。視圖縮放模塊本模塊實(shí)現(xiàn)了電子圖書閱覽的各種縮放效果,包括縮放到實(shí)際大小、縮放到適合 寬度、縮放到適合窗口大小、放大、縮小、下拉選擇縮放值縮放、動(dòng)態(tài)縮放。縮放到實(shí)際大小是按照程序規(guī)定的100%的縮放值進(jìn)行縮放,按照電子圖書格式 中記錄的頁面本身的大小進(jìn)行繪圖??s放到適合寬度是通過調(diào)整最大頁面視圖寬度使之正好與電子閱讀軟件的視 圖區(qū)寬度相同;當(dāng)頁面布局為單頁模式時(shí),當(dāng)前頁面視圖寬度為單個(gè)頁面寬度,當(dāng)頁面 布局為雙頁模式時(shí),頁面視圖寬度為水平方向上并列顯示的兩個(gè)頁面的寬度值以及這
8兩個(gè)頁面之間間距的總和;假設(shè)當(dāng)前視圖區(qū)寬度、最大頁面視圖寬度和當(dāng)前縮放值(不 帶 % )依次為 nClientWidth、nViewffidth 和 m_r^oomNum,那么(nClientWidthXm_ zoomNum) nViewffidth作為當(dāng)前新的縮放值,根據(jù)該縮放值重新繪制頁面??s放到適合窗口大小是通過選擇一個(gè)合適的縮放值來實(shí)現(xiàn)最大頁面視圖寬度 或高度與電子閱讀軟件的視圖區(qū)寬度或高度正好相同并且保證最大頁面視圖高度或?qū)?度不超過電子閱讀軟件的視圖區(qū)高度或?qū)挾龋患僭O(shè)當(dāng)前視圖區(qū)寬度(高度)、最大頁面 視圖寬度(高度)和當(dāng)前縮放值(不帶%)依次為nClientWidthOiClientHeight)、 nViewffidth(nViewHeight)禾口 m_nZoomNum, 那 么(nClientffidthXm_ zoomNum) nViewffidth 禾口 (nClientHeightXm_zoomNum) nViewHeight,兩者中的較小者 作為當(dāng)前新的縮放值,根據(jù)該縮放值重新繪制頁面。下拉選擇縮放值縮放是從一組縮放值集合中選擇一個(gè)縮放值進(jìn)行縮放,這組縮放 值集合包含這樣一些數(shù)值10,25,50,75,100,125,150,200,400,600。放大/縮小是通過從程序規(guī)定的一組縮放值集合中選擇一個(gè)滿足條件的縮放值, 根據(jù)該縮放值重新繪制頁面;當(dāng)進(jìn)行放大時(shí),從這組縮放值集合中選擇一個(gè)最接近當(dāng)前縮 放值并且大于當(dāng)前縮放值的縮放值作為當(dāng)前新的縮放值,當(dāng)進(jìn)行縮小時(shí),從這組縮放值集 合中選擇一個(gè)最接近當(dāng)前縮放值并且小于當(dāng)前縮放值的縮放值作為當(dāng)前新的縮放值,根據(jù) 該縮放值重新繪制頁面。動(dòng)態(tài)縮放是通過按下鼠標(biāo)左鍵不放并拖動(dòng)鼠標(biāo)來不斷改變當(dāng)前縮放值并根據(jù) 這種動(dòng)態(tài)變化著的縮放值繪制頁面;假設(shè)鼠標(biāo)拖動(dòng)過程中相鄰的兩個(gè)點(diǎn)依次是Pi和 P2,在點(diǎn)Pl時(shí)當(dāng)前縮放值是nZoomNuml,那么鼠標(biāo)從Pl移動(dòng)到點(diǎn)P2時(shí)的縮放值變成 nZoomNuml+(P2的y坐標(biāo)-Pl的y坐標(biāo)),新的縮放值小于10按10計(jì)算,大于600按600 計(jì)算,根據(jù)新縮放值重新繪制頁面。自動(dòng)滾屏模塊本模塊設(shè)計(jì)思想通過一個(gè)定時(shí)器實(shí)現(xiàn)步進(jìn)滾屏;當(dāng)在頁面位圖區(qū)域雙擊鼠標(biāo)左 鍵即啟動(dòng)自動(dòng)滾屏功能,定時(shí)器被打開,每隔200毫秒自動(dòng)將當(dāng)前頁面在垂直方向上向上 滾動(dòng)2個(gè)邏輯單位的長度,再次雙擊鼠標(biāo)左鍵即關(guān)閉定時(shí)器,停止?jié)L屏??煺展δ苣K本模塊的實(shí)現(xiàn)流程a.創(chuàng)建一個(gè)與當(dāng)前客戶區(qū)設(shè)備描述環(huán)境相兼容的內(nèi)存設(shè)備描述環(huán)境;b.創(chuàng)建并初始化一個(gè)與當(dāng)前客戶區(qū)設(shè)備描述環(huán)境相兼容的位圖并將該位圖選入 內(nèi)存設(shè)備描述環(huán)境;c.將客戶區(qū)設(shè)備描述環(huán)境中指定要進(jìn)行快照的位圖拷貝到內(nèi)存設(shè)備描述環(huán)境中 的位圖對象中。d.打開剪貼板,清空剪貼板內(nèi)容并將內(nèi)存設(shè)備描述環(huán)境中的位圖對象按位圖格式 放入到剪貼板中。e.將剪貼板中的位圖數(shù)據(jù)拷貝出來并顯示位圖效果。
權(quán)利要求
1.一種能夠存儲(chǔ)電子圖書格式的方法,該方法定義的格式主要包括文件頭、文件內(nèi)容 區(qū)域和文件尾,其特征在于以規(guī)定的文件格式將電子圖書數(shù)字版權(quán)信息和數(shù)據(jù)安全地封 裝起來。
2.根據(jù)權(quán)利要求1所述的一種能夠存儲(chǔ)電子圖書格式的方法,其特征在于所述文件 頭主要包括版本信息、索引表長度、索引表表項(xiàng)個(gè)數(shù)、索引表。
3.根據(jù)權(quán)利要求1所述的一種能夠存儲(chǔ)電子圖書格式的方法,其特征在于所述文件 內(nèi)容區(qū)域,它定義了如何保存電子圖書的實(shí)際內(nèi)容,其中包含了電子文檔的一些基本元素, 如文字,段落,圖片,表格等,這些元素按照一種規(guī)范進(jìn)行物理存儲(chǔ),其中每個(gè)元素在保存的 時(shí)候都會(huì)被分配一個(gè)ID號(hào),元素的開始是以〈elem表示的,結(jié)束的時(shí)候是以 > 表示,其中< 和 > 中間保存了元素的很多字段信息或者流信息。
4.根據(jù)權(quán)利要求2所述的一種能夠存儲(chǔ)電子圖書格式的方法,其特征在于所述版本 信息包括格式標(biāo)識(shí)和版本號(hào),如PDL-1. 1,同時(shí)電子圖書文件的后綴以PDL作為后綴進(jìn)行 標(biāo)識(shí),后綴不區(qū)分大小寫。
5.根據(jù)權(quán)利要求2所述的一種能夠存儲(chǔ)電子圖書格式的方法,其特征在于所述索引 表包括4種索引類型硬件信息索引類型、下載時(shí)間信息索引類型、數(shù)據(jù)安全信息索引類型 和元數(shù)據(jù)信息索引類型;硬件信息索引記錄了電子圖書下載之后本地機(jī)器的硬件特征碼在 當(dāng)前已下載電子圖書文件中的存放位置和長度;下載時(shí)間信息索引記錄了電子圖書下載的 具體時(shí)間在當(dāng)前已下載電子圖書文件中的存放位置和長度;數(shù)據(jù)安全信息索引記錄了解密 算法類型和密鑰在電子圖書文件中的存放位置和長度;元數(shù)據(jù)信息索引記錄了電子圖書資 源數(shù)據(jù)在電子圖書文件中的存放位置和長度;電子圖書閱讀器程序在打開電子圖書時(shí)可以 獲得圖書版權(quán)保護(hù)方面的信息,用于判斷用戶是否具有閱讀該電子圖書的權(quán)限以及圖書是 否過期,從而保證了圖書資源安全。
6.一種能夠解析權(quán)利要求4所述格式的電子圖書的方法,其特征在于根據(jù)電子圖書 格式規(guī)范,首先讀取文件頭,獲取版權(quán)格式信息、安全信息、數(shù)據(jù)資源存儲(chǔ)信息,利用對應(yīng)的 解密算法和密鑰,從根節(jié)點(diǎn)獲取各個(gè)子節(jié)點(diǎn)對象明文數(shù)據(jù)和內(nèi)容索引表,根據(jù)子節(jié)點(diǎn)對象 ID號(hào)和內(nèi)容索引表讀取各個(gè)子節(jié)點(diǎn)對象數(shù)據(jù),每個(gè)子節(jié)點(diǎn)又都可以看成是一個(gè)根,如此迭 代,最終可以讀取電子圖書中所有對象數(shù)據(jù),數(shù)據(jù)流的讀取過程中包含著流的解密過程。
7.—種能夠?qū)崿F(xiàn)權(quán)利要求4所述格式的電子圖書的在線下載功能的方法,其特征在 于當(dāng)圖書下載流程通過合法性驗(yàn)證后,電子圖書閱讀器程序的下載中心自動(dòng)啟動(dòng)在線下 載模塊,在線下載模塊通過http協(xié)議以流的方式、多線程并發(fā)實(shí)現(xiàn)數(shù)據(jù)的下載,同時(shí)支持 文件方式下載,下載完畢后彈出交互式界面可以選擇自動(dòng)打開或稍后打開。
8.—種能夠?qū)崿F(xiàn)權(quán)利要求4所述格式的電子圖書的縮略圖生成的方法,其特征在于 所述縮略圖就是對應(yīng)頁面的頁面位圖,頁面中所作的標(biāo)注同時(shí)也在對應(yīng)的縮略圖中如實(shí)反 映出來,但是二者卻是兩個(gè)不同的對象實(shí)體,將頁面位圖繪制在縮略圖導(dǎo)航窗口上,就有了 縮略圖顯示效果。
9.一種能夠?qū)崿F(xiàn)電子圖書頁面顯示的方法,其特征在于根據(jù)頁號(hào)獲取頁面對象數(shù) 據(jù),根據(jù)頁面對象數(shù)據(jù)生成頁面位圖對象并形成頁面位圖緩存,程序通過頁面位圖緩存實(shí) 現(xiàn)頁面顯示效果。
10.一種能夠存取電子圖書中各種注釋的方法,其特征在于內(nèi)存模型上,各種注釋以一個(gè)個(gè)對象模型方式呈現(xiàn),物理模型上,以xml文件格式存放各種注釋數(shù)據(jù),對電子圖書中 注釋數(shù)據(jù)的讀取只是簡單的解析xml文檔,并轉(zhuǎn)化為一個(gè)個(gè)對象模型。
全文摘要
本方法設(shè)計(jì)了一種可以保護(hù)數(shù)字圖書版權(quán)的圖書格式,該格式可以保存文字,圖片,公式,表格等元素,為了避免用戶隨意地復(fù)制和傳播電子圖書,該格式還保存有各種安全驗(yàn)證和數(shù)據(jù)保護(hù)信息,對于可以被授權(quán)下載圖書的用戶,限制該用戶只能在當(dāng)前下載圖書的機(jī)器上閱讀,并根據(jù)用戶類型和用戶購買期對用戶閱讀圖書資源的期限進(jìn)行跟蹤,對于超過有效期限的電子圖書,用戶將無法再進(jìn)行閱讀,能夠極大地保護(hù)電子圖書的原始版權(quán)以及避免圖書資源的流失,保護(hù)了商家的合法利益。
文檔編號(hào)G06F17/30GK102073624SQ200910272879
公開日2011年5月25日 申請日期2009年11月25日 優(yōu)先權(quán)日2009年11月25日
發(fā)明者李成龍 申請人:李成龍