向少斌
摘 要 隨著辦公環(huán)境質(zhì)對文件的需求,許多硬件設(shè)備上的電子資料需要打印機處理。由于打印過程中需要根據(jù)文件的格式、頁面來選擇打印機并設(shè)置打印機參數(shù),非常耗時耗力。尤其在文件數(shù)量較多以及文件格式復(fù)雜的情況下,人工操作更是顯得笨拙。為了解決以上問題,本文采用MFC技術(shù),結(jié)合VC++語言編寫圖形化程序,只要針對文件類型設(shè)置好打印參數(shù),文件就可以一鍵自動批量打印。通過實際使用表明,該程序可以對文件高效批量打印,并極大減少人工勞動,大大提升了實際工作效率。
【關(guān)鍵詞】文件 批量打印 自動化 VC++
資料打印已經(jīng)成為人們生活工作當中不可或缺的一部分,個人檔案存檔、學生畢業(yè)論文提交到圖書館、公司辦公文件打印等等。這些文件在打印過程中需要根據(jù)不同的文件格式調(diào)用相關(guān)程序,根據(jù)不同的文件幅面大小選擇相應(yīng)的打印機,并設(shè)置各種打印參數(shù)。例如打印 10 份 A4 大小的 word 文件、10 份 A3 大小的ppt文件和 10 份 A2 大小的pdf文件,需要調(diào)用 10 次 Microsoft Word 程序、10 次 Microsoft Power Point 程序和 10 次 Adobe Acrobat 程序,運行 30 次打印命令,按文件幅面大小分別選擇支持 A4 和 A3 幅面的小型打印機和支持 A2 幅面的大幅面打印機,并設(shè)置紙張來源等打印參數(shù)。以上過程若采取人工操作會非常耗時耗力,造成大量重復(fù)性低效率勞動。為進一步提高辦公效率,本文采用MFC技術(shù),結(jié)合VC++語言編寫了圖形化程序,只要針對文件類型設(shè)置好打印參數(shù),文件就可以批量打印。
1 VC++語言簡介
Microsoft Visual C++是Microsoft公司推出的開發(fā)Win32環(huán)境程序,面向?qū)ο蟮目梢暬删幊滔到y(tǒng)。它不但具有程序框架自動生成、靈活方便的類管理、代碼編寫和界面設(shè)計集成交互操作、可開發(fā)多種程序等優(yōu)點,而且通過簡單的設(shè)置就可使其生成的程序框架支持數(shù)據(jù)庫接口、OLE2,WinSock網(wǎng)絡(luò)、3D控制界面。它以擁有“語法高亮”,IntelliSense(自動編譯功能)以及高級除錯功能而著稱。比如,它允許用戶進行遠程調(diào)試,單步執(zhí)行等。還有允許用戶在調(diào)試期間重新編譯被修改的代碼,而不必重新啟動正在調(diào)試的程序。其編譯及建置系統(tǒng)以預(yù)編譯頭文件、最小重建功能及累加連結(jié)著稱。這些特征明顯縮短程式編輯、編譯及連結(jié)的時間花費,在大型軟件計劃上尤其顯著。
2 批量打印程序設(shè)計
2.1 文件打印過程分析
為了編寫批量打印圖形化程序,需要對整個批量文件打印過程進行相關(guān)分析。
(1)設(shè)置打印類型。根據(jù)不同的文件格式,預(yù)先設(shè)置好打印參數(shù)。
(2)讀取文件列表。從已選擇文件夾下選擇一個(或者文件列表第一個)文件。
(3)格式判斷。文件格式判斷是通過文件的后綴名進行識別,例如.doc、.pdf、.txt等。
(4)獲取打印設(shè)備列表。根據(jù)設(shè)備連接的打印設(shè)備,來獲取打印機的類型和打印機數(shù)量。
(5)選擇打印機并確定打印。根據(jù)第4步中獲取的打印機設(shè)備,選擇一個打印機并打印,在打印過程中才會執(zhí)行第3步。
(6)結(jié)束打印。文件批量打印結(jié)束后結(jié)束打印,關(guān)閉程序。
2.2 批量文件打印流程
批量文件打印流程如下:
(1)運行圖形化界面程序。
(2)選擇打印批量文件所在的目錄。
(3)設(shè)置不同格式文件的打印參數(shù),從設(shè)備列表選擇打印機并開始打印。
3 批量打印程序?qū)崿F(xiàn)
3.1 獲取文件目錄
根據(jù)用戶的輸入或者選擇,判斷目錄是否合法,主要代碼如下:
GetPath(constchar* path)
{
if(NULL==path || strlen(path)==0)//目錄判斷合法性
{
AfxMessageBox("目錄為空!",……);
判斷選擇的目錄是否合法,合法的保存文件目錄并顯示。
3.2 識別文件類型并打印文件
識別類型實現(xiàn)較為簡單,根據(jù)文件名,以符號”.”對字符串分割,第二個字符串代表文件類型,而打印函數(shù)則是選擇打開文件,并根據(jù)文件類型讀取數(shù)據(jù),然后發(fā)送給打印機打印的過程。而打印過程主要是讀取文件中的內(nèi)容,然后發(fā)送給選定打印機進行文件打印過程。主要設(shè)計代碼如下:
BeginPrint()//制定打印過程
{
……
for(inti=0;i { GetText(i,strPrintFile);//把文件內(nèi)容讀入緩沖區(qū) if(PrintFile(strPrintFile,m_Page) !=SUCCESS )//打印 AfxMessageBox("打印失?。?,MB_ICONERROR); return; AfxMessageBox("打印完畢!",MB_ICONINFORMATION); 4 使用總結(jié) 本圖形化程序編寫完后,已經(jīng)應(yīng)用到實際的辦公環(huán)境中,取得了良好的效果。利用圖形化程序,只需要簡單的選擇打印目錄,并根據(jù)文件類型設(shè)置好打印參數(shù),就可以批量的自動化打印,將人工打印步驟交由計算機來實現(xiàn),簡化了打印過程,實現(xiàn)了自動打印整個目錄中所有文件的目標,解除了重復(fù)勞動,極大地提升了工作效率。 參考文獻 [1]張忠?guī)?VC++ 2008專題應(yīng)用程序開發(fā)實例精講[M].電子工業(yè)出版社,2008. [2]張園.自動化技術(shù)在批量打印方面的應(yīng)用[J].電子測試,2014(08):05. [3]花的神明.輕松實現(xiàn)文檔批量打印操作[M].電子工業(yè)出版社,2010(07):15. 作者單位 廣東電網(wǎng)有限責任公司物流服務(wù)中心 廣東省廣州市 510630