專利名稱:復(fù)合文檔生成裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字出版領(lǐng)域,具體而言,涉及一種復(fù)合文檔生成裝置和方法。
背景技術(shù):
復(fù)合文檔是指一種將多個(gè)文檔編訂在一起的技術(shù),例如MHTML (Mime for HTML)文 件類型,它主要通過(guò)建立內(nèi)部文件索引表,將多個(gè)獨(dú)立的文件綁定到一個(gè)文件中。在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中復(fù)合文檔都有自定義的格式,需 要特定的解析軟件進(jìn)行解析,這就要求使用該特定格式復(fù)合文檔的用戶,必須安裝相應(yīng)的 解析軟件,導(dǎo)致在網(wǎng)絡(luò)環(huán)境下限制了復(fù)合文檔的分發(fā)使用。
發(fā)明內(nèi)容
本發(fā)明旨在提供一種復(fù)合文檔生成裝置和方法,能夠解決現(xiàn)有技術(shù)中復(fù)合文檔都 有自定義的格式,需要特定的解析軟件進(jìn)行解析,這就要求使用該特定格式復(fù)合文檔的用 戶,必須安裝相應(yīng)的解析軟件,導(dǎo)致在網(wǎng)絡(luò)環(huán)境下限制了復(fù)合文檔的分發(fā)使用的問(wèn)題。在本發(fā)明的實(shí)施例中,提供了一種復(fù)合文檔生成裝置,包括模板管理模塊,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)上述模 板生成主文檔的附加文檔數(shù)據(jù);文檔組合模塊,用于將主文檔的數(shù)據(jù)與附加文檔數(shù)據(jù)合成以生成復(fù)合文檔數(shù)據(jù), 并從復(fù)合文檔數(shù)據(jù)中提取附加文檔數(shù)據(jù);模板解析模塊,用于解析附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)模 板將附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格式;皮膚管理模塊,用于將附加文檔與用戶指定的皮膚進(jìn)行合成,生成用戶交互視圖。在本發(fā)明的實(shí)施例中,還提供了一種復(fù)合文檔生成方法,包括以下步驟文檔組合模塊打開(kāi)文件并定位文件的末尾位置,并提取文件的附加信息頭,對(duì)附 加信息頭進(jìn)行判斷;當(dāng)附加信息頭合法時(shí),依據(jù)附加信息頭的信息,分離出文件中的附加文檔數(shù)據(jù);將附加文檔數(shù)據(jù)與附加信息頭中的模板標(biāo)記段提交給模板解析模塊,模板解析模 塊從模板管理模塊提取模板標(biāo)記段對(duì)應(yīng)的模板,并將模板與附加文檔數(shù)據(jù)進(jìn)行合成;將合成后的文檔數(shù)據(jù)與皮膚管理模塊中的皮膚進(jìn)行合成,生成附加文檔的用戶交 互視圖。在上述實(shí)施例中,通過(guò)采用格式化的模板生成主文檔的附加文檔,進(jìn)而將附加文 檔附加到主文檔之后合成復(fù)合文檔,并在對(duì)復(fù)合文檔進(jìn)行解析時(shí),調(diào)取上述模板提取附加 文檔數(shù)據(jù),即使用戶未安裝復(fù)合文檔生成裝置,在解析上述復(fù)合文檔時(shí),不影響對(duì)主文檔的 使用,克服了現(xiàn)有技術(shù)中復(fù)合文檔都有自定義的格式,需要特定的解析軟件進(jìn)行解析,這就 要求使用該特定格式復(fù)合文檔的用戶,必須安裝相應(yīng)的解析軟件,導(dǎo)致在網(wǎng)絡(luò)環(huán)境下限制 了復(fù)合文檔的分發(fā)使用的問(wèn)題。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā) 明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的復(fù)合文檔生成裝置的示意圖;圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的信息頭示意圖;圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的復(fù)合文檔生成方法流程圖。
具體實(shí)施例方式下面將參考附圖并結(jié)合實(shí)施例,來(lái)詳細(xì)說(shuō)明本發(fā)明。圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的復(fù)合文檔生成裝置的示意圖,包括模板管理模塊10,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)上述 模板生成主文檔的附加文檔數(shù)據(jù);文檔組合模塊20,用于將主文檔的數(shù)據(jù)與附加文檔數(shù)據(jù)合成以生成復(fù)合文檔數(shù) 據(jù),并從復(fù)合文檔數(shù)據(jù)中提取附加文檔數(shù)據(jù);模板解析模塊30,用于解析附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù) 模板將附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格式;皮膚管理模塊40,用于將附加文檔與用戶指定的皮膚進(jìn)行合成,生成用戶交互視 圖。在本實(shí)施例中,通過(guò)采用格式化的模板生成主文檔的附加文檔,進(jìn)而將附加文檔 附加到主文檔之后合成復(fù)合文檔,并在對(duì)復(fù)合文檔進(jìn)行解析時(shí),調(diào)取上述模板提取附加文 檔數(shù)據(jù),即使用戶未安裝復(fù)合文檔生成裝置,在解析上述復(fù)合文檔時(shí),不影響對(duì)主文檔的使 用,克服了現(xiàn)有技術(shù)中復(fù)合文檔都有自定義的格式,需要特定的解析軟件進(jìn)行解析,這就要 求使用該特定格式復(fù)合文檔的用戶,必須安裝相應(yīng)的解析軟件,導(dǎo)致在網(wǎng)絡(luò)環(huán)境下限制了 復(fù)合文檔的分發(fā)使用的問(wèn)題。本實(shí)施例在不干擾主文檔的基礎(chǔ)之上,利用現(xiàn)有文件解析裝置對(duì)文件數(shù)據(jù)流正向 解析的現(xiàn)狀,設(shè)計(jì)了對(duì)文件數(shù)據(jù)流反向解析的處理流程,對(duì)主文檔任意附加文檔數(shù)據(jù)生成 復(fù)合文檔。同時(shí),本實(shí)施例通過(guò)采用皮膚管理模塊將附加文檔與用戶指定的皮膚進(jìn)行合成, 生成用戶交互視圖,提高了用戶的使用體驗(yàn)。優(yōu)選地,在上述復(fù)合文檔生成裝置中,模板管理模塊具體包括模板存儲(chǔ)單元,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板;附加信息生成單元,用于根據(jù)上述模板生成主文檔對(duì)應(yīng)的附加文檔數(shù)據(jù)。優(yōu)選地,在上述復(fù)合文檔生成裝置中,文檔組合模塊具體包括信息頭生成單元,用于生成描述附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的附加信息 頭;文件合成單元,用于將主文檔的數(shù)據(jù)、附加文檔數(shù)據(jù)以及附加信息頭按照先后順 序連接為新的復(fù)合文檔數(shù)據(jù),并對(duì)復(fù)合文檔數(shù)據(jù)進(jìn)行存儲(chǔ);數(shù)據(jù)提取單元,用于從復(fù)合文檔中提取附加文檔數(shù)據(jù)。
優(yōu)選地,在上述復(fù)合文檔生成裝置中,附加信息頭包括標(biāo)志段,用于附加信息頭 的特定標(biāo)志,其位于附加信息頭的末尾位置;起始位置段,用于記錄附加文檔數(shù)據(jù)相對(duì)于主 文檔的數(shù)據(jù)的起始位置的偏移字節(jié)數(shù);數(shù)據(jù)長(zhǎng)度段,用于記錄附加信息數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度; 模板標(biāo)記段,用于記錄附加文檔數(shù)據(jù)的模板的相關(guān)信息。圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的信息頭示意圖,如圖2所示,Sll為附加信息 頭標(biāo)志段,占有4個(gè)字節(jié),作為附加信息頭的特定標(biāo)志;S12為起始位置段,占有4個(gè)字節(jié), 是指在文件中與文件起始位置的偏移字節(jié)數(shù),即原始圖片文件長(zhǎng)度的后續(xù)位置;S13為數(shù) 據(jù)長(zhǎng)度段,占有4個(gè)字節(jié),描述圖像附加描述信息數(shù)據(jù)長(zhǎng)度;S14為模板段,占有16個(gè)字節(jié), 指附加描述信息的構(gòu)成及數(shù)據(jù)格式的模板,用于記錄模板ID。優(yōu)選地,在上述復(fù)合文檔生成裝置中,相關(guān)信息具體包括當(dāng)附加信息需要進(jìn)行轉(zhuǎn) 換時(shí),相關(guān)信息包括記錄附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔時(shí)所用的模板標(biāo)識(shí);當(dāng)附加文檔數(shù) 據(jù)不需要轉(zhuǎn)換時(shí),相關(guān)信息為空。優(yōu)選地,在上述復(fù)合文檔生成裝置中,文檔組合模塊還包括驗(yàn)證單元,用于驗(yàn)證 所述附加信息頭中記錄的標(biāo)志段;加密單元,用于對(duì)附加文檔進(jìn)行加密或者解密。優(yōu)選地,在上述復(fù)合文檔生成裝置中,模板將附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格 式時(shí),附加文檔為多個(gè)文件。優(yōu)選地,在上述復(fù)合文檔生成裝置中,附加文檔的多個(gè)文件的格式和編碼格式不 同,格式和編碼格式分別由模板中定義數(shù)據(jù)區(qū)間及編碼信息。在本實(shí)施例中,可以附加多個(gè) 不同編碼、不同文件形式的文件組成為復(fù)合文件。例如,模板格式如下< ? xml version = “ 1.0〃 encoding = “ utf-8 “ ? ><root><info><id>085759AA-8455-4608-A29D-2FEBCF511346</id><name> 封面廣告 A302</name>〈tempi id=" E2B2E667-DD3B-4714-A953-50F59C5B5A7C"name=" ImagesInfol" type=" embed" ><info><id>E2B2E667-DD3B-4714-A953-50F59C5B5A7C</id><name>ImagesInfοl</name><namespacetargetNamespace = " http://tempuri. org/XMLSchema. xsd"elementFormDefault = " qualified"xmlns = " http://tempuri.org/XMLSchema.xsd"xmlns :mstns = " http://tempuri.org/XMLSchema.xsd"xmlns:xs = " http://www.w3.org/2001/XMLSchema" /></info><data><xs:schema)
<xselement name=" thumb“ ><xscomplexType><xs:sequence)</xs:sequence)<xs: attribute name=" size" type=" xs: int" /><xs:attribute name =" format" type =" xs:string" /><xs: attribute name=" rel " type=" xs: string" /><xs: attribute name=" encode" type=" xs: string" /></xs:complexType></xs:element)<xs:element name=" extinf" ><xs:complexType><xs:sequence)<xs: element name=" trim" type=" xs: string" /><xs: element name=" desc" type=" xs: string" /><xs: element name=" notes" type=" xs: string" /><xs: element name=" labels" type=" xs: string" /></xs:sequence)</xs:complexType></xs:element)</xs:schema)</data></templ>............將附加文檔數(shù)據(jù)與選定的信息模板合成為規(guī)范化的附加信息時(shí),過(guò)程如下.........〈skin id=" 19CD57E0-F295-4872-9DF1-A85DF06677 “name=" NormalA2〃 type=" quote" ></skin><crypt arithmetic = " MD5" >AB2312123234AE93</crypt></info><data>〈thumb size=" 238291〃 format =" JPG" rel =" Thumb"encode = " Base64〃 >/9j/4AAQSkZJRgABAQEAYABgAAD/7Q/2UGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEJJTQPtAAAAAAAQAGAAAAABAAIAYAAAAAEAAjhCSUOEJgA......XMbgktIgZie5rKNKlUndoh8t9j//Z
7
</thumb><extinf>〈trim type=" svg" ><svg xmlns = " http://www.w3.org/2000/svg" ><rect χ = " 25〃 y = " 10〃 width=" 280〃 height = " 50〃 /></svg></trim><desc>人民的好公仆“焦裕祿”同志事跡對(duì)比學(xué)習(xí)訪談?wù)掌?lt;/desc><notes>2009-6-14,記者焦麗梅 </notes>〈label type=" xml 〃 >〈item id =〃 23〃 name= 〃人物報(bào)道〃 >〈item id =〃 232〃 name= 〃領(lǐng)導(dǎo)專訪〃 >〈item id =〃 2321〃 name= 〃時(shí)代先鋒〃 >〈item id =〃 23212〃 name= 〃人物專欄〃 ></item></item></item></item></label></extinf></data>圖3示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的復(fù)合文檔生成方法流程圖,包括以下步驟S102,文檔組合模塊打開(kāi)文件并定位文件的末尾位置,并提取文件的附加信息頭, 對(duì)附加信息頭進(jìn)行判斷;S104,當(dāng)附加信息頭合法時(shí),依據(jù)附加信息頭的信息,分離出文件中的附加文檔數(shù) 據(jù);S106,將附加文檔數(shù)據(jù)與附加信息頭中的模板標(biāo)記段提交給模板解析模塊,模板 解析模塊從模板管理模塊提取模板標(biāo)記段對(duì)應(yīng)的模板,并將模板與附加文檔數(shù)據(jù)進(jìn)行合 成;S108,將合成后的文檔數(shù)據(jù)與皮膚管理模塊中的皮膚進(jìn)行合成,生成附加文檔的 用戶交互視圖。在本實(shí)施例中,通過(guò)附加信息頭進(jìn)行驗(yàn)證,當(dāng)附加信息頭合法時(shí),調(diào)取上述模板提 取附加文檔數(shù)據(jù),即使用戶未安裝復(fù)合文檔生成裝置,在解析上述復(fù)合文檔時(shí),不影響對(duì)主 文檔的使用,克服了現(xiàn)有技術(shù)中復(fù)合文檔都有自定義的格式,需要特定的解析軟件進(jìn)行解 析,這就要求使用該特定格式復(fù)合文檔的用戶,必須安裝相應(yīng)的解析軟件,導(dǎo)致在網(wǎng)絡(luò)環(huán)境 下限制了復(fù)合文檔的分發(fā)使用的問(wèn)題。同時(shí),本實(shí)施例通過(guò)采用皮膚管理模塊將附加文檔與用戶指定的皮膚進(jìn)行合成, 生成用戶交互視圖,提高了用戶的使用體驗(yàn)。
優(yōu)選地,在上述復(fù)合文檔生成方法中,還包括以下步驟當(dāng)附加信息頭不合法時(shí), 終止對(duì)文件的處理,其中,附加信息頭不合法的情況具體包括附加信息頭中的標(biāo)準(zhǔn)段檢測(cè) 不一致;或根據(jù)附加信息頭中的起始位置段和數(shù)據(jù)長(zhǎng)度段得到的附加文檔數(shù)據(jù)不在文件的 數(shù)據(jù)范圍內(nèi)。顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計(jì)算裝置來(lái)實(shí)現(xiàn),它們可以集中在單個(gè)的計(jì)算裝置上,或者分布在多個(gè)計(jì)算裝置所組成 的網(wǎng)絡(luò)上,可選地,它們可以用計(jì)算裝置可執(zhí)行的程序代碼來(lái)實(shí)現(xiàn),從而,可以將它們存儲(chǔ) 在存儲(chǔ)裝置中由計(jì)算裝置來(lái)執(zhí)行,或者將它們分別制作成各個(gè)集成電路模塊,或者將它們 中的多個(gè)模塊或步驟制作成單個(gè)集成電路模塊來(lái)實(shí)現(xiàn)。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結(jié)合。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技 術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修 改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種復(fù)合文檔生成裝置,其特征在于,包括模板管理模塊,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)所述模板生成主文檔的附加文檔數(shù)據(jù);文檔組合模塊,用于將所述主文檔的數(shù)據(jù)與所述附加文檔數(shù)據(jù)合成以生成復(fù)合文檔數(shù)據(jù),并從所述復(fù)合文檔數(shù)據(jù)中提取所述附加文檔數(shù)據(jù);模板解析模塊,用于解析所述附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)所述模板將所述附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格式;皮膚管理模塊,用于將所述附加文檔與用戶指定的皮膚進(jìn)行合成,生成用戶交互視圖。
2.根據(jù)權(quán)利要求1所述的復(fù)合文檔生成裝置,其特征在于,所述模板管理模塊具體包括模板存儲(chǔ)單元,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板; 附加信息生成單元,用于根據(jù)所述模板生成主文檔對(duì)應(yīng)的附加文檔數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的復(fù)合文檔生成裝置,其特征在于,所述文檔組合模塊具體包括信息頭生成單元,用于生成描述所述附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的附加信息頭;文件合成單元,用于將所述主文檔的數(shù)據(jù)、所述附加文檔數(shù)據(jù)以及所述附加信息頭按 照先后順序連接為新的復(fù)合文檔數(shù)據(jù),并對(duì)所述復(fù)合文檔數(shù)據(jù)進(jìn)行存儲(chǔ); 數(shù)據(jù)提取單元,用于從所述復(fù)合文檔中提取所述附加文檔數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的復(fù)合文檔生成裝置,其特征在于,所述附加信息頭包括 標(biāo)志段,用于所述附加信息頭的特定標(biāo)志,其位于所述附加信息頭的末尾位置;起始位置段,用于記錄所述附加文檔數(shù)據(jù)相對(duì)于所述主文檔的數(shù)據(jù)的起始位置的偏移 字節(jié)數(shù);數(shù)據(jù)長(zhǎng)度段,用于記錄所述附加信息數(shù)據(jù)的數(shù)據(jù)長(zhǎng)度; 模板標(biāo)記段,用于記錄所述附加文檔數(shù)據(jù)的模板的相關(guān)信息。
5.根據(jù)權(quán)利要求4所述的文檔組合模塊,其特征在于,所述相關(guān)信息具體包括當(dāng)所述附加信息需要進(jìn)行轉(zhuǎn)換時(shí),所述相關(guān)信息包括記錄所述附加文檔數(shù)據(jù)轉(zhuǎn)換為附 加文檔時(shí)所用的模板標(biāo)識(shí);當(dāng)所述附加文檔數(shù)據(jù)不需要轉(zhuǎn)換時(shí),所述相關(guān)信息為空。
6.根據(jù)權(quán)利要求4所述的復(fù)合文檔生成裝置,其特征在于,文檔組合模塊還包括 驗(yàn)證單元,用于驗(yàn)證所述附加信息頭中記錄的標(biāo)志段;加密單元,用于對(duì)所述附加文檔進(jìn)行加密或者解密。
7.根據(jù)權(quán)利要求1所述的復(fù)合文檔生成裝置,其特征在于,根據(jù)所述模板將所述附加 文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格式時(shí),所述附加文檔為多個(gè)文件。
8.根據(jù)權(quán)利要求7所述的復(fù)合文檔生成裝置,其特征在于,所述附加文檔的多個(gè)文件 的格式和編碼格式不同,所述格式和所述編碼格式分別由所述模板定義。
9.一種復(fù)合文檔生成方法,其特征在于,包括以下步驟文檔組合模塊打開(kāi)文件并定位所述文件的末尾位置,并提取所述文件的附加信息頭, 對(duì)所述附加信息頭進(jìn)行判斷;當(dāng)所述附加信息頭合法時(shí),依據(jù)所述附加信息頭的信息,分離出所述文件中的附加文 檔數(shù)據(jù);將所述附加文檔數(shù)據(jù)與所述附加信息頭中的模板標(biāo)記段提交給模板解析模塊,所述模 板解析模塊從模板管理模塊提取所述模板標(biāo)記段對(duì)應(yīng)的模板,并將所述模板與所述附加文 檔數(shù)據(jù)進(jìn)行合成;將合成后的所述文檔數(shù)據(jù)與皮膚管理模塊中的皮膚進(jìn)行合成,生成所述附加文檔的用 戶交互視圖。
10.根據(jù)權(quán)利要求9所述的復(fù)合文檔生成方法,其特征在于,還包括以下步驟當(dāng)所述附加信息頭不合法時(shí),終止對(duì)所述文件的處理,其中,所述附加信息頭不合法的 情況具體包括所述附加信息頭中的標(biāo)準(zhǔn)段檢測(cè)不一致;或根據(jù)所述附加信息頭中的起始位置段和數(shù)據(jù)長(zhǎng)度段得到的附加文檔數(shù)據(jù)不在所述文 件的數(shù)據(jù)范圍內(nèi)。
全文摘要
本發(fā)明提供了一種復(fù)合文檔生成裝置和方法,其中,裝置包括模板管理模塊,用于存儲(chǔ)描述文檔的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)上述模板生成主文檔的附加文檔數(shù)據(jù);文檔組合模塊,用于將主文檔的數(shù)據(jù)與附加文檔數(shù)據(jù)合成以生成復(fù)合文檔數(shù)據(jù),并從復(fù)合文檔數(shù)據(jù)中提取附加文檔數(shù)據(jù);模板解析模塊,用于解析附加文檔數(shù)據(jù)的信息構(gòu)成和數(shù)據(jù)格式的模板,并根據(jù)模板將附加文檔數(shù)據(jù)轉(zhuǎn)換為附加文檔的格式;皮膚管理模塊,用于將附加文檔與用戶指定的皮膚進(jìn)行合成,生成用戶交互視圖。
文檔編號(hào)G06F17/24GK101944087SQ20091008871
公開(kāi)日2011年1月12日 申請(qǐng)日期2009年7月8日 優(yōu)先權(quán)日2009年7月8日
發(fā)明者李永蕊, 龔健 申請(qǐng)人:方正國(guó)際軟件(北京)有限公司