本發(fā)明涉及文檔格式轉(zhuǎn)換的技術(shù)領(lǐng)域,具體涉及一種文檔格式在線轉(zhuǎn)換方法及系統(tǒng)。
背景技術(shù):
在文檔在線預(yù)覽或其它應(yīng)用場景中,通常需要將待預(yù)覽的文檔轉(zhuǎn)換成目標(biāo)文檔格式?,F(xiàn)有的文檔格式轉(zhuǎn)換方法存在轉(zhuǎn)換失敗、轉(zhuǎn)換不精準(zhǔn)的情況。例如,采用現(xiàn)有的文檔格式轉(zhuǎn)換方法對復(fù)雜文檔、表格、PPT、電子簽章進(jìn)行轉(zhuǎn)換時(shí),往往存在變形、或者無法轉(zhuǎn)換的情況。這是因?yàn)楝F(xiàn)有技術(shù)中,往往采用單一的轉(zhuǎn)換組件。例如,如果需要采用微軟OFFICE組件進(jìn)行轉(zhuǎn)換,但若設(shè)備上未安裝該組件,則無法轉(zhuǎn)換。例如,當(dāng)設(shè)備上只安裝了OpenOffice組件時(shí),需要對原始編輯格式是微軟OFFICE編輯格式的文檔進(jìn)行轉(zhuǎn)換,則會出現(xiàn)轉(zhuǎn)檔后變形的情況。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中的上述缺陷,本發(fā)明提供了一種文檔格式在線轉(zhuǎn)換方法及系統(tǒng),能夠提高轉(zhuǎn)換的成功率和準(zhǔn)確率。
第一方面,本發(fā)明提供的一種文檔格式在線轉(zhuǎn)換方法,包括:
接收用于請求對指定文檔進(jìn)行格式轉(zhuǎn)換的請求,所述指定文檔的格式為第一格式;
從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件;
利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔;
利用第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔;
將所述目標(biāo)文檔作為所述請求的響應(yīng),使用戶可以在線預(yù)覽所述目標(biāo)文檔。
可選的,所述從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件,包括:
識別所述指定文檔的原始編輯格式;
根據(jù)所述原始編輯格式,從多個(gè)轉(zhuǎn)換組件中選擇與所述原始編輯格式相應(yīng)的第一轉(zhuǎn)換組件。
可選的,所述從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件,包括:
為多個(gè)轉(zhuǎn)換組件中的每一個(gè)分別配置優(yōu)先級;
從所述多個(gè)轉(zhuǎn)換組件中選擇優(yōu)先級最高的轉(zhuǎn)換組件作為所述指定文檔的第一轉(zhuǎn)換組件。
可選的,所述第二格式包括PDF格式,所述第三格式包括SWF格式,所述第二轉(zhuǎn)換組件包括SWFTools組件。
可選的,在所述從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件的步驟前,還包括:
判斷所述指定文檔的格式是否為第二格式;
若是,則利用第二轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。
可選的,在所述利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的同時(shí),還包括:
檢測在利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的過程中是否存在異常;
若存在異常,則終止利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟,并從所述多個(gè)轉(zhuǎn)換組件中按照優(yōu)先級由高到低的順序選擇次一級的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件,重新執(zhí)行所述利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟。
可選的,在所述獲得第三格式的目標(biāo)文檔的步驟之后,還包括:
對所述目標(biāo)文檔進(jìn)行重處理;
所述重處理,包括:重命名、加密或添加轉(zhuǎn)換組件標(biāo)識中的至少一種。
可選的,在所述獲得第三格式的目標(biāo)文檔的步驟之后,還包括:
將所述目標(biāo)文檔存儲到緩存中。
第二方面,本發(fā)明提供的一種文檔格式在線轉(zhuǎn)換系統(tǒng),包括:
請求接收模塊,用于接收用于請求對指定文檔進(jìn)行格式轉(zhuǎn)換的請求,所述指定文檔的格式為第一格式;
第一轉(zhuǎn)換組件選擇模塊,用于從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件;
中間文檔獲得模塊,用于利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔;
目標(biāo)文檔獲得模塊,用于利用第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔;
響應(yīng)模塊,用于將所述目標(biāo)文檔作為所述請求的響應(yīng),使用戶可以在線預(yù)覽所述目標(biāo)文檔。
可選的,所述第一轉(zhuǎn)換組件選擇模塊,具體用于:
識別所述指定文檔的原始編輯格式;
根據(jù)所述原始編輯格式,從多個(gè)轉(zhuǎn)換組件中選擇與所述原始編輯格式相應(yīng)的第一轉(zhuǎn)換組件。
可選的,所述第一轉(zhuǎn)換組件選擇模塊,具體用于:
為多個(gè)轉(zhuǎn)換組件中的每一個(gè)分別配置優(yōu)先級;
從所述多個(gè)轉(zhuǎn)換組件中選擇優(yōu)先級最高的轉(zhuǎn)換組件作為所述指定文檔的第一轉(zhuǎn)換組件。
可選的,所述第二格式包括PDF格式,所述第三格式包括SWF格式,所述第二轉(zhuǎn)換組件包括SWFTools組件。
可選的,所述系統(tǒng),還包括:
第二格式判斷模塊,用于判斷所述指定文檔的格式是否為第二格式;
若是,則直接啟動(dòng)所述目標(biāo)文檔獲得模塊。
可選的,所述中間文檔獲得模塊,還包括:
異常檢測單元,用于檢測在利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的過程中是否存在異常;
若存在異常,則終止所述中間文檔獲得模塊的操作,重新啟動(dòng)所述第一轉(zhuǎn)換組件選擇模塊,從所述多個(gè)轉(zhuǎn)換組件中按照優(yōu)先級由高到低的順序選擇次一級的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件,然后,啟動(dòng)所述中間文檔獲得模塊。
可選的,所述系統(tǒng),還包括:
重處理模塊,用于對所述目標(biāo)文檔進(jìn)行重處理;
所述重處理,包括:重命名、加密或添加轉(zhuǎn)換組件標(biāo)識中的至少一種。
可選的,所述系統(tǒng),還包括:
存儲模塊,用于將所述目標(biāo)文檔存儲到緩存中。
本發(fā)明提供的所述文檔格式在線轉(zhuǎn)換方法,通過從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件,從而可以對不同的文檔針對性的采用更為匹配的第一轉(zhuǎn)換組件進(jìn)行格式轉(zhuǎn)換,避免現(xiàn)有技術(shù)中采用單一轉(zhuǎn)換組件進(jìn)行格式轉(zhuǎn)換造成部分文件轉(zhuǎn)換后變形甚至無法轉(zhuǎn)換的問題,可以有效提高文檔格式在線轉(zhuǎn)換的成功率和準(zhǔn)確率,進(jìn)而可以提高用戶體驗(yàn)。
本發(fā)明提供的一種文檔格式在線轉(zhuǎn)換系統(tǒng),與上述文檔格式在線轉(zhuǎn)換方法出于相同的發(fā)明構(gòu)思,具有相同的有益效果。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹。在所有附圖中,類似的元件或部分一般由類似的附圖標(biāo)記標(biāo)識。附圖中,各元件或部分并不一定按照實(shí)際的比例繪制。
圖1示出了本發(fā)明第一實(shí)施例提供一種文檔格式在線轉(zhuǎn)換方法的流程圖;
圖2示出了本發(fā)明第二實(shí)施例提供一種文檔格式在線轉(zhuǎn)換系統(tǒng)的示意圖。
具體實(shí)施方式
下面將結(jié)合附圖對本發(fā)明技術(shù)方案的實(shí)施例進(jìn)行詳細(xì)的描述。以下實(shí)施例僅用于更加清楚地說明本發(fā)明的技術(shù)方案,因此只是作為示例,而不能以此來限制本發(fā)明的保護(hù)范圍。
需要注意的是,除非另有說明,本發(fā)明使用的技術(shù)術(shù)語或者科學(xué)術(shù)語應(yīng)當(dāng)為本發(fā)明所屬領(lǐng)域技術(shù)人員所理解的通常意義。
本發(fā)明提供了一種文檔格式在線轉(zhuǎn)換方法及系統(tǒng)。下面結(jié)合附圖對本發(fā)明的實(shí)施例進(jìn)行說明。
圖1示出了本發(fā)明第一實(shí)施例所提供的一種文檔格式在線轉(zhuǎn)換方法的流程圖。如圖1所示,本發(fā)明第一實(shí)施例提供的一種文檔格式在線轉(zhuǎn)換方法包括以下步驟:
步驟S101:接收用于請求對指定文檔進(jìn)行格式轉(zhuǎn)換的請求,所述指定文檔的格式為第一格式。
在本步驟中,所述請求是用戶在智能終端在線預(yù)覽文檔時(shí)智能終端發(fā)出的。當(dāng)用戶在智能終端執(zhí)行在線預(yù)覽指定文檔的操作后,所述智能終端就會發(fā)出一個(gè)對所述指定文檔進(jìn)行格式轉(zhuǎn)換的請求。通過對所述指定文檔進(jìn)行格式轉(zhuǎn)換,可以獲得所述指定文檔的目標(biāo)格式,所述目標(biāo)格式可以是默認(rèn)的,也可以是用戶自己選擇,所述目標(biāo)格式是指用戶在線預(yù)覽所述指定文檔時(shí),在線看到的目標(biāo)文檔的格式。所述目標(biāo)格式包括:HTML、SWF等格式。
其中,所述指定文檔可以是用戶上傳到網(wǎng)上的文檔,也可以是網(wǎng)絡(luò)上存在的文檔。例如:所述網(wǎng)絡(luò)上存在的文檔可以是云盤中的文檔、文庫中的文檔、郵箱中的文檔、閱讀器中的文檔等文檔中的任意一種。所述指定文檔的內(nèi)容可以是文本、圖片、PPT、表格、電子簽章等中的一種或多種的組合。所述指定文檔的格式為第一格式,所述第一格式包括:DOC、XLS、PPT、TXT、PDF等格式中的任意一種。因此,本發(fā)明可以應(yīng)用于不同的文檔格式,應(yīng)用范圍廣。本發(fā)明支持多種不同的文檔預(yù)覽的格式,能夠?qū)⑽臋n轉(zhuǎn)換成高質(zhì)量的網(wǎng)頁文檔,可以提高用戶體驗(yàn)。
步驟S102:從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件。
在本步驟中,所述轉(zhuǎn)換組件包括:微軟OFFICE組件、金山WPS組件、OpenOffice組件、PDFCreator組件、SWFTools組件等。所述第一轉(zhuǎn)換組件可以是微軟OFFICE組件、金山WPS組件、OpenOffice組件、PDFCreator組件等中的任意一種。
在本步驟中,所述從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件的方法可以包括以下三種:
第一種方法:首先,識別所述指定文檔的原始編輯格式。然后,根據(jù)所述原始編輯格式,從多個(gè)轉(zhuǎn)換組件中選擇與所述原始編輯格式相應(yīng)的第一轉(zhuǎn)換組件。
所述識別所述指定文檔的原始編輯格式,需要獲得所述指定文檔的頭信息、后綴名等中的一種或多種的組合,然后通過所述頭信息、后綴名等中的一種或多種的組合來識別所述指定文檔的原始編輯格式。所述原始編輯格式包括:微軟OFFICE編輯格式、金山WPS編輯格式、OpenOffice編輯格式、HTML編輯格式、PDF編輯格式等。
識別出所述指定文檔的原始編輯格式后,根據(jù)所述原始編輯格式選擇與所述原始編輯格式相應(yīng)的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件。
例如,當(dāng)指定文檔的原始編輯格式是微軟OFFICE編輯格式時(shí),應(yīng)該選擇所述微軟OFFICE組件作為所述指定文檔的所述第一轉(zhuǎn)換組件。其它原始編輯格式的指定文檔也都是如此對應(yīng)選擇第一轉(zhuǎn)換組件。
第二種方法:首先,需要為多個(gè)轉(zhuǎn)換組件中的每一個(gè)分別配置優(yōu)先級,然后,從所述多個(gè)轉(zhuǎn)換組件中選擇優(yōu)先級最高的轉(zhuǎn)換組件作為所述指定文檔的第一轉(zhuǎn)換組件。
其中,所述優(yōu)先級可以是在系統(tǒng)中直接配置好的,每一次格式轉(zhuǎn)換時(shí)轉(zhuǎn)換組件的優(yōu)先級都是不變的。所述轉(zhuǎn)換組件的固定的優(yōu)先級排序可以是:微軟OFFICE組件-->>金山WPS組件-->>OpenOffice組件-->>PDFCreator組件組件。利用這種方法,當(dāng)接收到用于請求對指定文檔進(jìn)行格式轉(zhuǎn)換的請求時(shí),可以不需要識別所述指定文檔的原始編輯格式,直接按照上述轉(zhuǎn)換組件的優(yōu)先級為所述指定文檔選擇第一轉(zhuǎn)換組件,先選擇微軟OFFICE組件,在利用微軟OFFICE組件轉(zhuǎn)換失敗后,再選擇金山WPS組件,以此類推。
其中,所述優(yōu)先級的配置也可以是根據(jù)所述指定文檔的信息進(jìn)行配置,所述指定文檔的信息包括:后綴名、頭信息等中的一種或多種的組合。例如,如果所述指定文檔的頭信息顯示所述指定文檔的原始編輯格式是金山WPS編輯格式,那么,優(yōu)先級最高的轉(zhuǎn)換組件就是金山WPS組件,之后的優(yōu)先級則按照金山WPS組件-->>OpenOffice組件-->>PDFCreator組件的順序依次降序排序。根據(jù)所述指定文檔的信息進(jìn)行優(yōu)先級配置時(shí),可以是只確定優(yōu)先級最高的轉(zhuǎn)換組件,然后按照所述固定的優(yōu)先級順序進(jìn)行排序,也可以是確定好優(yōu)先級最高的轉(zhuǎn)換組件后,其它轉(zhuǎn)換組件可以隨意排序。
第三種方法:可以直接選擇所述OpenOffice組件或PDFCreator組件作為所述指定文檔的第一轉(zhuǎn)換組件,不需要識別所述指定文檔的原始編輯格式。因?yàn)樗鯫penOffice組件或PDFCreator組件可以轉(zhuǎn)換任意格式的文檔。但是,這種方法是有局限性的,因?yàn)橛械奈臋n通過這種方法轉(zhuǎn)換后會存在變形的情況。第二種方法相較于第三種方法,能夠選擇更為合適的第一轉(zhuǎn)換組件,可以提高格式轉(zhuǎn)換的成功率和準(zhǔn)確率。
上述三種方法都在本發(fā)明的保護(hù)范圍內(nèi),在從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件時(shí),可以利用上述三種方法中的任意一種,也可以利用上述三種方法中的多種的組合,都在本發(fā)明的保護(hù)范圍內(nèi)。
例如,如果指定文檔的原始編輯格式是金山WPS格式,但是服務(wù)器上沒有安裝金山WPS組件,只安裝了PDFCreator組件,那么可以用第三種方法,直接選擇PDFCreator組件作為所述指定文檔的第一轉(zhuǎn)換組件。
例如,指定文檔的原始編輯格式是微軟OFFICE編輯格式,如果服務(wù)器或智能終端安裝了所述微軟OFFICE組件,則選擇所述微軟OFFICE組件作為所述指定文檔的第一轉(zhuǎn)換組件,這種方法是第一種方法;如果沒有安裝所述微軟OFFICE組件,則利用第二種方法進(jìn)行選擇第一轉(zhuǎn)換組件。
通過從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件,從而可以對不同的文檔針對性地采用更為匹配的第一轉(zhuǎn)換組件進(jìn)行格式轉(zhuǎn)換,可以避免現(xiàn)有技術(shù)中采用單一轉(zhuǎn)換組件進(jìn)行格式轉(zhuǎn)換造成部分文檔轉(zhuǎn)換后變形甚至無法轉(zhuǎn)換的問題,可以有效提高文檔格式在線轉(zhuǎn)換的成功率和準(zhǔn)確率,進(jìn)而可以提高用戶體驗(yàn)。
在本步驟S102進(jìn)行的同時(shí),還可以包括:檢測所述服務(wù)器或智能終端的網(wǎng)絡(luò)通信是否異常,如果異常,則終止本步驟的操作,可以向相關(guān)的工作人員發(fā)出網(wǎng)絡(luò)通信異常的警報(bào),待維修好所述異常后,再執(zhí)行本步驟的操作。
步驟S103:利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔。
在本步驟中,當(dāng)所述第一轉(zhuǎn)換組件與所述指定文檔不在同一服務(wù)器或智能終端時(shí),在執(zhí)行本步驟之前,還可以包括:將所述將所述指定文檔的路徑發(fā)送給所述第一轉(zhuǎn)換組件,或者,將所述指定文檔直接上傳到所述第一轉(zhuǎn)換組件所在的服務(wù)器或智能終端上,然后,利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔。
當(dāng)所述第一轉(zhuǎn)換組件與所述指定文檔在同一服務(wù)器或智能終端時(shí),可以直接利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔。
上述兩種情況都在本發(fā)明的保護(hù)范圍之內(nèi),由上述兩種情況可知,本發(fā)明適用于不同服務(wù)器上的文檔,可以增加本發(fā)明的使用范圍。
其中,所述第一轉(zhuǎn)換組件是微軟OFFICE組件、金山WPS組件、PDFCreator組件時(shí),所述服務(wù)器或智能終端通過命令行指令與所述組件的應(yīng)用程序編程接口(API)進(jìn)行通信;所述第一轉(zhuǎn)換組件是OpenOffice組件時(shí),所述服務(wù)器或智能終端采用套接字(Socket)與所述組件連接。
其中,所述第二格式可以是DOC、XLS、TXT、PDF等中的任意一種。所述第二格式是服務(wù)器或智能終端默認(rèn)的,當(dāng)用戶執(zhí)行在線預(yù)覽所述指定文檔的操作后,所述服務(wù)器或智能終端就會將所述指定文檔轉(zhuǎn)換成默認(rèn)的第二格式的中間文檔。
在本步驟進(jìn)行的同時(shí),還可以包括:檢測在利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的過程中是否存在異常;若存在異常,則終止利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟,并從所述多個(gè)轉(zhuǎn)換組件中按照優(yōu)先級由高到低的順序選擇次一級的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件,重新執(zhí)行所述利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟,通過異常檢測,可以及時(shí)發(fā)現(xiàn)問題,及時(shí)解決問題,可以提高文檔格式成功轉(zhuǎn)換的速度;或者,若存在異常,則終止利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟,重新將所述指定文檔的路徑發(fā)送給選擇的所述第一轉(zhuǎn)換組件,重新執(zhí)行所述利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的步驟,可以避免所述第一轉(zhuǎn)換組件獲得錯(cuò)誤的路徑。
其中,所述異常包括:在轉(zhuǎn)換過程中不能進(jìn)行格式轉(zhuǎn)換、在調(diào)用所述第一轉(zhuǎn)換組件時(shí)無法調(diào)用等。
例如,在選擇好第一轉(zhuǎn)換組件后,需要調(diào)用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,但是,發(fā)現(xiàn)無法調(diào)用所述第一轉(zhuǎn)換組件,那么,就需要重新選擇第一轉(zhuǎn)換組件。
步驟S104:利用第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。
在本步驟中,可以將所述中間文檔的路徑發(fā)送給第二轉(zhuǎn)換組件,然后利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。也可以直接利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換。
其中,所述第二轉(zhuǎn)換組件可以是SWFTools組件,利用所述第二轉(zhuǎn)換組件可以將所述第二格式的中間文檔轉(zhuǎn)換成第三格式的目標(biāo)文檔,所述目標(biāo)文檔的第三格式可以是SWF格式。在步驟S103中,所述第二格式可以是PDF格式。
在本步驟進(jìn)行的同時(shí),還可以包括:檢測在利用第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換的過程中是否存在異常;若存在異常,則終止利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換的步驟,重新為所述指定文檔選擇合適的第一轉(zhuǎn)換組件,可以從所述多個(gè)轉(zhuǎn)換組件中安裝優(yōu)先級由高到低的順序選擇次一級的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件,從步驟S102重新開始執(zhí)行;或者,若存在異常,則終止利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換的步驟,重新利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換;或者,若存在異常,則終止利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換的步驟,重新使所述第一轉(zhuǎn)換組件獲取所述指定文檔的路徑,從步驟S103開始執(zhí)行;或者,若存在異常,則終止利用所述第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換的步驟,重新使所述第二轉(zhuǎn)換組件獲取所述中間文檔的路徑,重新執(zhí)行本步驟,通過對所述異常的檢測,可以避免錯(cuò)誤的格式轉(zhuǎn)換,提高對所述指定文檔的格式轉(zhuǎn)換的準(zhǔn)確率和成功率。
在本發(fā)明提供的一個(gè)實(shí)施例中,在步驟S102之前,還可以包括:判斷所述指定文檔的格式是否為第二格式;若是,則利用第二轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。
例如,如果第二格式默認(rèn)為PDF格式,第三格式是SWF格式,通過識別指定文檔的信息,發(fā)現(xiàn)所述指定文檔就是PDF格式,則不需要執(zhí)行步驟S102和步驟S103,直接利用第二轉(zhuǎn)換組件中的SWFTools組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。
在本發(fā)明提供的一個(gè)實(shí)施例中,在步驟S103之前,還可以包括:確定目標(biāo)文檔的第三格式;若所述目標(biāo)文檔的第三格式是HTML格式,則利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔。
例如,如果所述第三格式默認(rèn)的是HTML格式,則直接利用所述第一轉(zhuǎn)換組件將所述指定文檔轉(zhuǎn)換成HTML格式,因?yàn)樗龅谝晦D(zhuǎn)換組件都帶有HTML格式轉(zhuǎn)換的功能。
在本步驟之后,還可以包括:從所述第二轉(zhuǎn)換組件中獲取所述目標(biāo)文檔的路徑,并從所述路徑中讀取所述目標(biāo)文檔。
在所述獲得第三格式的目標(biāo)文檔的步驟之后,還可以包括:對所述目標(biāo)文檔進(jìn)行重處理;所述重處理,包括:重命名、加密或添加轉(zhuǎn)換組件標(biāo)識中的至少一種。通過對所述目標(biāo)文檔進(jìn)行重處理,可以清楚地區(qū)分所述目標(biāo)文檔和所述指定文檔,可以保護(hù)所述目標(biāo)文檔的預(yù)覽權(quán)。
在重處理的過程中,還可以包括:檢測所述對所述目標(biāo)文檔進(jìn)行重處理過程中是否存在異常;若存在異常,則從步驟S102、步驟S103、步驟S104中的任意一步重新開始執(zhí)行。通過對重處理過程的檢測,可以進(jìn)一步提高文檔格式在線轉(zhuǎn)換的準(zhǔn)確率和成功率。
在所述獲得第三格式的目標(biāo)文檔的步驟之后,還可以包括:將所述目標(biāo)文檔存儲在緩存中。所述緩存可以包括:服務(wù)器緩存和/或前端播放器緩存,用戶可以根據(jù)需要選擇下載轉(zhuǎn)換后的目標(biāo)文檔,同時(shí),用戶也可以下載轉(zhuǎn)換前的指定文檔,這都在本發(fā)明的保護(hù)范圍內(nèi)。這樣,用戶可以自主下載轉(zhuǎn)換后的目標(biāo)文檔,可以避免用戶多次在線查看指定文檔,進(jìn)而節(jié)省網(wǎng)絡(luò)資源。
步驟S105:將所述目標(biāo)文檔作為所述請求的響應(yīng),使用戶可以在線預(yù)覽所述目標(biāo)文檔。
在本步驟中,將所述目標(biāo)文檔發(fā)送給相應(yīng)的用戶,使用戶可以直接在線預(yù)覽所述轉(zhuǎn)換后的文檔。
通過使用本發(fā)明提供的文檔在線轉(zhuǎn)換方法,不僅可以提高文檔格式在線轉(zhuǎn)換的成功率和準(zhǔn)確率;而且,可以直觀、快捷地展現(xiàn)文檔的內(nèi)容,使用戶直接就可以在線預(yù)覽文檔,避免用戶下載文檔,然后再利用軟件打開文檔,可以節(jié)省時(shí)間和資源;方便用戶選擇性地下載文檔,避免下載無用的文檔,有利于提升工作效率,可以提高用戶黏性。
在上述的第一實(shí)施例中,提供了一種文檔格式在線轉(zhuǎn)換方法,與之相對應(yīng)的,本發(fā)明還提供一種文檔格式在線轉(zhuǎn)換系統(tǒng)。請參考圖2,其為本發(fā)明第二實(shí)施例提供的一種文檔格式在線轉(zhuǎn)換系統(tǒng)的示意圖。由于系統(tǒng)實(shí)施例基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。下述描述的系統(tǒng)實(shí)施例僅僅是示意性的。
本發(fā)明第二實(shí)施例提供的一種文檔格式在線轉(zhuǎn)換系統(tǒng),包括:
請求接收模塊101,用于接收用于請求對指定文檔進(jìn)行格式轉(zhuǎn)換的請求,所述指定文檔的格式為第一格式;
第一轉(zhuǎn)換組件選擇模塊102,用于從多個(gè)轉(zhuǎn)換組件中為所述指定文檔選擇合適的第一轉(zhuǎn)換組件;
中間文檔獲得模塊103,用于利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換,獲得第二格式的中間文檔;
目標(biāo)文檔獲得模塊104,用于利用第二轉(zhuǎn)換組件對所述中間文檔進(jìn)行格式轉(zhuǎn)換,獲得第三格式的目標(biāo)文檔;
響應(yīng)模塊105,用于將所述目標(biāo)文檔作為所述請求的響應(yīng),使用戶可以在線預(yù)覽所述目標(biāo)文檔。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述第一轉(zhuǎn)換組件選擇模塊102,具體用于:
識別所述指定文檔的原始編輯格式;
根據(jù)所述原始編輯格式,從多個(gè)轉(zhuǎn)換組件中選擇與所述原始編輯格式相應(yīng)的第一轉(zhuǎn)換組件。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述第一轉(zhuǎn)換組件選擇模塊102,具體用于:
為多個(gè)轉(zhuǎn)換組件中的每一個(gè)分別配置優(yōu)先級;
從所述多個(gè)轉(zhuǎn)換組件中選擇優(yōu)先級最高的轉(zhuǎn)換組件作為所述指定文檔的第一轉(zhuǎn)換組件。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述第二格式包括PDF格式,所述第三格式包括SWF格式,所述第二轉(zhuǎn)換組件包括SWFTools組件。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述系統(tǒng),還包括:
第二格式判斷模塊,用于判斷所述指定文檔的格式是否為第二格式;
若是,則直接啟動(dòng)所述目標(biāo)文檔獲得模塊104。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述中間文檔獲得模塊103,還包括:
異常檢測單元,用于檢測在利用所述第一轉(zhuǎn)換組件對所述指定文檔進(jìn)行格式轉(zhuǎn)換的過程中是否存在異常;
若存在異常,則終止所述中間文檔獲得模塊103的操作,重新啟動(dòng)所述第一轉(zhuǎn)換組件選擇模塊102,從所述多個(gè)轉(zhuǎn)換組件中按照優(yōu)先級由高到低的順序選擇次一級的轉(zhuǎn)換組件作為第一轉(zhuǎn)換組件,然后,啟動(dòng)所述中間文檔獲得模塊103。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述系統(tǒng),還包括:
重處理模塊,用于對所述目標(biāo)文檔進(jìn)行重處理;
所述重處理,包括:重命名、加密或添加轉(zhuǎn)換組件標(biāo)識中的至少一種。
在本發(fā)明提供的一個(gè)實(shí)施例中,所述系統(tǒng),還包括:
存儲模塊,用于將所述目標(biāo)文檔存儲到緩存中。
本發(fā)明提供的一種文檔格式在線轉(zhuǎn)換系統(tǒng)與上述文檔格式在線轉(zhuǎn)換方法出于相同的發(fā)明構(gòu)思,具有相同的有益效果,此處不再贅述。
在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“例如”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不是必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。需要說明的是,本發(fā)明附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。
在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲在一個(gè)計(jì)算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個(gè)存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)機(jī)器(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)機(jī)器等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求和說明書的范圍當(dāng)中。