文檔展示方法及裝置制造方法
【專利摘要】本發(fā)明提出一種文檔展示方法及裝置,其包括:創(chuàng)建用于打開office文檔的組件實例;當接收到一個或多個office文檔展示請求時,將所述office文檔加載到所述組件實例中;將加載到所述組件實例中的office文檔轉換為適合展示的格式的目標文檔;以及對所述目標文檔進行展示。減少了網(wǎng)絡資源占用以及加快了展示文檔的時間。
【專利說明】文檔展示方法及裝置
【技術領域】
[0001] 本發(fā)明涉及網(wǎng)絡應用領域,尤其涉及一種文檔展示方法及裝置
【背景技術】
[0002] 目前,隨著網(wǎng)絡應用的發(fā)展,無論是學習、工作、生活都離不開網(wǎng)絡。然而,現(xiàn)階段 大多數(shù)的要展示的文檔仍然是微軟公司所提供的office系列文檔。但是,微軟所提供的 office文檔由于其格式的不公開性,除了 IE瀏覽器之外的其他瀏覽器往往不能很順利地 展示off ice文檔,這樣就極大地阻礙了網(wǎng)絡資源共享及應用。
[0003] 現(xiàn)階段解決除IE瀏覽器以外的其他瀏覽器不能打開相關的office文檔的問題, 主要是通過第三方平臺提供的off ice文檔轉換軟件,其通過對off ice文檔進行解析,然后 把office文檔轉換為其他瀏覽器能夠打開的格式的文檔,但是由于需要第三方平臺參與, 所以在兼容性方面存在缺陷,不能完全復現(xiàn)文檔在office軟件中的瀏覽效果;或是采用微 軟提供的在線穩(wěn)定預覽服務,其可以將off ice文檔轉換為html文檔以便于瀏覽器顯示,而 這樣操作則非常消耗時間。
【發(fā)明內容】
[0004] 本發(fā)明的主要目的在于提供一種文檔展示方法及裝置,以克服上述缺陷,解決現(xiàn) 有技術所存在的問題。
[0005] 在本發(fā)明的一個方面,提供了一種文檔展示方法,其包括:創(chuàng)建用于打開office 文檔的組件實例;當接收到一個或多個off ice文檔展示請求時,將所述off ice文檔加載到 所述組件實例中;將加載到所述組件實例中的office文檔轉換為適合展示的格式的目標 文檔;以及對所述目標文檔進行展示。
[0006] 進一步,初始化用于打開office文檔的組件的運行環(huán)境。
[0007] 其中,所述目標文檔包括下列中的至少一個:html文檔和圖片資源文檔。
[0008] 進一步,當將所有接收到的office文檔展示請求中的office文檔全部轉換為適 合展示的格式的目標文檔、并且進行展示完成之后,銷毀用于打開office文檔的組件實 例。
[0009] 進一步,銷毀用于打開Office文檔的組件的運行環(huán)境。
[0010] 在本發(fā)明的另一個方面,提供了一種文檔展示裝置,其包括:服務建立模塊,適于 創(chuàng)建用于打開office文檔的組件實例;服務提供模塊,適于當接收一個或多個office文檔 展示請求時,將所述off ice文檔加載到所述組件實例中;轉換模塊,適于將加載到所述組 件實例中的office文檔轉換為適合展示的格式的目標文檔;以及展示模塊,適于對所述目 標文檔進行展示。
[0011] 其中,服務建立模塊還適于:在創(chuàng)建用于打開office文檔的組件實例之前,初始 化打開office文檔的組件的運行環(huán)境。
[0012] 其中,所述目標文檔包括下列中的至少一個:html文檔和圖片資源文檔。
[0013] 進一步,該方法還包括:銷毀模塊,用于當將所有接收到的Office文檔展示請求 中的office文檔全部轉換為適合展示的格式的目標文檔、并且進行展示完成之后,銷毀用 于打開office文檔的組件實例。
[0014] 進一步,該銷毀模塊還適于:用于在銷毀用于打開office文檔的組件實例之后, 銷毀用于打開office文檔的組件的運行環(huán)境。
[0015] 本發(fā)明與現(xiàn)有技術相比至少具有如下有益效果:
[0016] 1)通過在服務端創(chuàng)建用于展示office文檔的組件實例,以達到每次有文檔請求 展示時,都無須進行初始化該文檔及相關組件認證等工作,有效地提高了文檔展示速度。
[0017] 2)還通過對展示完成的文檔進行其資源釋放、銷毀等處理,有效地節(jié)約了網(wǎng)絡資 源占用。
【專利附圖】
【附圖說明】
[0018] 此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0019] 圖1是依據(jù)本發(fā)明的一個實施例的文檔展示方法的示意流程圖;
[0020] 圖2是依據(jù)本發(fā)明的一個實施例的文檔展示裝置的結構示意圖;
[0021] 圖3是依據(jù)本發(fā)明的一個實施例的原office文檔的示意圖;
[0022] 圖4是現(xiàn)有技術中轉換的圖3中office文檔示意圖;
[0023] 圖5是依據(jù)本發(fā)明的一個實施例的轉換圖3中office文檔示意圖。
【具體實施方式】
[0024] 為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,以下結合附圖及具體實施例,對本 發(fā)明作進一步地詳細說明。
[0025] 依據(jù)本發(fā)明的一個實施例,首先,創(chuàng)建用于打開office文檔的組件實例,也就是 說,該組件實例是用于打開office文檔的;當接收到一個或多個office文檔展示請求時, 將所述office文檔加載到所創(chuàng)建的組件實例中,然后將加載到所述組件實例中的office 文檔轉換為適合展示的格式的目標文檔,以及對所述目標文檔進行展示。由此可知,本實施 例首先創(chuàng)建用于打開office文檔的組件實例(例如,微軟提供的com組件的組件實例),接 著把要展示的office文檔加載到該組件實例中,然后把加載到該組件實例中的office文 檔轉換為適合展示的格式的目標文檔,從而就可以對目標文檔進行展示了。無論有一個或 多個office文檔請求展示,都不需要重復創(chuàng)建office文檔的組件實例,而是直接進行加 載、轉換和展示。也就是說,無論要對多少個off ice文檔進行展示,只需要創(chuàng)建一個組件實 例即可,而不是對于每一個要展示的office文檔都要創(chuàng)建一個組件實例,由此可以實現(xiàn)快 速的文檔展示而不會浪費時間及資源。此外,通過組件實例對office文檔的加載之后,對 其進行相應目標格式轉換,有效地實現(xiàn)了對格式轉換的兼容性。即,通過本發(fā)明所提供的組 件實例的加載就可以直接打開office文檔,并進行目標文檔的格式轉換,之后在瀏覽器中 進行展示,能提升文檔轉換時間和效率。尤其是針對off ice這類不公開格式的文檔來說, 可以利用服務器端執(zhí)行文檔轉換以應對office文檔在非IE瀏覽器環(huán)境下的正常顯示,且 其轉換效率高、時間消耗少。
[0026] 如圖1所示,提供了根據(jù)本發(fā)明的一個實施例的文檔展示方法,其包括:
[0027] 步驟S101,初始化用于打開office文檔的組件的運行環(huán)境。
[0028] 步驟S102,創(chuàng)建適用于打開office文檔的組件實例。
[0029] 所述office組件實例,可以提供相應的打開office文檔的服務或為展示office 文檔提供相應的展示環(huán)境。目前微軟提供的用于打開office文檔的組件為com組件,本文 也以此為例,當然還可以使用本領域現(xiàn)在已知或將來已知的用于打開office文檔的其他 組件。
[0030] 步驟S103中,當接收到一個或多個office文檔展示請求時,將所述office文檔 加載到所述組件實例中。將office文檔加載到組件實例中,首先,將當前要展示的office 文檔的支持組件進行初始化,以為后續(xù)組件實例為其office文檔重新進行適合展示的格 式的目標文檔組件加載。然后,將已完成對office文檔初始的任務后,將適合展示的格式 的目標文檔的組件及相關插件加載到off ice文檔,例如,以適應在不同瀏覽器中以無損格 式展示office文檔。
[0031] 步驟S104中,將加載到所述組件實例中的office文檔轉換為適合展示的格式的 目標文檔。其中,所述目標文檔包括下列中的至少一個:html文檔和圖片資源文檔等等。 在實際應用中,對于不同的瀏覽器,其適合展示的格式可能會有所不同。因此,對于不同的 office文檔展示請求,可能會把office文檔轉換為不同展示格式的目標文檔。
[0032] 步驟S105中,對所述目標文檔進行展示。比如:將該目標文檔在該瀏覽器中正常 的無損格式地展示出來。
[0033] 步驟S106中,判斷當前是否有office文檔的展示請求,如果還有office文檔請 求,或者接收的多個請求沒有處理完,則執(zhí)行步驟S103,否則,執(zhí)行步驟S107。
[0034] 步驟S107中,當將所有接收到的office文檔展示請求中的office文檔全部轉換 為適合展示的格式的目標文檔、并且進行展示完成之后,則可以銷毀用于打開office文檔 的組件實例。
[0035] 步驟S108中,銷毀完該用于打開office文檔的組件實例后,還可以進一步地,銷 毀用于打開office文檔的組件的運行環(huán)境。
[0036] 對于步驟S107和S108可以進一步說明為,當用戶不需要繼續(xù)展示當前office文 檔,或需要展示其他文檔時,那么,對于組件實例當前所提供的環(huán)境會選擇關閉操作。即,關 閉組件實例為當前已經展示的office文檔所提供的展示服務。需要說明的是,依據(jù)本發(fā)明 實施例的技術方案不像現(xiàn)有技術那樣,每轉換一個office文檔都要創(chuàng)建一個組件實例。依 據(jù)本發(fā)明實施例的技術方案只需要創(chuàng)建一個用于打開office文檔的組件實例,然后對所 有要展示的office文檔進行轉換,從而大大節(jié)省了轉換時間,也即節(jié)省了展示時間。
[0037] 如圖3-5所示,利用依據(jù)本發(fā)明的一個實施例的文檔展示方法,進行office文檔 展示的例子,本例要對10個文檔進行轉換,每個文檔大小為423KB。
[0038] 依據(jù)本發(fā)明一個實施例的組件實例就好比構建的一個office文檔的對話框,每 當有office文檔展示請求時,就可以通過此對話框進行打開及相關展示文檔的操作。
[0039] 首先,初始化用于打開office文檔的com組件運行環(huán)境,由于office文檔的核心 組件是由微軟提供的com組件構建的,所以需要對其進行初始化設置,以適合office文檔 格式。對com組件的初始化設置之后,可以創(chuàng)建office文檔的com組件實例(com組件(COM component (COM組件)是微軟公司為了計算機工業(yè)的軟件生產更加符合人類的行為方式開 發(fā)的一種新的軟件開發(fā)技術,com組件是用來打開office文檔的核心組件)。本實施例通過 對com組件的初始化使office文檔在組件實例所創(chuàng)建的環(huán)境中運行并加載適用于office 文檔的程序插件以實現(xiàn)無損格式展示;對于office文檔,可以先初始化com環(huán)境,進而,創(chuàng) 建office的com組件實例。也可以,根據(jù)加載的程序插件創(chuàng)建所述組件實例。
[0040] 此時,例如office文檔一testl. docx文檔(如圖3所示)向瀏覽器請求展示時,將 testl. docx加載到所創(chuàng)建的組件實例中。之后,將testl. docx轉換為目標格式,即將每個 要展示的文檔都分為testl. html和testl. files兩部分(其中,test, html是文檔的主要 內容包括文字樣式等,test, files包含了文檔中的資源文件,如圖片等),通過上述的分成 兩部分的處理方式(即,文字信息、資源文件),待所請求的off ice文檔轉為適合展示的格式 的目標文檔后,其所展示的內容格式與原office文檔保持基本一致(如圖5所示,轉換后的 展示文檔)。轉換過程中若要保持瀏覽器(非IE瀏覽器)的兼容性,還可以采取禁用功能將 office文檔中圖片轉換為vml格式,因為微軟office默認會將文檔中的圖片內容轉換為 vml格式使得一些非IE內核的瀏覽器中無法進行顯示(如圖4所示,圖3中office文檔的 圖片部分未顯示出來),所以在轉換過程中,進一步優(yōu)化本發(fā)明的方案,可以考慮將文檔中 的圖片直接轉為上面的資源文件如圖片資源文件等。
[0041] 當把所有請求展示的Office文檔都展示完畢時,可以銷毀用于打開office文檔 的組件實例。在銷毀用于打開office文檔的組件實例之后,再銷毀用于打開office文檔 的組件的運行環(huán)境。這樣,進一步節(jié)約了所占用的網(wǎng)絡緩存的資源空間,從而實現(xiàn)了快速、 高質量地展示所請求的文檔。
[0042] 對于office文檔的轉換可以采用php腳本轉換,或其他轉換方法,但本發(fā)明并不 限于此。
[0043] 對于本例對10個文檔進行轉換,每個文檔大小為423KB,采用php (Hypertext Preprocessor)服務器把這10個文檔都轉換完成共消耗15264. 47ms,其中平均每個文檔 消耗1526. 447ms。而采用依據(jù)本發(fā)明實施例的方法,把這10個文檔都轉換完成共消耗 9838. 268ms,其中平均每個文檔消耗983. 827ms。由此可以看出,依據(jù)本發(fā)明實施例的方法 轉換時間明顯優(yōu)于現(xiàn)有技術。
[0044] 圖2提供了一種文檔展示裝置的結構示意圖,其包括:
[0045] 服務建立模塊201,適于創(chuàng)建打開office文檔的組件實例。
[0046] 服務提供模塊202,用于當接收一個或多個office文檔展示請求時,所述office 文檔加載到所述組件實例中。
[0047] 轉換模塊203,適于將加載到所述組件實例中的office文檔轉換為適合展示的格 式的目標文檔,以及
[0048] 展示模塊204,適于對所述目標文檔進行展示。
[0049] 其中,所述服務建立模塊201還適于:在創(chuàng)建用于打開office文檔的組件實例之 前,初始化打開office文檔的組件的運行環(huán)境。
[0050] 其中,所述目標文檔包括下列中的至少一個:html文檔和圖片資源文檔等等。
[0051] 進一步地,所述文檔展示裝置還包括銷毀模塊205,其適于當將所有接收到的 office文檔展示請求中的office文檔全部轉換為適合展示的格式的目標文檔并且進行展 示完成之后,銷毀用于打開office文檔的組件實例。
[0052] 其中,所述銷毀模塊205還適于:用于在銷毀用于打開office文檔的組件實例之 后,銷毀用于打開office文檔的組件的運行環(huán)境。
[0053] 由于依據(jù)本發(fā)明實施例的文檔展示裝置的技術方案與依據(jù)本發(fā)明實施例的文檔 展示方法的技術方案一一對應,因此在此就不再對依據(jù)本發(fā)明實施例的文檔展示裝置的技 術方案進行贅述。
[0054] 在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。 各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求 的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種 編程語言實現(xiàn)在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā) 明的最佳實施方式。
[0055] 在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施 例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構 和技術,以便不模糊對本說明書的理解。
[0056] 類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在 上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施 例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保 護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面 的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此, 遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身 都作為本發(fā)明的單獨實施例。
[0057] 本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地 改變并且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單 元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或 子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任 何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的 任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的 權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來 代替。
[0058] 此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例 中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的 范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任 意之一都可以以任意的組合方式來使用。
[0059] 本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行 的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用 微處理器或者數(shù)字信號處理器(DSP )來實現(xiàn)根據(jù)本發(fā)明實施例的設備中的一些或者全部部 件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全 部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現(xiàn)本發(fā)明的程序 可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以 從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0060] 應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領 域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中, 不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞"包含"不排除存在 未列在權利要求中的元件或步驟。位于元件之前的單詞"一"或"一個"不排除存在多個這 樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來 實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件 項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為 名稱。
【權利要求】
1. 一種文檔展示方法,其包括: 創(chuàng)建用于打開office文檔的組件實例; 當接收到一個或多個office文檔展示請求時,將所述office文檔加載到所述組件實 例中; 將加載到所述組件實例中的office文檔轉換為適合展示的格式的目標文檔;以及 對所述目標文檔進行展示。
2. 根據(jù)權利要求1所述的方法,其中,在創(chuàng)建用于打開off ice文檔的組件實例之前,還 包括:初始化用于打開office文檔的組件的運行環(huán)境。
3. 根據(jù)權利要求2所述的方法,其中,所述目標文檔包括下列中的至少一個:html文檔 和圖片資源文檔。
4. 根據(jù)權利要求1至3中任一個所述的方法,其中,當將所有接收到的office文檔展 示請求中的office文檔全部轉換為適合展示的格式的目標文檔、并且進行展示完成之后, 還包括: 銷毀用于打開office文檔的組件實例。
5. 根據(jù)權利要求4所述的方法,其中,在銷毀用于打開office文檔的組件實例之后,還 包括: 銷毀用于打開office文檔的組件的運行環(huán)境。
6. -種文檔展示裝置,其包括: 服務建立模塊,適于創(chuàng)建用于打開office文檔的組件實例; 服務提供模塊,適于當接收一個或多個off ice文檔展示請求時,將所述off ice文檔加 載到所述組件實例中; 轉換模塊,適于將加載到所述組件實例中的office文檔轉換為適合展示的格式的目 標文檔,以及 展示模塊,適于對所述目標文檔進行展示。
7. 根據(jù)權利要求6所述的裝置,其中,所述服務建立模塊還適于:在創(chuàng)建用于打開 office文檔的組件實例之前,初始化打開office文檔的組件的運行環(huán)境。
8. 根據(jù)權利要求7所述的裝置,其中,所述目標文檔包括下列中的至少一個:html文檔 和圖片資源文檔。
9. 根據(jù)權利要求6至8中任一個所述的裝置,其中,還包括: 銷毀模塊,適于當將所有接收到的office文檔展示請求中的office文檔全部轉換為 適合展示的格式的目標文檔并且進行展示完成之后,銷毀用于打開office文檔的組件實 例。
10. 根據(jù)權利要求9所述的裝置,其中,所述銷毀模塊還適于:用于在銷毀用于打開 office文檔的組件實例之后,銷毀用于打開office文檔的組件的運行環(huán)境。
【文檔編號】G06F17/30GK104216927SQ201310222141
【公開日】2014年12月17日 申請日期:2013年6月5日 優(yōu)先權日:2013年6月5日
【發(fā)明者】徐鐵城, 楊銀波, 劉朋科 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司