專利名稱:一種高速轉(zhuǎn)換文件的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機領(lǐng)域,特別涉及一種高速轉(zhuǎn)換文件的方法。
背景技術(shù):
隨著科技的進歩,交互式電子黑板作為演示平臺已經(jīng)進入各行各業(yè),在提 高企業(yè)和個人的工作效率、演示質(zhì)量等方面已經(jīng)起到很重要的作用。在演示軟 件中,對一些文檔的使用越來越頻繁,也顯的越來越重要,為了把一些常用的
文檔(如OFFICE、 PDF、文本等)跟演示軟件更好的結(jié)合使用,通過轉(zhuǎn)換將 文檔轉(zhuǎn)換為圖片導(dǎo)入到演示軟件中己經(jīng)成為很重要的部分。轉(zhuǎn)換文件在演示和 演講中,要使用文檔(例如Office文檔、PDF、 TXT等文檔)時,需要把文檔 的內(nèi)容轉(zhuǎn)換為圖片導(dǎo)入到演示軟件中進行批注和演示,以提高演示和演講的效率。
目前已經(jīng)存在利用虛擬打印機的技術(shù)進行轉(zhuǎn)換圖片,虛擬打印機是在沒有 安裝打印機的情況下通過打印預(yù)覽功能查看輸出效果,給未安裝打印機的用戶 帶來方便。簡單地說,虛擬打印機就是在計算機中添加一個虛擬的打印機并使 用它來打印,其效率跟打印機差不多,都是通過驅(qū)動把打印的內(nèi)容輸出到打印 設(shè)備上進行打印的,用虛擬打印機打印的結(jié)果是用專門的閱讀器打開硬盤上的 一個文件以査看打印的效果。但是要打印的文擋對應(yīng)的軟件必須具有打印功 能,因此不能解決沒有打印功能軟件所生成文檔的虛擬打印,而且在虛擬打印 機和演示軟件的結(jié)合上有困難,在打印的速度和效率上比較低,必須通過用對 應(yīng)軟件打開文檔后才能進行打印。
為了解決這些問題,提出了新的方式進行文件轉(zhuǎn)換,以提高圖片轉(zhuǎn)換的速 度和效率,可以容易的跟軟件結(jié)合使用,減少在文件轉(zhuǎn)換過程中的麻煩。目前 釆用虛擬打印機的方式進行轉(zhuǎn)換,該轉(zhuǎn)換辦法類似打印機,通過軟件提供的打 印功能把內(nèi)容輸出到打印設(shè)備,把內(nèi)容打印為圖片到某個目錄,打印完后才能 通知演示軟件進行圖片的讀取,在這里保存和打開圖片將消耗很長的時間。這 種打印方式存在以下不足
1、 轉(zhuǎn)換圖片速度和效率不高。軟件必須通過驅(qū)動把文檔的內(nèi)容輸出到打 印設(shè)備中,然后通過打印設(shè)備把要打印的內(nèi)容打印出來,調(diào)用驅(qū)動程序是比較 慢的操作,必須通過很多的檢測,如檢測是否符合打印驅(qū)動,是否是默認(rèn)打 印機等,而且存在幾個文檔同時調(diào)用同一個虛擬打印機打印的可能性,這時就 存在沖突,必須等待上一個文件打印完成才能打印。
2、 使用不方便。只有支持SHELL打印的才能直接打印,其他必須通過 啟動對應(yīng)的軟件進行打印輸出。在演示軟件中,為了提高軟件演示的效率,通 過將常用的文檔轉(zhuǎn)換為圖片導(dǎo)入到演示軟件中進行講解和批注。但是軟件如果 使用虛擬打印機直接轉(zhuǎn)換,那么在技術(shù)上,這些打印的文檔必須支持SHELL 打印。
3、 支持的文檔類型比較少,操作煩瑣,而且只有支持SHELL打印的才 能跟演示軟件結(jié)合,不支持的就必須通過手動打印后才能導(dǎo)入到演示軟件中。 在演示軟件中就是為了提高演示效率,減少用戶操作的煩瑣性,而對于不支持 SHELL打印的文檔,用戶必須先打開要打印的文檔,調(diào)用菜單中的打印功能, 選擇虛擬打印機后打印為圖片到某個目錄,然后在演示軟件中插入這些圖片, 這些操作增加了打印的復(fù)雜性和煩瑣性, 一定程度上使用不方便。
4、 開發(fā)該類型的虛擬打印機難度比較大,必須符合打印機驅(qū)動的要求。
5、 外部軟件使用打印不能中途取消。由于虛擬打印機是一個獨立的打印 驅(qū)動,演示軟件要跟蹤打印過程有一定難度,要取消打印更加困難,必須通過 打開打印機進行取消打印。
6、 對軟件的依賴性強。對于不支持SHEEL打印的文檔,必須通過軟件 中的打印才能進行打印,轉(zhuǎn)換時必須通過軟件先打開文檔,因此比較依賴于軟 件。
7、 虛擬打印機打印的圖片只有保存后才可以使用,因此多了保存、然后 在演示軟件中打開的步驟,如果圖片比較大,消耗的時間將會是很長,影響整 個操作時間。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的不足,提供一種轉(zhuǎn)換效率高、轉(zhuǎn)換效果 好的高速轉(zhuǎn)換文件的方法。
本發(fā)明通過以下技術(shù)方案實現(xiàn) 一種高速轉(zhuǎn)換文件的方法,包括以下步驟:
(1) 用戶選擇要打開的文檔,采用第三方軟件根據(jù)其類型判斷能否進行 轉(zhuǎn)換,并執(zhí)行其判斷結(jié)果
若判斷結(jié)果為是,則由第三方軟件打開文檔; 若判斷結(jié)果為否,則提示無法轉(zhuǎn)換該類型文檔,轉(zhuǎn)換結(jié)束;
(2) 文檔被打開后,判斷該文檔所支持的讀取方式 若判斷結(jié)果為支持直接數(shù)據(jù)讀取方式,則直接讀取用戶指定的內(nèi)容并保存
到內(nèi)存中,然后執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;
若判斷結(jié)果為支持復(fù)制剪貼板讀取方式,則將用戶指定的內(nèi)容復(fù)制到剪貼 板上,然后執(zhí)行步驟(3);
(3) 判斷剪貼板上用戶指定內(nèi)容的類型是否為圖片 若判斷結(jié)果為是,則直接執(zhí)行步驟(7)至轉(zhuǎn)換結(jié)束; 若判斷結(jié)果為否,則執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;
(4) 創(chuàng)建兼容的DC (Device Context,設(shè)備環(huán)境函數(shù))并創(chuàng)建圖片模板, 然后將圖片模板放入DC中;
(5) 在DC中讀取用戶指定的內(nèi)容將其畫到圖片模板中,然后對圖片進 行處理;
(6) 將圖片從DC上釋放出來;
(7) 根據(jù)設(shè)定的格式保存圖片到指定目錄或直接導(dǎo)入第三方軟件中;
(8) 判斷是否轉(zhuǎn)換完畢 若判斷結(jié)果為是,則轉(zhuǎn)換結(jié)束;
若判斷結(jié)果為否,則返回步驟(2)由其判斷結(jié)果開始執(zhí)行任務(wù)直至轉(zhuǎn)換結(jié)束。
其中,所述第三方軟件為使用了其它軟件接口的軟件,即演示軟件。本發(fā) 明所述的第一方軟件是文檔對應(yīng)的軟件,第二方軟件是別人在文檔對應(yīng)軟件 上開發(fā)封裝好的一些接口,第三方軟件是演示軟件,即在演示平臺中使用的 軟件;整個轉(zhuǎn)換的過程是在文件轉(zhuǎn)換軟件中完成,然后導(dǎo)入到演示軟件中, 在軟件轉(zhuǎn)換完一張圖片時,可以通知演示軟件導(dǎo)入圖片,直到轉(zhuǎn)換完為止。
步驟(2)中文檔支持讀取方式的判斷方法為在SDK開發(fā)包里查詢,主要 是看文檔對應(yīng)軟件是否提供直接讀取的接口 。
步驟(3)中判斷剪貼板上用戶指定內(nèi)容的類型是否為圖片時采用微軟提 供的接口。
步驟(4)所述創(chuàng)建兼容的DC時只需調(diào)用GDI+中的CreateCompatibleDC
函數(shù)創(chuàng)建即可;所述創(chuàng)建圖片模板包括設(shè)定圖片的顏色、背景及大小。
步驟(5)所述用戶指定的內(nèi)容為己保存在內(nèi)存中的支持直接數(shù)據(jù)讀取方 式的內(nèi)容,或已復(fù)制到剪貼板上的支持復(fù)制剪貼板讀取方式的內(nèi)容;其在DC 中讀取時采用windows中的一個調(diào)用函數(shù)PlayEnhMetaFile。所述對圖片進行 的處理包括對圖形進行旋轉(zhuǎn)、銳化或半透明處理,或者貼其它圖。 步驟(6)中釋放圖片時只需調(diào)用DC的SelectObject函數(shù)即可。 步驟(7)所述設(shè)定的格式為JPG、 PNG、 BMP、 GIF或TIF等常用的圖 片格式。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果
1、 提高轉(zhuǎn)換速度和效率,使在演示軟件中導(dǎo)入文件的速度快、效率高、
轉(zhuǎn)換內(nèi)容清楚,在效率上比一般虛擬打印機的效率高200%以上。
2、 適用范圍廣,對不支持SHELL打印的文件也可以進行轉(zhuǎn)換。
3、 可以跟蹤整個轉(zhuǎn)換過程,實現(xiàn)中途取消或者轉(zhuǎn)換指定某一頁;并且可 以根據(jù)用戶設(shè)置轉(zhuǎn)換頁面大小,文字顏色等效果,提高轉(zhuǎn)換的質(zhì)量;還可以判 斷文檔中的空頁,對其不進行轉(zhuǎn)換的處理。
4、 只要提供讀取文檔的函數(shù),即可脫離軟件,降低軟件的依賴性。
5、 轉(zhuǎn)換為圖片后可以不存為圖片,直接導(dǎo)入到演示軟件中,降低了整個 操作過程的時間。
圖1是本發(fā)明一種高速轉(zhuǎn)換文件的方法的流程圖。
具體實施例方式
下面結(jié)合實施例及附圖,對本發(fā)明作進一步的詳細說明,但本發(fā)明的實 施方式不限于此。 實施例
如圖1所示,本高速轉(zhuǎn)換文件的方法,其流程包括以下步驟 (1)用戶選擇要打開的文檔,采用第三方軟件(即演示軟件)根據(jù)其類 型判斷能否進行轉(zhuǎn)換,并執(zhí)行其判斷結(jié)果
若判斷結(jié)果為是,則由第三方軟件打開文檔;
若判斷結(jié)果為否,則提示無法轉(zhuǎn)換該類型文檔,轉(zhuǎn)換結(jié)束;
(2) 文檔被打開后,通過在SDK開發(fā)包里查詢,看文檔對應(yīng)軟件是否提 供直接讀取的接口,從而判斷該文檔所支持的讀取方式
若判斷結(jié)果為支持直接數(shù)據(jù)讀取方式,則直接讀取用戶指定的內(nèi)容并保存 到內(nèi)存中,然后執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;
若判斷結(jié)果為支持復(fù)制剪貼板讀取方式,則將用戶指定的內(nèi)容復(fù)制到剪貼 板上,然后執(zhí)行步驟(3);
(3) 采用微軟提供的接口實現(xiàn)判斷剪貼板上用戶指定內(nèi)容的類型是否為
圖片
若判斷結(jié)果為是,則直接執(zhí)行步驟(7)至轉(zhuǎn)換結(jié)束; 若判斷結(jié)果為否,則執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;
(4) 創(chuàng)建兼容的DC (Device Context,設(shè)備環(huán)境函數(shù))并根據(jù)用戶設(shè)定 的顏色、背景、大小等創(chuàng)建圖片模板,然后將圖片模板放入DC中;
(5) 通過windows中的一個調(diào)用函數(shù)PlayEnhMetaFile在DC中讀取用戶 指定的內(nèi)容,將其畫到圖片模板中,然后對圖片進行貼其它圖或?qū)D形進行旋 轉(zhuǎn)、銳化、半透明等處理;其中,用戶指定的內(nèi)容為已保存在內(nèi)存中的支持直 接數(shù)據(jù)讀取方式的內(nèi)容,或己復(fù)制到剪貼板上的支持復(fù)制剪貼板讀取方式的內(nèi) 容;
(6) 通過微軟提供的接口將圖片從DC上釋放出來,此過程只需要調(diào)用 DC的SelectObject函數(shù);
(7) 根據(jù)設(shè)定的格式保存圖片到指定目錄或直接導(dǎo)入第三方軟件中,其 中設(shè)定的格式包括JPG、 PNG、 BMP、 GIF或TIF等常用的圖片格式。
(8) 判斷是否轉(zhuǎn)換完畢 若判斷結(jié)果為是,則轉(zhuǎn)換結(jié)束;
若判斷結(jié)果為否,則返回步驟(2)由其判斷結(jié)果開始執(zhí)行任務(wù)直至轉(zhuǎn)換
結(jié)束c
如上所述,便可較好地實現(xiàn)本發(fā)明,上述實施例僅為本發(fā)明的較佳實施例, 并非用來限定本發(fā)明的實施范圍;即凡依本發(fā)明內(nèi)容所作的均等變化與修飾, 都為本發(fā)明權(quán)利要求所要求保護的范圍所涵蓋。
權(quán)利要求
1、一種高速轉(zhuǎn)換文件的方法,其特征在于,包括以下步驟(1)用戶選擇要打開的文檔,采用第三方軟件根據(jù)其類型判斷能否進行轉(zhuǎn)換,并執(zhí)行其判斷結(jié)果若判斷結(jié)果為是,則由第三方軟件打開文檔;若判斷結(jié)果為否,則提示無法轉(zhuǎn)換該類型文檔,轉(zhuǎn)換結(jié)束;(2)文檔被打開后,判斷該文檔所支持的讀取方式若判斷結(jié)果為支持直接數(shù)據(jù)讀取方式,則直接讀取用戶指定的內(nèi)容并保存到內(nèi)存中,然后執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;若判斷結(jié)果為支持復(fù)制剪貼板讀取方式,則將用戶指定的內(nèi)容復(fù)制到剪貼板上,然后執(zhí)行步驟(3);(3)判斷剪貼板上用戶指定內(nèi)容的類型是否為圖片若判斷結(jié)果為是,則直接執(zhí)行步驟(7)至轉(zhuǎn)換結(jié)束;若判斷結(jié)果為否,則執(zhí)行步驟(4)至轉(zhuǎn)換結(jié)束;(4)創(chuàng)建兼容的DC并創(chuàng)建圖片模板,然后將圖片模板放入DC中;(5)在DC中讀取用戶指定的內(nèi)容將其畫到圖片模板中,然后對圖片進行處理;(6)將圖片從DC上釋放出來;(7)根據(jù)設(shè)定的格式保存圖片到指定目錄或直接導(dǎo)入第三方軟件中;(8)判斷是否轉(zhuǎn)換完畢若判斷結(jié)果為是,則轉(zhuǎn)換結(jié)束;若判斷結(jié)果為否,則返回步驟(2)由其判斷結(jié)果開始執(zhí)行任務(wù)直至轉(zhuǎn)換結(jié)束。
2、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,所述第三 方軟件為演示軟件。
3、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(2) 中文檔支持讀取方式的判斷方法為在SDK開發(fā)包里查詢。
4、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(3) 中判斷剪貼板上用戶指定內(nèi)容的類型是否為圖片時采用微軟提供的接口。
5、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(4)所述創(chuàng)建圖片模板包括設(shè)定圖片的顏色、背景及大小。
6、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(5) 所述用戶指定的內(nèi)容為已保存在內(nèi)存中的支持直接數(shù)據(jù)讀取方式的內(nèi)容,或已復(fù)制到剪貼板上的支持復(fù)制剪貼板讀取方式的內(nèi)容;其在DC中讀取時采用 windows中的一個調(diào)用函數(shù)PlayEnhMetaFile。
7、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(5) 所述對圖片進行的處理包括對圖形進行旋轉(zhuǎn)、銳化或半透明處理,或者貼其它 圖。
8、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(6) 中釋放圖片時通過調(diào)用DC的SelectObject函數(shù)。
9、 根據(jù)權(quán)利要求1所述的高速轉(zhuǎn)換文件的方法,其特征在于,步驟(7) 所述設(shè)定的格式為JPG、 PNG、 BMP、 GIF或TIF格式。
全文摘要
本發(fā)明提供一種高速轉(zhuǎn)換文件的方法,通過在第三方軟件中完成整個文件的轉(zhuǎn)換過程,包括判斷文檔類型能否轉(zhuǎn)換、判斷文檔所支持的讀取方式、判斷剪貼板的內(nèi)容是否為圖片類型、將數(shù)據(jù)類型轉(zhuǎn)換成圖片類型并且根據(jù)設(shè)定的格式保存圖片到指定目錄或直接導(dǎo)入第三方軟件中使用,從而完成文件的轉(zhuǎn)換。本發(fā)明具有轉(zhuǎn)換效率高、轉(zhuǎn)換效果好、并且能降低文檔對相應(yīng)軟件的依賴性的優(yōu)點。
文檔編號G06F17/21GK101388003SQ20081019899
公開日2009年3月18日 申請日期2008年10月7日 優(yōu)先權(quán)日2008年10月7日
發(fā)明者徐蜀中, 陳先志 申請人:廣東威創(chuàng)視訊科技股份有限公司