一種電子文檔的生成方法、裝置和客戶端的制作方法
【專利摘要】本發(fā)明提供了一種電子文檔的生成方法、裝置和客戶端,其中方法包括:S1、服務器獲取并存儲母書源代碼;S2、將所述母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息;S3、將所述子書發(fā)送給與所述子書的排版相適應的子書客戶端。解決了不同終端屏幕的顯示問題,同時保證了版權保護的安全問題。更進一步地,能夠?qū)崿F(xiàn)子書客戶端與母書源代碼所在服務器之間的交互功能,即服務器如果接收到所述子書客戶端的交互請求,依據(jù)所述排版信息將所述交互請求對應的執(zhí)行結果返回給所述子書客戶端。
【專利說明】一種電子文檔的生成方法、裝置和客戶端
【【技術領域】】
[0001]本發(fā)明涉及計算機應用【技術領域】,特別涉及一種電子文檔的生成方法、裝置和客戶端。
【【背景技術】】
[0002]隨著計算機技術的不斷發(fā)展和日益普及,傳統(tǒng)出版行業(yè)也在向電子出版轉換。目前主流的電子書格式主要分為兩類:一類不支持格式和版面重排,以PDF為代表,另一類支持格式和版面的重排,以epub為代表。目前諸如epub等雖然可以根據(jù)閱讀器的分辨率大小進行重新排版,但防止盜版的安全性較差,另外失去了頁碼的概念,在此基礎上的交互就很難實現(xiàn)。PDF格式無法支持格式和版面重排,但因其能夠跨平臺、支持特長文件、支持多媒體信息的集成等優(yōu)點,特別是安全可靠性高的優(yōu)點而被目前有版權保護需求的網(wǎng)絡出版方廣泛采用。
[0003]現(xiàn)有網(wǎng) 絡出版方目前大多采用直接將出版的內(nèi)容排版成PDF格式提供給服務器,然后該TOF的文檔供所有客戶端進行下載。這種方式的核心是為了防止盜版,但現(xiàn)有的這種方式仍無法自動排版適應屏幕大小,例如4寸屏幕和10寸屏幕在PDF的顯示上存在較大差異,對于10寸屏幕上能夠顯示的PDF文檔,則在4寸屏幕上需要人工來回移動才能夠正常顯示。并且這種方式也失去了電子出版最重要的特點一交互功能,即在此基礎上也無法實現(xiàn)復制、檢索和編輯等功能。
【
【發(fā)明內(nèi)容】
】
[0004]有鑒于此,本發(fā)明提供了一種電子文檔的生成方法、裝置和客戶端,能夠在保證安全性的基礎上適應終端屏幕的顯示。
[0005]具體技術方案如下:
[0006]一種電子文檔的生成方法,該方法包括:
[0007]S1、服務器獲取并存儲母書源代碼;
[0008]S2、將所述母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息;
[0009]S3、將所述子書發(fā)送給與所述子書的排版相適應的子書客戶端。
[0010]根據(jù)本發(fā)明一優(yōu)選實施例,在所述步驟S3之后還包括:
[0011]S4、如果接收到所述子書客戶端的交互請求,依據(jù)所述排版信息將所述交互請求對應的執(zhí)行結果返回給所述子書客戶端。
[0012]根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟SI具體包括:
[0013]服務器獲取版權方提供的指定格式的母書源代碼;或者,
[0014]服務器獲取搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼。
[0015]根據(jù)本發(fā)明一優(yōu)選實施例,所述指定格式包括以下結構化文本格式:BDF、HTML、XML或帶標記的txt格式。[0016]根據(jù)本發(fā)明一優(yōu)選實施例,所述不支持版面重排格式包括:PDF或XPS。
[0017]根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟S2包括以下兩種形式中的一種或組合:
[0018]形式一、預先依據(jù)常用終端屏幕類型將所述母書源代碼進行排版,分別生成與所述常用終端屏幕類型相適應的子書;
[0019]形式二、響應子書客戶端的閱讀請求,將所述母書源代碼依據(jù)所述子書客戶端所在終端的屏幕類型進行排版。
[0020]根據(jù)本發(fā)明一優(yōu)選實施例,如果所述母書源代碼發(fā)生版本更新,則針對更新后版本的母書源代碼重新進行排版生成新版本的子書,將新版本的子書發(fā)送給所述子書客戶端;或者,
[0021]如果所述母書源代碼未發(fā)生版本更新但存在內(nèi)容更新,則依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,更新子書中相應的內(nèi)容,并將子書中更新的內(nèi)容發(fā)送給所述子書客戶端。
[0022]根據(jù)本發(fā)明一優(yōu)選實施例,依據(jù)所述排版信息將交互請求對應的執(zhí)行結果返回給所述子書客戶端包括:
[0023]S41、所述服務器依據(jù)所述排版信息確定所述交互請求所針對的子書內(nèi)容在母書源代碼中的位置;
[0024]S42、所述服務器依據(jù)步驟S41確定出的位置,對母書源代碼執(zhí)行所述交互請求包含的動作類型對應的處理;
[0025]S43、將執(zhí)行結果返回給所述子書客戶端。
[0026]根據(jù)本發(fā)明一優(yōu)選實施例,當所述交互請求包含的動作類型為檢索時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,在母書源代碼中檢索所述文本出現(xiàn)的位置,依據(jù)所述排版信息將檢索到的位置轉換成子書的位置作為執(zhí)行結果;
[0027]當所述交互請求包含的動作類型為復制時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,將確定的文本發(fā)送至所述子書客戶端供存儲至剪切板;
[0028]當所述交互請求包含的動作類型為編輯時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,按照所述交互請求包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果。
[0029]根據(jù)本發(fā)明一優(yōu)選實施例,所述步驟S3具體為:
[0030]接收到子書客戶端的閱讀請求時,確定與該子書客戶端相適應的排版類型,將該排版類型的子書中所述子書客戶端所請求的內(nèi)容發(fā)送所述子書客戶端。
[0031 ] 根據(jù)本發(fā)明一優(yōu)選實施例,所述服務器記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量;或者,
[0032]所述服務器記錄并限制子書客戶端請求內(nèi)容的時間間隔;或者,
[0033]所述服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量。
[0034]一種電子文檔的生成裝置,該裝置設置在服務器端,該裝置包括:
[0035]母書獲取單元,用于獲取并存儲母書源代碼;
[0036]排版存儲單元,用于將所述母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息;[0037]子書交互單元,用于將所述子書發(fā)送給與所述子書的排版相適應的子書客戶端。
[0038]根據(jù)本發(fā)明一優(yōu)選實施例,該裝置還包括:交互執(zhí)行單元;
[0039]所述子書交互單元,還用于接收所述子書客戶端的交互請求,將所述交互執(zhí)行單元的執(zhí)行結果返回給所述子書客戶端;
[0040]所述交互執(zhí)行單元,用于依據(jù)所述排版信息執(zhí)行所述交互請求。
[0041]根據(jù)本發(fā)明一優(yōu)選實施例,所述母書獲取單元獲取版權方提供的指定格式的母書源代碼;或者,獲取搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼。
[0042]根據(jù)本發(fā)明一優(yōu)選實施例,所述指定格式包括以下結構化文本格式:BDF、HTML、XML或帶標記的txt格式。
[0043]根據(jù)本發(fā)明一優(yōu)選實施例,所述不支持版面重排格式包括:PDF或XPS。
[0044]根據(jù)本發(fā)明一優(yōu)選實施例,所述排版存儲單元在進行排版時采用以下兩種形式中的一種或組合:
[0045]形式一、預先依據(jù)常用終端屏幕類型將所述母書源代碼進行排版,分別生成與所述常用終端屏幕類型相適應的子書;
[0046]形式二、響應子書客戶端的閱讀請求,將所述母書源代碼依據(jù)所述子書客戶端所在終端的屏幕類型進行排版。
[0047]根據(jù)本發(fā)明一優(yōu)選實施例,如果所述母書源代碼發(fā)生版本更新,則所述排版存儲單元針對更新后版本的母書源代碼重新進行排版生成新版本的子書,所述子書交互單元將新版本的子書發(fā)送給所述子書客戶端;或者,
[0048]如果所述母書源代碼未發(fā)生版本更新但存在內(nèi)容更新,則所述排版存儲單元依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,更新子書中相應的內(nèi)容,所述子書交互單元將子書中更新的內(nèi)容發(fā)送給所述子書客戶端。
[0049]根據(jù)本發(fā)明一優(yōu)選實施例,所述交互執(zhí)行單元具體依據(jù)所述排版信息確定所述交互請求所針對的子書內(nèi)容在母書源代碼中的位置,再依據(jù)確定出的位置,對母書源代碼執(zhí)行所述交互請求包含的動作類型對應的處理。
[0050]根據(jù)本發(fā)明一優(yōu)選實施例,當所述交互請求包含的動作類型為檢索時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,在母書源代碼中檢索所述文本出現(xiàn)的位置,依據(jù)所述排版信息將檢索到的位置轉換成子書的位置作為執(zhí)行結果;
[0051]當所述交互請求包含的動作類型為復制時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,將確定的文本發(fā)送至所述子書客戶端供存儲至剪切板;
[0052]當所述交互請求包含的動作類型為編輯時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,按照所述交互請求包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果。
[0053]根據(jù)本發(fā)明一優(yōu)選實施例,所述子書交互單元接收到子書客戶端的閱讀請求時,確定與該子書客戶端相適應的排版類型,將該排版類型的子書中所述子書客戶端所請求的內(nèi)容發(fā)送給所述子書客戶端。
[0054]根據(jù)本發(fā)明一優(yōu)選實施例,該裝置還包括:訪問控制單元,用于記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量,或者,記錄并限制子書客戶端請求內(nèi)容的時間間隔,或者,所述服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量。[0055]一種子書客戶端,該子書客戶端包括:
[0056]閱讀請求單元,用于向服務器發(fā)送閱讀請求;
[0057]子書接收單元,用于接收所述服務器發(fā)送來的與所述子書客戶端相適應排版的子書,所述子書是對所述閱讀請求所請求的母書源代碼進行排版后生成的不支持版面重排格式的子書。
[0058]根據(jù)本發(fā)明一優(yōu)選實施例,該子書客戶端還包括:
[0059]交互請求單元,用于所述服務器發(fā)送交互請求;
[0060]結果接收單元,用于接收所述服務器發(fā)送來執(zhí)行結果,所述執(zhí)行結果是所述服務器依據(jù)所述母書源代碼排版成所述子書的排版信息得到的。
[0061]根據(jù)本發(fā)明一優(yōu)選實施例,當所述交互請求包括的動作類型為檢索時,所述執(zhí)行結果為該子書客戶端請求檢索的文本在母書源代碼中出現(xiàn)的位置;
[0062]當所述交互請求包括的動作類型為復制時,所述執(zhí)行結果為該子書客戶端請求復制的文本,所述結果接收單元還用于將接收到的執(zhí)行結果存儲至剪切板;
[0063]當所述交互請求包含的動作類型為編輯時,所述執(zhí)行結果為該子書客戶端請求編輯的結果。
[0064]由以上技術方案可以看出,本發(fā)明在服務器端存儲母書源代碼并對母書源代碼排版生成不支持版面重排格式的子書,通過這種母書源代碼作為原始格式,適應于不同終端屏幕的子書作為目標格式,解決了不同終端屏幕的顯示問題,另外子書的不支持版面重排格式同時保證了版權保護的安全問題。
【【專利附圖】
【附圖說明】】
[0065]圖1為本發(fā)明實施例一提供的電子文檔的生成方法流程圖;
[0066]圖2為本發(fā)明實施例二提供的電子文檔的生成裝置結構圖;
[0067]圖3為本發(fā)明實施例三提供的子書客戶端的結構圖。
【【具體實施方式】】
[0068]為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對本發(fā)明進行詳細描述。
[0069]在本發(fā)明中將原來服務器端存儲單一目標格式的方式轉換為在服務器采用母子書的方式,即存儲母書源代碼,并將母書源代碼進行排版生成子書的方式,該子書一方面采用不支持版面重排格式,另一方面適應于不同類型的終端屏幕。下面通過實施例一對本發(fā)明提供的方法進行詳細描述。
[0070]實施例一、
[0071]圖1為本發(fā)明實施例一提供的電子文檔的生成方法流程圖,本發(fā)明實施例中涉及的服務器可以是普通的電子書服務器,也可以是云計算環(huán)境中的云端服務器。如圖1所示,該方法包括以下步驟: [0072]步驟101:服務器獲取并存儲母書源代碼。
[0073]在本步驟中母書源代碼的獲取可以采用但不限于以下方式:
[0074]方式一、版權方向服務器提供指定格式的母書源代碼,例如作者或者出版社等版權方按照指定的格式來提供文檔,該指定的格式可以是BDF、HTML、XML或帶標記的txt格式等結構化文本格式。
[0075]方式二、搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼后提供給服務器。即搜索引擎從搜索結果中提取結果化信息來形成指定格式的電子書,該電子書即母書源代碼。同樣,該指定的格式可以是BDF、HTML、XML或帶標記的txt格式等結構化文本格式。
[0076]在此母書源代碼具有一個唯一的編號,本發(fā)明并不對具體的編號算法進行限定,可以采用任意編號算法,只要保證唯一性和安全性即可,例如編號算法可以是對文檔內(nèi)容做安全散列算法,提取前12個字符作為編號。
[0077]另外在存儲母書源代碼時,可以針對各母書源代碼生成指紋,一方面用于內(nèi)容去重,另一方面也可以用于快速反抄襲。
[0078]步驟102:將母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息。
[0079]在本步驟中,對母書源代碼進行排版可以是針對常用的終端屏幕類型分別執(zhí)行的,即針對主流的終端屏幕類型將母書源代碼進行排版,分別生成與這些主流終端屏幕類型相適應的子書。例如,目前常用的終端屏幕是4寸和10寸,這些終端屏幕上搭載的子書客戶端(即電子書閱讀器)通常也是適應于4寸和10寸的,則在服務器端針對4寸和10寸的終端屏幕類型分別對母書源代碼進行排版,分別生成與4寸終端屏幕類型相適應的子書以及與10寸終端屏幕類型相適應的子書。這里終端屏幕類型可以是屏幕尺寸、屏幕分辨率等,在進行排版時還可以進一步結合不同字號生成不同的子書。雖然同一母書源代碼對應適應于不同終端屏幕類型的子書,但母書源代碼的編號以及書名是唯一的,這樣能夠方便實現(xiàn)下面步驟中閱讀請求和交互請求的響應。
[0080]除了上述方式之外,還可以是基于請求觸發(fā)的對母書源代碼進行排版。即當接收到子書客戶端針對某母書源代碼的閱讀請求時,如果當前還沒有存儲與該子書客戶端相適應排版(即該子書客戶端所在終端屏幕類型相適應)的子書,則依據(jù)該子書客戶端所在終端屏幕類型對母書源代碼進行排版,生成與該子書客戶端相適應排版的子書;如果當前已經(jīng)存儲有與該子書客戶端相適應排版的子書,則不用再針對該子書客戶端生成子書。
[0081]當然,也可以采用上述兩種方式相結合的方式,例如針對常用的終端屏幕類型對母書源代碼進行排版,分別生成與這些常用的終端屏幕類型相適應的子書;而針對不常用的終端屏幕類型,在接收到這類型子書客戶端的閱讀請求時再觸發(fā)對母書源代碼進行排版,生成與該子書客戶端所在終端屏幕類型相適應的子書。
[0082]本發(fā)明實施例采用的排版技術可以是基于xelatex排版技術,也可以是方正排版,或者adobe公司的indesign排版技術,等等。
[0083]對于生成的子書,為了保證版權保護的安全性,采用不支持版面重排格式,優(yōu)選PDF格式,PDF格式具有與所有系統(tǒng)兼容、所見即所得以及防篡改等特性,只要具有類似特性的格式均可采用,例如XPS格式也可以采用。
[0084]為了保證排版的正確性,可以對排版結果進行審核,可以人工進行審核,也可以采用諸如xelatex排版系統(tǒng)的版面布局報警功能,如果輸出的版面布局報警數(shù)量超過預設閾值(例如8個),則認為審核失敗。如果審核失敗,說明排版得到的子書不合格,會給用戶帶來較差的閱讀體驗,因此可以在調(diào)整母書源代碼后重新進行排版。
[0085]步驟103:將子書發(fā)送給與子書的排版相適應的子書客戶端。
[0086]在發(fā)送子書時,可以采用主動推送的方式,例如基于訂閱的方式主動推送。優(yōu)選地,也可以基于子書客戶端的閱讀請求來發(fā)送與該子書客戶端相適應排版的子書,具體過程如下:
[0087]子書客戶端向服務器發(fā)送閱讀請求,該閱讀請求中包含子書客戶端所請求的內(nèi)容和子書客戶端信息。子書客戶端所請求的內(nèi)容可以包括:請求的電子書信息,依據(jù)該電子書信息服務器可以確定出對應的子書,還可以包括請求的頁碼,通常對于電子書的閱讀請求是基于頁碼的,服務器從對應子書中查找請求的頁碼,并將該頁碼的內(nèi)容發(fā)送給子書客戶端。當然也可以基于整本電子書,服務器將對應子書整個發(fā)送給子書客戶端。另外,由于閱讀請求中包含子書客戶端信息,服務器能夠確定與該子書客戶端信息相適應的排版類型,從而發(fā)送該排版類型中子書客戶端請求的子書內(nèi)容。
[0088]本發(fā)明中的子書和其他APP —樣,都會存在更新的問題,如果母書源代碼發(fā)生重大變化往往會引起版本更新,這種情況下,會針對更新后版本的母書源代碼重新進行排版生成新版本的子書,將新版本的子書發(fā)送給之前請求過該子書的子書客戶端。
[0089]如果母書源代碼發(fā)生了內(nèi)容更新但并未引起版本更新,例如僅僅是某些錯別字的修改,或者是添加新頁或者刪除某頁等,則可以依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,然后僅需更新子書中相應的內(nèi)容,而不必重新進行排版,再將子書中更新的內(nèi)容發(fā)送給子書客戶端即可。這種情況下,發(fā)送給子書客戶端的內(nèi)容僅僅涉及更新的內(nèi)容,通常僅在頁級別的,這就大大節(jié)省了子書客戶端的流量損耗。
[0090]基于上述母子書的機制,可以在母書源代碼嵌入推廣信息,這樣在各子書客戶端上的子書上也能夠協(xié)同顯示該推廣信息,并且上述的更新機制,也能夠保證推廣信息能夠得到及時地更新。
[0091]在發(fā)送子書給子書客戶端時,可以將生成的不支持版面重排格式的子書(例如TOF格式的子書)發(fā)送給子書客戶端,這種情況適用于版權保護要求不那么高的情況,PDF格式的內(nèi)容可以編輯復制。如果要求較高的版權保護等級,則可以將生成的不支持版面重排格式的子書轉換成一頁一頁的圖片,例如將PDF格式轉換成PNG或DJVU等格式的圖片,然后發(fā)送給子書客戶端。
[0092]在本步驟中,為了保證安全和版權保護,子書客戶端只有在用戶登錄的情況下才能夠獲取到子書,即服務器只針對登錄狀態(tài)的子書客戶端的閱讀請求進行響應,并發(fā)送子書給該子書客戶端。在此基礎上可以附加一些限制策略,例如可以包括但不限于以下策略:
[0093]策略1、服務器記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量,例如當某子書客戶端請求子書的連續(xù)頁碼數(shù)超過了設定值,就拒絕響應該子書客戶端的閱讀請求。
[0094]策略2、服務器記錄并限制子書客戶端請求內(nèi)容的時間間隔,例如當某子書客戶端快速頻繁地發(fā)送閱讀請求,如果發(fā)送閱讀請求的時間間隔小于預設的閾值,則拒絕響應該子書客戶端的閱讀請求。
[0095]策略3、服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量,例如當某子書客戶端本次登錄請求的子書內(nèi)容總頁數(shù)超過了設定值,就拒絕響應該子書客戶端的閱讀請求。[0096]上述策略都是為了防止惡意用戶獲取大量內(nèi)容或者頻繁獲取內(nèi)容用于盜版,閱讀請求中包含有用戶id,在服務器的記錄和上述策略的實現(xiàn)均是基于用戶id實現(xiàn)的。上述策略僅是本發(fā)明實施例列舉的幾種,還可以采用其他本領域人員能夠想到的防止惡意用戶的策略,在此不再一一窮舉。
[0097]另外,還可以基于用戶id,在發(fā)送給子書客戶端的子書上打上具有用戶標識的水印,這樣可以用于后續(xù)盜版途徑的追溯。
[0098]由于在服務器端已經(jīng)存儲了母書源代碼至子書的排版信息,該排版信息可以認為是逆向引用語法文件,通過該排版信息可以從子書重新回到母書源代碼。該排版信息記錄子書所有內(nèi)容(包括文字、圖片、超鏈接等)在母書源代碼中對應的位置,服務器根據(jù)該排版信息就可以獲知子書中內(nèi)容在母書源代碼中對應的位置。基于該排版信息就能夠?qū)崿F(xiàn)電子書的交互功能,例如通過子書客戶端實現(xiàn)編輯、復制、檢索等功能。該交互功能體現(xiàn)在步驟104。
[0099]步驟104:服務器如果接收到子書客戶端的交互請求,依據(jù)排版信息將該交互請求對應的執(zhí)行結果返回給子書客戶端。
[0100]具體地,服務器首先會接收到子書客戶端的交互請求。子書客戶端發(fā)送交互請求是由用戶動作觸發(fā)的,例如當用戶有復制需求、檢索需求或者編輯需求等,就會在子書上選定一部分內(nèi)容,并通過點擊功能選項(包括但不限于點擊子書客戶端上提供的功能選項,或者通過點擊鼠標右鍵后在顯示的功能選項上點擊,或者通過鍵盤輸入的方式點擊功能選項等等)的方式。然后子書客戶端就會發(fā)送包含動作類型以及該交互請求所針對的子書內(nèi)容(即用戶選擇的內(nèi)容)的交互請求。其中該交互請求所針對的子書內(nèi)容可以包括子書編號、子書版本、用戶選擇的內(nèi)容在子書中的位置(頁碼、偏移量或坐標)。除此之外,在交互請求中還可以包括加密方式、用戶id等信息。
[0101]服務器接收到交互請求后,依據(jù)子書的排版信息確定該交互請求所針對子書內(nèi)容在母書源代碼中的位置,然后依據(jù)確定出的位置,對母書源代碼執(zhí)行該交互請求包含的動作類型對應的處理。下面分別以檢索、復制和編輯這三種動作類型為例對服務器執(zhí)行的處理進行說明。
[0102]如果交互請求包含的動作類型為檢索,即用戶欲檢索某內(nèi)容在子書中出現(xiàn)的位置,則服務器首先依據(jù)排版信息確定該內(nèi)容在母書源代碼中的位置,找到該位置對應的文本,在母書源代碼中檢索該文本出現(xiàn)的位置,依據(jù)排版信息再將檢索到的位置轉換成子書的位置作為執(zhí)行結果返回給子書客戶端。這樣用戶就能夠獲取到欲檢索的內(nèi)容在子書中的位置。
[0103]如果交互請求包含的動作類型為復制,即用戶欲復制子書中的某內(nèi)容,則服務器首先依據(jù)排版信息確定該內(nèi)容在母書源代碼中的位置,確定該位置對應的文本,將該文本發(fā)送至子書客戶端,供子書客戶端存儲至剪切板,這樣就完成了子書中內(nèi)容的復制,用戶就能夠?qū)⒃搩?nèi)容從剪切板中復制到其他地方。
[0104]如果交互請求包含的動作類型為編輯,即用戶與編輯子書中的某內(nèi)容,則服務器首先依據(jù)排版信息確定該內(nèi)容在母書源代碼中的位置,確定出該位置對應的文本,然后按照交互請求中包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果返回給子書客戶端。這樣就完成了用戶對子書的編輯,能夠?qū)⑦x擇的內(nèi)容編輯成為上述的編輯內(nèi)容。上述編輯結果可以是段落級別的、頁級別的,甚至可以是整個子書級別的。
[0105]同樣,為了保證安全和版權保護,子書客戶端只有在登錄的情況下才能夠進行上述交互,即服務器只針對登錄狀態(tài)的子書客戶端的交互請求進行響應,并發(fā)送執(zhí)行結果給該子書客戶端。在此基礎上同樣可以附加一些限制策略,例如可以包括但不限于以下策略:
[0106]策略1、服務器記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量,例如當某子書客戶端交互請求涉及到的連續(xù)頁碼數(shù)超過了設定值,就拒絕響應該子書客戶端的交互請求。
[0107]策略2、服務器記錄并限制子書客戶端請求內(nèi)容的時間間隔,例如當某子書客戶端快速頻繁地發(fā)送交互請求,如果發(fā)送交互請求的時間間隔小于預設的閾值,則拒絕響應該子書客戶端的交互請求。
[0108]策略3、服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量,例如當某子書客戶端本次登錄的交互請求涉及到的子書內(nèi)容總頁數(shù)超過了設定值,就拒絕響應該子書客戶端的交互請求。
[0109]交互請求中包含有用戶id,在服務器的記錄和上述策略的實現(xiàn)均是基于用戶id實現(xiàn)的。
[0110]在上述實施例中,母書源代碼所在的服務器和子書客戶端之間的傳輸可以采用加密協(xié)議,例如可以采用SSl (安全套接層)加密協(xié)議。這種方式可以有效解決重要文件的鑒權問題,例如政府公文的源文件作為母書源代碼放在服務器上,然后采用生成子書的方式并通過ssl強加密傳輸,即解決了閱讀問題又保證了文檔的鑒權。
[0111]以上是對本發(fā)明所提供的方法進行的詳細描述,下面通過實施例二和三對本發(fā)明提供的裝置進行詳細描述。
[0112]實施例二、
[0113]圖2為本發(fā)明實施例二提供的電子文檔的生成裝置結構圖,該裝置設置在服務器端,如圖2所示,包括:母書獲取單元01、排版存儲單元02和子書交互單元03。
[0114]母書獲取單元01用于獲取并存儲母書源代碼。具體地,母書獲取單元01獲取母書源代碼的方式可以采用但不限于以下方式:
[0115]方式一、母書獲取單元01獲取版權方提供的指定格式的母書源代碼。
[0116]方式二、母書獲取單元01獲取搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼。
[0117]其中上述指定的格式可以是BDF、HTML、XML或帶標記的txt格式等結構化文本格式。在此母書源代碼具有一個唯一的編號,本發(fā)明并不對具體的編號算法進行限定,可以采用任意編號算法,只要保證唯一性和安全性即可,例如編號算法可以是對文檔內(nèi)容做安全散列算法,提取前12個字符作為編號。
[0118]另外,在母書獲取單元01存儲母書源代碼時,可以針對各母書源代碼生成指紋,一方面用于內(nèi)容去重,另一方面也可以用于快速反抄襲。
[0119]排版存儲單元02用于將母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息。其中對于生成的子書,為了保證版權保護的安全性,采用不支持版面重排格式,優(yōu)選PDF格式,PDF格式具有與所有系統(tǒng)兼容、所見即所得以及防篡改等特性,只要具有類似特性的格式均可采用,例如XPS格式也可以采用。[0120]具體地,排版存儲單元02在進行排版時可以采用以下兩種形式中的一種或組合:
[0121]形式一、預先依據(jù)常用終端屏幕類型將母書源代碼進行排版,分別生成與常用終端屏幕類型相適應的子書。例如,目前常用的終端屏幕是4寸和10寸,這些終端屏幕上搭載的子書客戶端通常也是適應于4寸和10寸的,則在服務器端針對4寸和10寸的終端屏幕類型分別對母書源代碼進行排版,分別生成與4寸終端屏幕類型相適應的子書以及與10寸終端屏幕類型相適應的子書。這里終端屏幕類型可以是屏幕尺寸、屏幕分辨率等,在進行排版時還可以進一步結合不同字號生成不同的子書。雖然同一母書源代碼對應適應于不同終端屏幕類型的子書,但母書源代碼的編號以及書名是唯一的,這樣能夠方便實現(xiàn)下面步驟中閱讀請求和交互請求的響應。
[0122]形式二、響應子書客戶端的閱讀請求,將母書源代碼依據(jù)子書客戶端所在終端的屏幕類型進行排版。這種情況是基于請求觸發(fā)對母書源代碼的排版。即當接收到子書客戶端針對某母書源代碼的閱讀請求時,如果當前還沒有存儲與該子書客戶端相適應排版(即該子書客戶端所在終端屏幕類型相適應)的子書,則依據(jù)該子書客戶端所在終端屏幕類型對母書源代碼進行排版,生成與該子書客戶端相適應排版的子書;如果當前已經(jīng)存儲有與該子書客戶端相適應排版的子書,則不用再針對該子書客戶端生成子書。
[0123]當采用上述兩種方式相組合的方式時,例如針對常用的終端屏幕類型對母書源代碼進行排版,分別生成與這些常用的終端屏幕類型相適應的子書;而針對不常用的終端屏幕類型,在接收到這類型子書客戶端的閱讀請求時再觸發(fā)對母書源代碼進行排版,生成與該子書客戶端所在終端屏幕類型相適應的子書。
[0124]本發(fā)明實施例采用的排版技術可以是基于xelatex排版技術,也可以是方正排版,或者adobe公司的indesign排版技術,等等。
[0125]子書交互單元03用于將子書發(fā)送給與子書的排版相適應的子書客戶端。在此子書交互單元03可以采用主動推送的方式發(fā)送子書,例如基于訂閱的方式主動推送至相應的子書客戶端。優(yōu)選地,也可以基于子書客戶端的閱讀請求來發(fā)送與該子書客戶端相適應排版的子書,這種情況下,子書交互單元03接收到子書客戶端的閱讀請求時,確定與該子書客戶端相適應的排版類型,將該排版類型的子書中子書客戶端所請求的內(nèi)容發(fā)送子書客戶端。子書客戶端所請求的內(nèi)容可以包括:請求的電子書信息,依據(jù)該電子書信息服務器可以確定出對應的子書,還可以包括請求的頁碼,通常對于電子書的閱讀請求是基于頁碼的,服務器從對應子書中查找請求的頁碼,并將該頁碼的內(nèi)容發(fā)送給子書客戶端。當然也可以基于整本電子書,服務器將對應子書整個發(fā)送給子書客戶端。另外,由于閱讀請求中包含子書客戶端信息,服務器能夠確定與該子書客戶端信息相適應的排版類型,從而發(fā)送該排版類型中子書客戶端請求的子書內(nèi)容。
[0126]本發(fā)明中的子書和其他app—樣,都會存在更新的問題,如果母書源代碼發(fā)生版本更新,則排版存儲單元02針對更新后版本的母書源代碼重新進行排版生成新版本的子書,子書交互單元03將新版本的子書發(fā)送給子書客戶端。
[0127]如果母書源代碼未發(fā)生版本更新但存在內(nèi)容更新,例如僅僅是某些錯別字的修改,或者是添加新頁或者刪除某頁等,則排版存儲單元02依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,更新子書中相應的內(nèi)容,子書交互單元03將子書中更新的內(nèi)容發(fā)送給子書客戶端。這種情況下,發(fā)送給子書客戶端的內(nèi)容僅僅涉及更新的內(nèi)容,通常僅在頁級別的,這就大大節(jié)省了子書客戶端的流量損耗。
[0128]基于上述母子書的機制,可以在母書源代碼嵌入推廣信息,這樣在各子書客戶端上的子書上也能夠協(xié)同顯示該推廣信息,并且上述的更新機制,也能夠保證推廣信息能夠得到及時地更新。
[0129]在子書交互單元03發(fā)送子書給子書客戶端時,可以將生成的不支持版面重排格式的子書(例如PDF格式的子書)發(fā)送給子書客戶端,這種情況適用于版權保護要求不那么高的情況,PDF格式的內(nèi)容可以編輯復制。如果要求較高的版權保護等級,則可以將生成的不支持版面重排格式的子書轉換成一頁一頁的圖片,例如將PDF格式轉換成PNG或DJVU等格式的圖片,然后發(fā)送給子書客戶端。
[0130]排版存儲單元02存儲的母書源代碼至子書的排版信息可以認為是逆向引用語法文件,通過該排版信息可以從子書重新回到母書源代碼。該排版信息記錄子書所有內(nèi)容(包括文字、圖片、超鏈接等)在母書源代碼中對應的位置,服務器根據(jù)該排版信息就可以獲知子書中內(nèi)容在母書源代碼中對應的位置。基于該排版信息就能夠?qū)崿F(xiàn)電子書的交互功能,例如通過子書客戶端實現(xiàn)編輯、復制、檢索等功能。為了實現(xiàn)上述交互功能,該裝置還包括:交互執(zhí)行單元05。
[0131]子書交互單元03接收子書客戶端的交互請求,交互執(zhí)行單元05依據(jù)排版信息執(zhí)行交互請求,然后子書交互單元03將交互執(zhí)行單元05的執(zhí)行結果返回給子書客戶端。
[0132]子書客戶端發(fā)送交互請求是由用戶動作觸發(fā)的,例如當用戶有復制需求、檢索需求或者編輯需求等,就會在子書上選定一部分內(nèi)容,并通過點擊功能選項(包括但不限于點擊子書客戶端上提供的功能選項,或者通過點擊鼠標右鍵后在顯示的功能選項上點擊,或者通過鍵盤輸入的方式點擊功能選項等等)的方式。然后子書客戶端就會發(fā)送包含動作類型以及該交互請求所針對的子書內(nèi)容(即用戶選擇的內(nèi)容)的交互請求。其中該交互請求所針對的子書內(nèi)容可以包括子書編號、子書版本、用戶選擇的內(nèi)容在子書中的位置(頁碼、偏移量或坐標)。除此之外,在交互請求中還可以包括加密方式、用戶id等信息。
[0133]子書交互單元03在接收子書客戶端的交互請求后,交互執(zhí)行單元05具體依據(jù)排版信息確定交互請求所針對的子書內(nèi)容在母書源代碼中的位置,再依據(jù)確定出的位置,對母書源代碼執(zhí)行交互請求包含的動作類型對應的處理。
[0134]當交互請求包含的動作類型為檢索時,交互執(zhí)行單元05首先依據(jù)排版信息確定交互請求所針對的子書內(nèi)容在母書源代碼中的位置,找到該位置對應的文本,在母書源代碼中檢索該文本出現(xiàn)的位置,依據(jù)排版信息再將檢索到的位置轉換成子書的位置作為執(zhí)行結果,由子書交互單元03將執(zhí)行結果返回給子書客戶端。
[0135]當交互請求包含的動作類型為復制時,交互執(zhí)行單元05首先依據(jù)排版信息確定交互請求所針對的子書內(nèi)容在母書源代碼中的位置,確定該位置對應的文本,將該文本作為執(zhí)行結果,由子書交互單元03將執(zhí)行結果發(fā)送至子書客戶端,供子書客戶端存儲至剪切板,這樣就完成了子書中內(nèi)容的復制,用戶就能夠?qū)⒃搩?nèi)容從剪切板中復制到其他地方。
[0136]當交互請求包含的動作類型為編輯時,交互執(zhí)行單元05依據(jù)排版信息確定交互請求所針對的子書內(nèi)容在母書源代碼中的位置,確定出該位置對應的文本,然后按照交互請求中包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果,由子書交互單元03將執(zhí)行結果返回給子書客戶端。這樣就完成了用戶對子書的編輯,能夠?qū)⑦x擇的內(nèi)容編輯成為上述的編輯內(nèi)容。上述編輯結果可以是段落級別的、頁級別的,甚至可以是整個子書級別的。
[0137]為了保證安全和版權保護,子書客戶端只有在用戶登錄的情況下才能夠獲取到子書以及進行上述交互,即服務器只針對登錄狀態(tài)的子書客戶端的閱讀請求和交互請求進行響應。在此基礎上可以附加一些限制策略,即該裝置還包括:訪問控制單元04,用于記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量,或者,記錄并限制子書客戶端請求內(nèi)容的時間間隔,或者,服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量。
[0138]上述策略都是為了防止惡意用戶獲取大量內(nèi)容或者頻繁獲取內(nèi)容用于盜版,閱讀請求和交互請求中包含有用戶id,在服務器的記錄和上述策略的實現(xiàn)均是基于用戶id實現(xiàn)的。上述策略僅是本發(fā)明實施例列舉的幾種,還可以采用其他本領域人員能夠想到的防止惡意用戶的策略,在此不再一一窮舉。
[0139]實施例三、
[0140]圖3為本發(fā)明實施例三提供的子書客戶端的結構圖,如圖3所示,該子書客戶端包括:閱讀請求單元11和子書接收單元12。
[0141]閱讀請求單元11用于向服務器發(fā)送閱讀請求。該閱讀請求中包含子書客戶端所請求的內(nèi)容和子書客戶端信息。子書客戶端所請求的內(nèi)容可以包括:請求的電子書信息,依據(jù)該電子書信息服務器可以確定出對應的子書,還可以包括請求的頁碼,通常對于電子書的閱讀請求是基于頁碼的,服務器從對應子書中查找請求的頁碼,并將該頁碼的內(nèi)容發(fā)送給子書客戶端。當然也可以基于整本電子書,服務器將對應子書整個發(fā)送給子書客戶端。另外,由于閱讀請求中包含子書客戶端信息,服務器能夠確定與該子書客戶端信息相適應的排版類型,從而發(fā)送該排版類型中子書客戶端請求的子書內(nèi)容。
[0142]子書接收單元12用于接收服務器發(fā)送來的與子書客戶端相適應排版的子書。
[0143]為了實現(xiàn)與母書源代碼所在服務器之間的交互功能,該子書客戶端還包括:交互請求單元13和結果接收單元14。
[0144]交互請求單元13,用于服務器發(fā)送交互請求。該交互請求是由用戶動作觸發(fā)的,例如當用戶有復制需求、檢索需求或者編輯需求等,就會在子書上選定一部分內(nèi)容,并通過點擊功能選項(包括但不限于點擊子書客戶端上提供的功能選項,或者通過點擊鼠標右鍵后在顯示的功能選項上點擊,或者通過鍵盤輸入的方式點擊功能選項等等)的方式。然后子書客戶端就會發(fā)送包含動作類型以及該交互請求所針對的子書內(nèi)容(即用戶選擇的內(nèi)容)的交互請求。其中該交互請求所針對的子書內(nèi)容可以包括子書編號、子書版本、用戶選擇的內(nèi)容在子書中的位置(頁碼、偏移量或坐標)。除此之外,在交互請求中還可以包括加密方式、用戶id等信息。
[0145]結果接收單元14,用于接收服務器發(fā)送來執(zhí)行結果,執(zhí)行結果是服務器依據(jù)母書源代碼排版成子書的排版信息得到的。
[0146]當交互請求包括的動作類型為檢索時,執(zhí)行結果為該子書客戶端請求檢索的文本在母書源代碼中出現(xiàn)的位置。
[0147]當交互請求包括的動作類型為復制時,執(zhí)行結果為該子書客戶端請求復制的文本,結果接收單元還用于將接收到的執(zhí)行結果存儲至剪切板。
[0148]當交互請求包含的動作類型為編輯時,執(zhí)行結果為該子書客戶端請求編輯的結果O
[0149]在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。
[0150]上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)或處理器(processor)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory, ROM)、隨機存取存儲器(Random Access Memory, RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0151]由以上描述可以看出,本發(fā)明提供的方法、裝置和客戶端具備以下優(yōu)點:
[0152]I)本發(fā)明在服務器端存儲母書源代碼并對母書源代碼排版生成不支持版面重排格式的子書,通過這種母書源代碼作為原始格式,適應于不同終端屏幕的子書作為目標格式,解決了不同終端屏幕的顯示問題。
[0153]2)子書的不支持版面重排格式同時保證了版權保護的安全問題。
[0154]3)鑒于唯一的母書源代碼對應適應于不同終端屏幕的多種子書,基于此不同終端屏幕的子書客戶端均能夠正常地顯示同一母書源代碼的內(nèi)容,且能夠基于同一母書源代碼實現(xiàn)交互功能,例如復制、檢索和編輯等功能。
[0155]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
【權利要求】
1.一種電子文檔的生成方法,其特征在于,該方法包括: 51、服務器獲取并存儲母書源代碼; 52、將所述母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息; 53、將所述子書發(fā)送給與所述子書的排版相適應的子書客戶端。
2.根據(jù)權利要求1所述的方法,其特征在于,在所述步驟S3之后還包括: 54、如果接收到所述子書客戶端的交互請求,依據(jù)所述排版信息將所述交互請求對應的執(zhí)行結果返回給所述子書客戶端。
3.根據(jù)權利要求1所述的方法,其特征在于,所述步驟SI具體包括: 服務器獲取版權方提供的指定格式的母書源代碼;或者, 服務器獲取搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼。
4.根據(jù)權利要求3 所述的方法,其特征在于,所述指定格式包括以下結構化文本格式:BDF、HTML、XML或帶標記的txt格式。
5.根據(jù)權利要求1所述的方法,其特征在于,所述不支持版面重排格式包括:PDF或XPS。
6.根據(jù)權利要求1所述的方法,其特征在于,所述步驟S2包括以下兩種形式中的一種或組合: 形式一、預先依據(jù)常用終端屏幕類型將所述母書源代碼進行排版,分別生成與所述常用終端屏幕類型相適應的子書; 形式二、響應子書客戶端的閱讀請求,將所述母書源代碼依據(jù)所述子書客戶端所在終端的屏幕類型進行排版。
7.根據(jù)權利要求1所述的方法,其特征在于,如果所述母書源代碼發(fā)生版本更新,則針對更新后版本的母書源代碼重新進行排版生成新版本的子書,將新版本的子書發(fā)送給所述子書客戶端;或者, 如果所述母書源代碼未發(fā)生版本更新但存在內(nèi)容更新,則依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,更新子書中相應的內(nèi)容,并將子書中更新的內(nèi)容發(fā)送給所述子書客戶端。
8.根據(jù)權利要求2所述的方法,其特征在于,依據(jù)所述排版信息將交互請求對應的執(zhí)行結果返回給所述子書客戶端包括: 541、所述服務器依據(jù)所述排版信息確定所述交互請求所針對的子書內(nèi)容在母書源代碼中的位置; 542、所述服務器依據(jù)步驟S41確定出的位置,對母書源代碼執(zhí)行所述交互請求包含的動作類型對應的處理; 543、將執(zhí)行結果返回給所述子書客戶端。
9.根據(jù)權利要求8所述的方法,其特征在于,當所述交互請求包含的動作類型為檢索時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,在母書源代碼中檢索所述文本出現(xiàn)的位置,依據(jù)所述排版信息將檢索到的位置轉換成子書的位置作為執(zhí)行結果; 當所述交互請求包含的動作類型為復制時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,將確定的文本發(fā)送至所述子書客戶端供存儲至剪切板; 當所述交互請求包含的動作類型為編輯時,所述步驟S42為:所述服務器確定所述步驟S41確定出的位置對應的文本,按照所述交互請求包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果。
10.根據(jù)權利要求1所述的方法,其特征在于,所述步驟S3具體為: 接收到子書客戶端的閱讀請求時,確定與該子書客戶端相適應的排版類型,將該排版類型的子書中所述子書客戶端所請求的內(nèi)容發(fā)送所述子書客戶端。
11.根據(jù)權利要求2或10所述的方法,其特征在于,所述服務器記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量;或者, 所述服務器記錄并限制子書客戶端請求內(nèi)容的時間間隔;或者, 所述服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量。
12.一種電子文檔的生成裝置,該裝置設置在服務器端,其特征在于,該裝置包括: 母書獲取單元,用于獲取并存儲母書源代碼; 排版存儲單元,用于將所述母書源代碼進行排版生成不支持版面重排格式的子書,并存儲子書的排版信息;子書交互單元,用于將所述子書發(fā)送給與所述子書的排版相適應的子書客戶端。
13.根據(jù)權利要求12所述的裝置,其特征在于,該裝置還包括:交互執(zhí)行單元; 所述子書交互單元,還用于接收所述子書客戶端的交互請求,將所述交互執(zhí)行單元的執(zhí)行結果返回給所述子書客戶端; 所述交互執(zhí)行單元,用于依據(jù)所述排版信息執(zhí)行所述交互請求。
14.根據(jù)權利要求12所述的裝置,其特征在于,所述母書獲取單元獲取版權方提供的指定格式的母書源代碼;或者,獲取搜索引擎將搜索結果進行聚合并轉換成指定格式的母書源代碼。
15.根據(jù)權利要求14所述的裝置,其特征在于,所述指定格式包括以下結構化文本格式:BDF、HTML、XML或帶標記的txt格式。
16.根據(jù)權利要求12所述的裝置,其特征在于,所述不支持版面重排格式包括:PDF或XPS。
17.根據(jù)權利要求12所述的裝置,其特征在于,所述排版存儲單元在進行排版時采用以下兩種形式中的一種或組合: 形式一、預先依據(jù)常用終端屏幕類型將所述母書源代碼進行排版,分別生成與所述常用終端屏幕類型相適應的子書; 形式二、響應子書客戶端的閱讀請求,將所述母書源代碼依據(jù)所述子書客戶端所在終端的屏幕類型進行排版。
18.根據(jù)權利要求12所述的裝置,其特征在于,如果所述母書源代碼發(fā)生版本更新,則所述排版存儲單元針對更新后版本的母書源代碼重新進行排版生成新版本的子書,所述子書交互單元將新版本的子書發(fā)送給所述子書客戶端;或者, 如果所述母書源代碼未發(fā)生版本更新但存在內(nèi)容更新,則所述排版存儲單元依據(jù)子書的排版信息確定更新的內(nèi)容在子書中對應的位置,更新子書中相應的內(nèi)容,所述子書交互單元將子書中更新的內(nèi)容發(fā)送給所述子書客戶端。
19.根據(jù)權利要求13所述的裝置,其特征在于,所述交互執(zhí)行單元具體依據(jù)所述排版信息確定所述交互請求所針對的子書內(nèi)容在母書源代碼中的位置,再依據(jù)確定出的位置,對母書源代碼執(zhí)行所述交互請求包含的動作類型對應的處理。
20.根據(jù)權利要求19所述的裝置,其特征在于,當所述交互請求包含的動作類型為檢索時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,在母書源代碼中檢索所述文本出現(xiàn)的位置,依據(jù)所述排版信息將檢索到的位置轉換成子書的位置作為執(zhí)行結果; 當所述交互請求包含的動作類型為復制時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,將確定的文本發(fā)送至所述子書客戶端供存儲至剪切板; 當所述交互請求包含的動作類型為編輯時,所述交互執(zhí)行單元確定所述確定出的位置對應的文本,按照所述交互請求包含的編輯內(nèi)容對確定的文本進行編輯,將編輯結果作為執(zhí)行結果。
21.根據(jù)權利要求12所述的裝置,其特征在于,所述子書交互單元接收到子書客戶端的閱讀請求時,確定與該子書客戶端相適應的排版類型,將該排版類型的子書中所述子書客戶端所請求的內(nèi)容發(fā)送給所述子書客戶端。
22.根據(jù)權利要求13或21所述的裝置,其特征在于,該裝置還包括:訪問控制單元,用于記錄并限制子書客戶端連續(xù)請求的內(nèi)容數(shù)量,或者,記錄并限制子書客戶端請求內(nèi)容的時間間隔,或者,所述服務器記錄并限制子書客戶端請求的內(nèi)容總數(shù)量。
23.一種子書客戶端,其特征在于,該子書客戶端包括: 閱讀請求單元,用 于向服務器發(fā)送閱讀請求; 子書接收單元,用于接收所述服務器發(fā)送來的與所述子書客戶端相適應排版的子書,所述子書是對所述閱讀請求所請求的母書源代碼進行排版后生成的不支持版面重排格式的子書。
24.根據(jù)權利要求23所述的子書客戶端,其特征在于,該子書客戶端還包括: 交互請求單元,用于所述服務器發(fā)送交互請求; 結果接收單元,用于接收所述服務器發(fā)送來執(zhí)行結果,所述執(zhí)行結果是所述服務器依據(jù)所述母書源代碼排版成所述子書的排版信息得到的。
25.根據(jù)權利要求24所述的子書客戶端,其特征在于,當所述交互請求包括的動作類型為檢索時,所述執(zhí)行結果為該子書客戶端請求檢索的文本在母書源代碼中出現(xiàn)的位置; 當所述交互請求包括的動作類型為復制時,所述執(zhí)行結果為該子書客戶端請求復制的文本,所述結果接收單元還用于將接收到的執(zhí)行結果存儲至剪切板; 當所述交互請求包含的動作類型為編輯時,所述執(zhí)行結果為該子書客戶端請求編輯的結果。
【文檔編號】G06F17/21GK103970799SQ201310044142
【公開日】2014年8月6日 申請日期:2013年2月4日 優(yōu)先權日:2013年2月4日
【發(fā)明者】詹君 申請人:百度在線網(wǎng)絡技術(北京)有限公司