本發(fā)明涉及數(shù)據(jù)處理領域,尤其涉及一種加載ocx控件的方法及系統(tǒng)。
背景技術(shù):
通過ocx控件可在幻燈片中播放flash或html5資源,豐富了幻燈片的播放內(nèi)容?,F(xiàn)有的ppt制作工具,如microsoftofficepowerpoint2007,使用ocx控件的絕對路徑作為鏈接地址。當制作好的pptx格式文件轉(zhuǎn)移至其他路徑下時,幻燈片包含的ocx控件的絕對路徑發(fā)生變化,根據(jù)在制作過程中添加的ocx控件的鏈接地址找不到對應的資源,導致無法正確加載ocx控件,從而無法自動播放該幻燈片中包含的flash或html5資源。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種加載ocx控件的方法及系統(tǒng),實現(xiàn)在使用ocx控件的絕對路徑作為鏈接地址制作幻燈片的情況下,pptx格式文件存儲于任一路徑下都能正確加載當前放映的幻燈片包含的ocx控件。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:
本發(fā)明提供一種加載ocx控件的方法,包括:
s1、解析pptx格式文件至預設的文件夾;
s2、獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片所包含的ocx控件的原始路徑;
s3、根據(jù)所述ocx控件的原始路徑和所述臨時文件夾的絕對路徑,得到所述ocx控件的當前絕對路徑;
s4、根據(jù)所述當前絕對路徑加載所述ocx控件。
本發(fā)明還提供一種加載ocx控件的系統(tǒng),其特征在于,包括:
解析模塊,用于解析pptx格式文件至預設的文件夾;
第一獲取模塊,用于獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片所包含的ocx控件的原始路徑;
第二獲取模塊,用于根據(jù)所述ocx控件的原始路徑和所述臨時文件夾的絕對路徑,得到所述ocx控件的當前絕對路徑;
加載模塊,用于根據(jù)所述當前絕對路徑加載所述ocx控件。
本發(fā)明的有益效果在于:通過在打開pptx格式文件的過程中將ocx控件拷貝至特定的臨時文件夾下,并重新獲取臨時文件夾中ocx控件的鏈接地址為該ocx控件的當前絕對路徑,使得在使用ocx控件的絕對路徑作為鏈接地址制作幻燈片的情況下,實現(xiàn)pptx格式文件存儲于任一路徑下都能根據(jù)ocx控件在特定的臨時文件夾中的絕對路徑正確加載對應的ocx控件。
附圖說明
圖1為本發(fā)明提供的一種加載ocx控件的方法的具體實施方式的流程框圖;
圖2為本發(fā)明提供的一種加載ocx控件的系統(tǒng)的具體實施方式的結(jié)構(gòu)框圖;
標號說明:
1、解析模塊;2、第一獲取模塊;3、第二獲取模塊;4、加載模塊。
具體實施方式
為詳細說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖予以說明。
本發(fā)明最關鍵的構(gòu)思在于:通過在打開pptx格式文件的過程中將ocx控件拷貝至特定的臨時文件夾下,實現(xiàn)在使用ocx控件的絕對路徑作為鏈接地址制作幻燈片的情況下,pptx格式文件存儲于任一路徑下都能正確加載當前放映的幻燈片包含的ocx控件。
如圖1所示,本發(fā)明提供一種加載ocx控件的方法,包括:
s1、解析pptx格式文件至預設的文件夾;
s2、獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片所包含的ocx控件的原始路徑;
s3、根據(jù)所述ocx控件的原始路徑和所述臨時文件夾的絕對路徑,得到所述ocx控件的當前絕對路徑;
s4、根據(jù)所述當前絕對路徑加載所述ocx控件。
進一步地,所述s2具體為:
s21、獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片的頁碼;
s22、解析與所述頁碼對應的幻燈片序列化xml文檔,得到所述ocx控件的編號;所述幻燈片序列化xml文檔記錄幻燈片中包含的對象;
s23、根據(jù)所述編號解析與所述頁碼對應的幻燈片鏈接xml文檔,得到所述ocx控件的原始路徑;所述幻燈片鏈接xml文檔存儲幻燈片中包含的對象的鏈接地址。
進一步地,所述s22具體為:
在所述幻燈片序列化xml文檔中查找選擇框元素;
獲取所述選擇框元素包含的控件子元素;
獲取所述控件子元素的編號屬性值。
進一步地,所述s23具體為:
匹配所述編號與所述幻燈片鏈接xml文檔中第一元素的編號屬性值,得到匹配結(jié)果;
若所述匹配結(jié)果為匹配成功,則獲取所述第一元素的路徑屬性值。
由上述描述可知,自動解析當前放映的幻燈片中包括的ocx控件鏈接地址,從而實現(xiàn)播放幻燈片時自動播放幻燈片所包括的ocx控件。
進一步地,所述s4具體為:
chromium嵌入式框架根據(jù)所述當前絕對路徑加載所述ocx控件。
由上述描述可知,chromium嵌入式框架為嵌入式形式,播放ocx控件時無需開啟獨立窗口,用戶感知不到ocx控件的存在,像pptx格式文件的原生效果,提高用戶體驗。
進一步地,所述文件夾為臨時文件夾。
由上述描述可知,當關閉pptx格式文件時,系統(tǒng)會自動刪除存儲于臨時文件夾中的文件,避免每次打開pptx格式文件都會造成系統(tǒng)垃圾,占用系統(tǒng)的存儲單元。
如圖2所示,本發(fā)明還提供一種加載ocx控件的系統(tǒng),包括:
解析模塊1,用于解析pptx格式文件至預設的文件夾;
第一獲取模塊2,用于獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片所包含的ocx控件的原始路徑;
第二獲取模塊3,用于根據(jù)所述ocx控件的原始路徑和所述臨時文件夾的絕對路徑,得到所述ocx控件的當前絕對路徑;
加載模塊4,用于根據(jù)所述當前絕對路徑加載所述ocx控件。
進一步地,所述第一獲取模塊包括:
第一獲取單元,用于獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片的頁碼;
第一解析單元,用于解析與所述頁碼對應的幻燈片序列化xml文檔,得到所述ocx控件的編號;所述幻燈片序列化xml文檔記錄幻燈片中包含的對象;
第二解析單元,用于根據(jù)所述編號解析與所述頁碼對應的幻燈片鏈接xml文檔,得到所述ocx控件的原始路徑;所述幻燈片鏈接xml文檔存儲幻燈片中包含的對象的鏈接地址。
進一步地,所述第一解析單元包括:
查找單元,用于在所述幻燈片序列化xml文檔中查找選擇框元素;
第二獲取單元,用于獲取所述選擇框元素包含的控件子元素;
第三獲取單元,用于獲取所述控件子元素的編號屬性值。
進一步地,所述第二解析單元包括:
匹配單元,用于匹配所述編號與所述幻燈片鏈接xml文檔中第一元素的編號屬性值,得到匹配結(jié)果;
第四獲取單元,用于若所述匹配結(jié)果為匹配成功,則獲取所述第一元素的路徑屬性值。
由上述描述可知,本發(fā)明提供的加載ocx控件的系統(tǒng)實現(xiàn)pptx格式文件存儲于任一路徑下都能正確加載當前放映的幻燈片所包含的ocx控件。
實施例:
s1、解析pptx格式文件至預設的臨時文件夾;
其中,將pptx格式文件解壓至臨時文件夾temp下,當pptx格式文件關閉時系統(tǒng)會自動刪除臨時文件夾temp。
全屏狀態(tài)下獲取當前放映幻燈片的頁碼“#”,解析第#頁幻燈片,得到第#頁幻燈片序列化文件和第#頁幻燈片鏈接文件。第#頁幻燈片序列化文件為xml文檔格式,存放該頁幻燈片所包含的所有對象數(shù)據(jù),如:第2頁幻燈片序列化文件保存為slide2.xml。第#頁幻燈片鏈接文件為rels格式文件,存放所有圖片、視頻、音頻、控件等對象數(shù)據(jù)的鏈接地址,如:第2頁幻燈片鏈接文件保存為slide2.xml.rels。
s2、獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片所包含的ocx控件的原始路徑;
s21、獲取所述pptx格式文件中處于放映狀態(tài)的幻燈片的頁碼“#”;
s22、解析與所述頁碼對應的幻燈片序列化xml文檔,得到所述ocx控件的編號;
其中,讀取temp文件夾中的slide#.xml文件;在slide#.xml文件中通過查找標簽mc:choice獲取選擇框元素;識別選擇框元素中標簽p:control(控件)中r:id(標識號)項的值key;如key的值為rid2,表示第#頁幻燈片中包含編號為rid2的ocx控件;
s23、根據(jù)所述編號解析與所述頁碼對應的幻燈片鏈接xml文檔,得到所述ocx控件的原始路徑;所述幻燈片鏈接xml文檔存儲幻燈片中包含的對象的鏈接地址;
其中,讀取temp文件夾中的slide#.xml.rels文件,從頭到尾匹配標簽,找到id(標識號)項的值為key(rid2)的標簽項,然后獲取該標簽的target(目標)項的值path;讀取path路徑的對應文件,從頭到尾匹配標簽,找到ax:name(名稱)項的值為“url”的標簽項,然后獲取該標簽的ax:value項的值value,value的值即制作該pptx格式文件時,該ocx控件的原始路徑。
s3、根據(jù)所述ocx控件的原始路徑和所述臨時文件夾的絕對路徑,得到所述ocx控件的當前絕對路徑;
s4、chromium嵌入式框架根據(jù)所述當前絕對路徑加載所述ocx控件。
綜上所述,本發(fā)明提供的一種加載ocx控件的方法及系統(tǒng),通過在打開pptx格式文件的過程中將ocx控件拷貝至特定的臨時文件夾下,并重新獲取臨時文件夾中ocx控件的鏈接地址為該ocx控件的當前絕對路徑,使得在使用ocx控件的絕對路徑作為鏈接地址制作幻燈片的情況下,實現(xiàn)pptx格式文件存儲于任一路徑下都能根據(jù)ocx控件在特定的臨時文件夾中的絕對路徑正確加載對應的ocx控件。進一步地,自動解析當前放映的幻燈片中包括的ocx控件鏈接地址,從而實現(xiàn)播放幻燈片時自動播放幻燈片所包括的ocx控件。進一步地,本發(fā)明提供的加載ocx控件的系統(tǒng)實現(xiàn)pptx格式文件存儲于任一路徑下都能正確加載當前放映的幻燈片所包含的ocx控件。
以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關的技術(shù)領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。