本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種批量打印版式文件的方法及系統(tǒng)。
背景技術(shù):
目前國(guó)稅總局大力推行增值稅電子發(fā)票,使得pdf電子發(fā)票成為當(dāng)前時(shí)代的產(chǎn)物,而大量電子發(fā)票在面臨報(bào)銷時(shí)的批量打印問題,即成為用戶亟待解決的一個(gè)問題。
adobereader(也被稱為acrobatreader)是美國(guó)adobe公司開發(fā)的一款pdf文件閱讀軟件,被廣泛用于打印和查閱pdf文件,是很多用戶打印pdf文件及電子發(fā)票pdf版式文件的首選軟件。
目前,adobereader軟件在文件打印時(shí),因?yàn)闆]有批量打印功能,從而無法實(shí)現(xiàn)同時(shí)對(duì)大量pdf文件的打印,而目前現(xiàn)有的打印接口在批量打印pdf文件時(shí),經(jīng)常因?yàn)橛?jì)算機(jī)中沒有安裝與pdf文檔對(duì)應(yīng)的字體,出現(xiàn)無法識(shí)別pdf文檔中字體的現(xiàn)象,導(dǎo)致pdf文件輸出時(shí)出現(xiàn)亂碼,使用戶對(duì)pdf批量打印功能體驗(yàn)較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了一種批量打印版式文件的方法及系統(tǒng),用于實(shí)現(xiàn)版式文件的批量打印。
本發(fā)明實(shí)施例一方面提供了一種批量打印版式文件的方法,包括:
獲取打印對(duì)象;
確定打印對(duì)象的數(shù)量;
根據(jù)數(shù)量,調(diào)用預(yù)置的循環(huán)指令和打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印。
可選的,獲取打印對(duì)象包括:
接收用戶導(dǎo)入的打印對(duì)象;
或,
主動(dòng)讀取打印對(duì)象。
可選的,在根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令之后,所述方法還包括:
顯示當(dāng)前打印對(duì)象的打印進(jìn)程。
可選的,調(diào)用循環(huán)指令和第一打印指令,包括:通過api接口調(diào)用循環(huán)指令和第一打印指令。
可選的,版式文件包括:
pdf格式文件或ofd格式文件。
可選的,第一指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令包括:
第一指令用于自動(dòng)獲取版式文件閱讀器的存儲(chǔ)位置及打印指令;
或,
第一指令用于手動(dòng)獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
可選的,所述方法還包括:
啟動(dòng)多線程處理指令。
可選的,打印對(duì)象的數(shù)量大于等于1。
本發(fā)明實(shí)施例另一方面提供了一種批量打印版式文件系統(tǒng),包括:
獲取單元,用于獲取打印對(duì)象;
確定單元,用于確定打印對(duì)象的數(shù)量;
調(diào)用單元,用于根據(jù)數(shù)量,調(diào)用預(yù)置的循環(huán)指令和打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印。
可選的,獲取單元包括:
第一獲取模塊,用于接收用戶導(dǎo)入的打印對(duì)象;
或,
第二獲取模塊,用于主動(dòng)讀取打印對(duì)象。
可選的,所述系統(tǒng)還包括:
顯示單元,用于顯示當(dāng)前打印對(duì)象的打印進(jìn)程。
可選的,調(diào)用循環(huán)指令和第一打印指令,包括:通過api接口調(diào)用循環(huán)指令和第一打印指令。
可選的,第一指令用于獲取版式閱讀器的存儲(chǔ)位置及打印指令包括:
第一指令用于自動(dòng)獲取版式文件閱讀器的存儲(chǔ)位置及打印指令;
或,
第一指令用于手動(dòng)獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
可選的,所述系統(tǒng)還包括:
啟動(dòng)單元,用于啟動(dòng)多線程處理指令。
從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):本方案在獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過預(yù)置的循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
附圖說明
圖1為一種批量打印版式文件的方法的一個(gè)實(shí)施例示意圖;
圖2為一種批量打印版式文件的方法的另一個(gè)實(shí)施例示意圖;
圖3為一種批量打印版式文件的方法的另一個(gè)實(shí)施例示意圖
圖4為一種批量打印版式文件的系統(tǒng)的一個(gè)實(shí)施例示意圖;
圖5為一種批量打印版式文件的系統(tǒng)的另一個(gè)實(shí)施例示意圖;
圖6為一種批量打印版式文件的系統(tǒng)的另一個(gè)實(shí)施例示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供了一種批量打印版式文件的方法及系統(tǒng),用于實(shí)現(xiàn)版式文件的批量打印功能,避免出現(xiàn)亂碼現(xiàn)象。
為便于理解,下面描述本發(fā)明實(shí)施例中的一種批量打印版式文件的方法,請(qǐng)參閱圖1,本發(fā)明中一種批量打印版式文件的方法的一個(gè)實(shí)施例,包括:
101、獲取打印對(duì)象;
批量打印版式文件的系統(tǒng)打印版式文件前,需要先獲取版式打印文件,在獲取打印文件后,執(zhí)行打印指令,對(duì)版式文件進(jìn)行打印。其中,批量打印版式文件的系統(tǒng),可以通過多種方式獲取版式文件,對(duì)于獲取方式,在下面的實(shí)施例中進(jìn)行詳細(xì)描述。
102、確定打印對(duì)象的數(shù)量;
批量打印版式文件的系統(tǒng)獲取版式打印文件后,需要確定打印文件的數(shù)量,根據(jù)打印文件的數(shù)量去執(zhí)行循環(huán)指令中循環(huán)的次數(shù)。
103、根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
批量打印版式文件的系統(tǒng)在獲取打印文件的數(shù)量后,調(diào)用循環(huán)指令和第一打印指令,將需要打印文件的數(shù)量賦予給循環(huán)指令,使得循環(huán)指令按照需要打印文件的數(shù)量去循環(huán)執(zhí)行第一打印指令,其中第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令,利用版式文件的打印指令對(duì)獲取到的版式文件進(jìn)行打印。
其中版式文件包括:pdf格式的文件或ofd格式的文件,而第一打印指令可以通過多種方式獲取版式文件閱讀器的存儲(chǔ)位置及打印指令,對(duì)于具體的獲取方式,在下面的實(shí)施例中進(jìn)行詳細(xì)描述。
需要說明的是,本實(shí)施例中的第一打印指令是通過c++技術(shù)來開發(fā)的,具體的實(shí)現(xiàn)方式如下:
第一指令的封裝函數(shù)如下,intprintpdf(char*exenamechar*pdffilename)
實(shí)現(xiàn)細(xì)節(jié)如下:
if(!fileexists(afilename)){
showmessage(afilename+"不存在");
return-1;
}
startupinfosi;
process_informationpi;
zeromemory(&si,sizeof(si));
si.cb=sizeof(si);
zeromemory(&pi,sizeof(pi));
si.dwflags=startf_useshowwindow;//設(shè)置隱藏執(zhí)行窗口
si.wshowwindow=sw_hide;
strings=exename+"/p/h"+afilename;
createprocess(null,s.c_str(),
null,null,false,0,null,null,&si,&pi);
其中exename為adobereader安裝目錄中的獨(dú)立程序名acrord32.exe
pdffilename為傳入的本地pdf全路徑。
本實(shí)施例在獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
下面來詳細(xì)描述本發(fā)明實(shí)施例中的一種批量打印版式文件的方法,其中批量打印版式文件的系統(tǒng)可以通過多種方式來獲取打印對(duì)象,下面從各方面來進(jìn)行描述:
一、接收用戶導(dǎo)入的打印對(duì)象;
201、接收用戶導(dǎo)入的打印對(duì)象;
批量打印版式文件的系統(tǒng)在打印版式文件前,需要先獲取打印對(duì)象,本實(shí)施例中的打印對(duì)象即為pdf文件或ofd文件,版式文件的數(shù)量可以為1個(gè)或多個(gè),其中系統(tǒng)可以通過用戶導(dǎo)入的方式去獲取打印文件,這樣,方便用戶根據(jù)自己的需求導(dǎo)入文件。
可以理解的是,用戶在導(dǎo)入文件的過程中可能出錯(cuò),所以系統(tǒng)在用戶導(dǎo)入文件后,允許用戶對(duì)導(dǎo)入的文件進(jìn)行查看,方便用戶再次確認(rèn),用戶確認(rèn)完成后,篩選出需要打印的文件,如果導(dǎo)入的文件全部為打印對(duì)象,用戶則可以通過勾選全部打印選項(xiàng),讓系統(tǒng)最終確認(rèn)用戶需要打印的文件。
例如:企業(yè)需要對(duì)pdf電子發(fā)票文件進(jìn)行打印,首先需要用戶給系統(tǒng)導(dǎo)入電子發(fā)票文件,用戶可以通過點(diǎn)擊文件夾的形式導(dǎo)入要打印的電子發(fā)票,也可以逐一導(dǎo)入電子發(fā)票,用戶導(dǎo)入過程中,或?qū)胪瓿珊?,若發(fā)現(xiàn)選錯(cuò)了一張或幾張pdf版電子發(fā)票,可以通過對(duì)導(dǎo)入的電子發(fā)票文件查看時(shí),重新選取要打印的電子發(fā)票,以對(duì)最終打印的電子發(fā)票進(jìn)行確認(rèn),若查看時(shí),沒有發(fā)現(xiàn)導(dǎo)入錯(cuò)誤的電子發(fā)票,則可以勾選全部打印選項(xiàng),以完成最終電子發(fā)票的確認(rèn),系統(tǒng)即可接收到用戶導(dǎo)入的pdf版電子發(fā)票。
202、確定打印對(duì)象的數(shù)量;
批量打印版式文件的系統(tǒng)接收到用戶導(dǎo)入的電子發(fā)票后,需要確定用戶打印版式文件的數(shù)量,以用于對(duì)循環(huán)指令進(jìn)行賦值,以達(dá)到接下來循環(huán)調(diào)用打印指令的作用。其中,系統(tǒng)對(duì)于版式文件數(shù)目的統(tǒng)計(jì)可以通過計(jì)數(shù)器或統(tǒng)計(jì)函數(shù)來實(shí)現(xiàn),此處,對(duì)于確定電子發(fā)票數(shù)目的實(shí)現(xiàn)方式不做具體限制。
例如:系統(tǒng)確認(rèn)用戶需要打印的電子發(fā)票為5張,則給循環(huán)指令賦值為5,以達(dá)到接下來對(duì)打印指令調(diào)用5次的作用。
203、根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令;
批量打印版式文件的系統(tǒng)在確定了版式文件的數(shù)量后,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)用戶選取的版式文件進(jìn)行打印,其中版式文件的數(shù)量值用于給循環(huán)指令賦值,以達(dá)到循環(huán)調(diào)用第一打印指令的目的,而第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令,以達(dá)到通過調(diào)用第一指令去調(diào)用版式閱讀器的打印指令,從而實(shí)現(xiàn)通過循環(huán)指令循環(huán)調(diào)用版式文件閱讀器自身打印指令的作用,達(dá)到多次打印版式文件,即批量打印版式文件的目的。本實(shí)施例中,為了方便本方案與其他應(yīng)用的結(jié)合,本方案中的循環(huán)指令和第一打印指令支持api接口調(diào)用,可以方便其他應(yīng)用程序?qū)Ρ鞠到y(tǒng)的調(diào)用。
其中,第一打印指令可以自動(dòng)調(diào)取版式文件閱讀器的存儲(chǔ)位置及打印指令,或者在自動(dòng)調(diào)取版式文件閱讀器的存儲(chǔ)位置及打印指令失敗后,提示用戶手動(dòng)設(shè)置版式文件閱讀器的存儲(chǔ)位置,讓用戶手動(dòng)設(shè)置版式文件閱讀器的存儲(chǔ)位置及打印指令,可以理解的是,批量打印版式文件系統(tǒng)在用戶對(duì)版式文件閱讀器的存儲(chǔ)位置進(jìn)行一次設(shè)置后,可以對(duì)版式文件閱讀器的存儲(chǔ)位置進(jìn)行存儲(chǔ),從而便于系統(tǒng)在以后的調(diào)用中實(shí)現(xiàn)自動(dòng)調(diào)取。
例如:批量打印版式文件系統(tǒng)確定用戶打印不同的pdf版式的電子發(fā)票5張,則在用戶選擇打印的電子發(fā)票后,可以通過計(jì)數(shù)器或統(tǒng)計(jì)函數(shù)確定電子發(fā)票的數(shù)值為5,然后調(diào)用循環(huán)指令和第一打印指令,其中數(shù)值5用于給循環(huán)指令中的循環(huán)次數(shù)賦值,第一打印指令用于調(diào)用pdf閱讀器的存儲(chǔ)位置和打印指令,以達(dá)到循環(huán)調(diào)用pdf閱讀器打印指令5次的作用,從而實(shí)現(xiàn)pdf閱讀器自動(dòng)對(duì)pdf文件的循環(huán)打印,即批量打印的目的。
需要說明的是,本實(shí)施例中的第一打印指令是通過c++技術(shù)來開發(fā)的,具體的實(shí)現(xiàn)方式如下:
第一指令的封裝函數(shù)如下,intprintpdf(char*exenamechar*pdffilename)
實(shí)現(xiàn)細(xì)節(jié)如下:
if(!fileexists(afilename)){
showmessage(afilename+"不存在");
return-1;
}
startupinfosi;
process_informationpi;
zeromemory(&si,sizeof(si));
si.cb=sizeof(si);
zeromemory(&pi,sizeof(pi));
si.dwflags=startf_useshowwindow;//設(shè)置隱藏執(zhí)行窗口
si.wshowwindow=sw_hide;
strings=exename+"/p/h"+afilename;
createprocess(null,s.c_str(),
null,null,false,0,null,null,&si,&pi);
其中exename為adobereader安裝目錄中的獨(dú)立程序名acrord32.exe
pdffilename為傳入的本地pdf全路徑。
204、顯示當(dāng)前打印對(duì)象的打印進(jìn)程;
系統(tǒng)在實(shí)現(xiàn)對(duì)版式文件對(duì)象打印的過程中,可以通過顯示打印進(jìn)程指令,對(duì)當(dāng)前打印的版式文件的打印進(jìn)程進(jìn)行顯示,以方便用戶查看版式文件的打印情況。需要說明的是,步驟204一般與步驟203同時(shí)執(zhí)行,若用戶不希望顯示打印進(jìn)程,則不用執(zhí)行步驟204。此處為了描述方便,將步驟204放于203之后。
例如:系統(tǒng)在打印5張pdf電子發(fā)票的過程中,若用戶選取了顯示打印進(jìn)程指令,則系統(tǒng)在打印當(dāng)前pdf電子發(fā)票時(shí),會(huì)顯示當(dāng)前電子發(fā)票的打印進(jìn)程,其中對(duì)于打印進(jìn)程可以是以百分比的形式來顯示,也可以是以進(jìn)度條的形式來顯示,此處對(duì)于打印進(jìn)程的顯示形式不做具體限制。若用戶不希望顯示打印進(jìn)程,則不執(zhí)行步驟204。
205、啟動(dòng)多線程處理指令。
線程是計(jì)算機(jī)程序中一個(gè)單一的順序控制指令,在單個(gè)程序中同時(shí)運(yùn)行多個(gè)線程,完成不同的工作,稱為多線程處理指令。而版式文件批量打印系統(tǒng)在批量打印版式文件的過程中,可以開啟多線程處理指令,例如:系統(tǒng)在打印第一個(gè)pdf文件的過程中,同時(shí)可以接受第二個(gè)pdf文件的打印指令,即為批量打印pdf文件中的多線程處理指令。需要說明的是,步驟205在本方法中沒有時(shí)序限制,可以放在步驟201至204中的任一步驟之前或之后執(zhí)行。
本實(shí)施例在獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
其次,本實(shí)施例在批量打印版式文件的過程中,可以通過啟動(dòng)多線程處理指令來提高版式文件的打印效率,同時(shí)通過顯示打印進(jìn)程指令來顯示當(dāng)前版式文件的打印進(jìn)程,提高了用戶的使用體驗(yàn)。
二、主動(dòng)讀取打印對(duì)象;
301、主動(dòng)讀取打印對(duì)象;
批量打印版式文件的系統(tǒng)在打印版式文件前,需要先獲取打印對(duì)象,本實(shí)施例中的打印對(duì)象即為pdf或ofd文件,版式文件的數(shù)量可以為1個(gè)或多個(gè),其中系統(tǒng)可以主動(dòng)實(shí)時(shí)或定時(shí)讀取版式文件,可以每隔2小時(shí)或每隔3小時(shí)主動(dòng)讀取需要打印的版式文件,當(dāng)有需要打印的版式文件時(shí),即進(jìn)行接下來的操作。
可以理解的是,系統(tǒng)讀取到需要打印的版式文件后,如果用戶沒有進(jìn)行查看,則系統(tǒng)默認(rèn)對(duì)全部版式文件進(jìn)行打印,若用戶進(jìn)行主動(dòng)查看,則可以通過用戶的選取指令,來確認(rèn)最終需要打印的版式文件的數(shù)目。
例如:企業(yè)需要打印大量的pdf電子發(fā)票時(shí),可以對(duì)系統(tǒng)進(jìn)行設(shè)置,讓系統(tǒng)每隔2小時(shí)或3小時(shí)去讀取固定位置存儲(chǔ)的電子發(fā)票,若發(fā)現(xiàn)存儲(chǔ)有電子發(fā)票,則默認(rèn)對(duì)該電子發(fā)票進(jìn)行打印,這樣,可以減少用戶操作,在用戶需要打印電子發(fā)票時(shí),只需將電子發(fā)票導(dǎo)入并存儲(chǔ)到固定位置,而且對(duì)于企業(yè)用戶,可以設(shè)置系統(tǒng)去讀取不同用戶固定存儲(chǔ)位置的電子發(fā)票,從而實(shí)現(xiàn)企業(yè)內(nèi)不同用戶對(duì)于電子發(fā)票打印的需求,提高用戶的使用體驗(yàn)。
302、確定打印對(duì)象的數(shù)量;
303、根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令;
304、顯示當(dāng)前打印對(duì)象的打印進(jìn)程;
305、啟動(dòng)多線程處理指令。
需要說明的是,本實(shí)施例中的步驟302至305與圖2所述實(shí)施例中步驟202至205類似,具體此處不再贅述。
本實(shí)施例在獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
其次,本實(shí)施例在批量打印版式文件的過程中,可以通過啟動(dòng)多線程處理指令來提高版式文件的打印效率,同時(shí)通過顯示打印進(jìn)程指令來顯示當(dāng)前版式文件的打印進(jìn)程,提高了用戶的使用體驗(yàn)。
上面描述了本發(fā)明實(shí)施例中一種批量打印版式文件的方法,下面來描述本發(fā)明中一種批量打印版式文件的系統(tǒng),請(qǐng)參閱圖4,本發(fā)明中一種批量打印版式文件的系統(tǒng),包括:
獲取單元401,用于獲取打印對(duì)象;
確定單元402,用于確定所述打印對(duì)象的數(shù)量;
調(diào)用單元403,用于根據(jù)所述數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)所述打印對(duì)象的打印,所述第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
需要說明的是,本實(shí)施例中各單元的作用與圖1所述實(shí)施例中批量打印版式文件的系統(tǒng)的作用類似,具體此處不再贅述。
本實(shí)施例通過獲取單元401及確定單元402,在獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過調(diào)用單元403調(diào)用循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
為方便理解,下面詳細(xì)描述本發(fā)明實(shí)施例中的一種批量打印版式文件的系統(tǒng),其中批量打印版式文件的系統(tǒng)可以通過多種方式來獲取打印對(duì)象,下面從各方面來描述:
一、接收用戶導(dǎo)入的打印對(duì)象;
請(qǐng)參閱圖5,本發(fā)明實(shí)施例中一種批量打印版式文件的系統(tǒng)的另一個(gè)實(shí)施例包括:
獲取單元501,用于獲取打印對(duì)象;
確定單元502,用于確定打印對(duì)象的數(shù)量;
調(diào)用單元503,用于根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
除上述單元外,所述系統(tǒng)還包括:
顯示單元504,用于顯示當(dāng)前打印對(duì)象的打印進(jìn)程。
啟動(dòng)單元505,用于啟動(dòng)多線程處理指令。
其中,獲取單元501包括:
第一獲取模塊5011,用于接收用戶導(dǎo)入的打印對(duì)象。
可選的,第一打印指令可以通過自動(dòng)或手動(dòng)的方式去獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
需要說明的是,本實(shí)施例中各單元或各模塊的作用與圖2所述實(shí)施例中批量打印版式文件的系統(tǒng)的作用類似,具體此處不再贅述。
本實(shí)施例在通過第一獲取模塊5011及確定單元502獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過調(diào)用單元503調(diào)用循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
其次,本實(shí)施例在批量打印版式文件的過程中,可以通過啟動(dòng)單元505啟動(dòng)多線程處理指令來提高版式文件的打印效率,同時(shí)通過顯示單元504來顯示當(dāng)前版式文件的打印進(jìn)程,提高了用戶的使用體驗(yàn)。
二、主動(dòng)讀取打印對(duì)象;
請(qǐng)參閱圖6,本發(fā)明實(shí)施例中一種批量打印版式文件的系統(tǒng)的另一個(gè)實(shí)施例包括:
獲取單元601,用于獲取打印對(duì)象;
確定單元602,用于確定打印對(duì)象的數(shù)量;
調(diào)用單元603,用于根據(jù)數(shù)量,調(diào)用循環(huán)指令和第一打印指令,實(shí)現(xiàn)對(duì)打印對(duì)象的打印,第一打印指令用于獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
除上述單元外,所述系統(tǒng)還包括:
顯示單元604,用于顯示當(dāng)前打印對(duì)象的打印進(jìn)程。
啟動(dòng)單元605,用于啟動(dòng)多線程處理指令。
其中,獲取單元601包括:
第二獲取模塊6012,用于主動(dòng)讀取打印對(duì)象;
可選的,第一打印指令可以通過自動(dòng)或手動(dòng)的方式去獲取版式文件閱讀器的存儲(chǔ)位置及打印指令。
需要說明的是,本實(shí)施例中各單元或各模塊的作用與圖3所述實(shí)施例中批量打印pdf文件的系統(tǒng)的作用類似,具體此處不再贅述。
本實(shí)施例在通過第二獲取模塊6012及確定單元602獲取打印對(duì)象,確定打印對(duì)象數(shù)量后,通過調(diào)用單元603調(diào)用循環(huán)指令和第一打印指令,直接調(diào)用版式文件閱讀器自身的打印指令,從而實(shí)現(xiàn)對(duì)版式文件閱讀軟件自身打印指令的循環(huán)調(diào)用,進(jìn)一步實(shí)現(xiàn)對(duì)多個(gè)版式文件的打印功能;而且版式文件閱讀器自身具備完善的字體庫,避免了打印過程中亂碼的出現(xiàn)。
其次,本實(shí)施例在批量打印版式文件的過程中,可以通過啟動(dòng)單元605啟動(dòng)多線程處理指令來提高版式文件的打印效率,同時(shí)通過顯示單元604來顯示當(dāng)前版式文件的打印進(jìn)程,提高了用戶的使用體驗(yàn)。
可以理解的是,本發(fā)明實(shí)施例中,可批量打印版式文件的系統(tǒng)還可以從硬件角度出發(fā)進(jìn)行描述,本發(fā)明實(shí)施例的系統(tǒng)包括:處理器、存儲(chǔ)器以及存儲(chǔ)在存儲(chǔ)器中并可在處理器上運(yùn)行的計(jì)算機(jī)程序,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述各個(gè)方法實(shí)施例中基于系統(tǒng)操作的步驟,或者,處理器執(zhí)行計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述實(shí)施例中系統(tǒng)的各模塊的功能,相同部分可參照前文,此處不再贅述。
示例性的,計(jì)算機(jī)程序可以被分割成一個(gè)或多個(gè)模塊/單元,一個(gè)或者多個(gè)模塊/單元被存儲(chǔ)在存儲(chǔ)器中,并由處理器執(zhí)行,以完成本發(fā)明。一個(gè)或多個(gè)模塊/單元可以是能夠完成特定功能的一系列計(jì)算機(jī)程序指令段,該指令段用于描述計(jì)算機(jī)程序在系統(tǒng)中的執(zhí)行過程,具體可參照系統(tǒng)的各模塊的說明,此處不再贅述。
其中,系統(tǒng)可包括但不僅限于處理器、存儲(chǔ)器,本領(lǐng)域技術(shù)人員可以理解,該說明僅僅是系統(tǒng)的示例,并不構(gòu)成對(duì)系統(tǒng)的限定,可以包括比該說明更多或更少的部件,或者組合某些部件,或者不同的部件,例如系統(tǒng)還可以包括輸入輸出設(shè)備、網(wǎng)絡(luò)接入設(shè)備、總線等。
所稱處理器可以是中央處理單元(centralprocessingunit,cpu),還可以是其他通用處理器、數(shù)字信號(hào)處理器(digitalsignalprocessor,dsp)、專用集成電路(applicationspecificintegratedcircuit,asic)、現(xiàn)成可編程門陣列(field-programmablegatearray,fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件等。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等,處理器是系統(tǒng)的控制中心,利用各種接口和線路連接整個(gè)系統(tǒng)的各個(gè)部分。
存儲(chǔ)器可用于存儲(chǔ)計(jì)算機(jī)程序和/或模塊,處理器通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器內(nèi)的計(jì)算機(jī)程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器內(nèi)的數(shù)據(jù),實(shí)現(xiàn)系統(tǒng)的各種功能。存儲(chǔ)器可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如補(bǔ)丁庫)等。此外,存儲(chǔ)器可以包括高速隨機(jī)存取存儲(chǔ)器,還可以包括非易失性存儲(chǔ)器,例如硬盤、內(nèi)存、插接式硬盤,智能存儲(chǔ)卡(smartmediacard,smc),安全數(shù)字(securedigital,sd)卡,閃存卡(flashcard)、至少一個(gè)磁盤存儲(chǔ)器件、閃存器件、或其他易失性固態(tài)存儲(chǔ)器件。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(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),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。