最近功能做項目,需要實現打印條碼標簽的功能,對於第一次接觸打印機的小白來說簡直是折磨死我拉,公司采購的打印機是斑馬的GK888T,其實,如果單純的想實現能打印出來標簽的話,直接用window.print();然后配合css樣式調整打印紙尺寸基本上就可以實現,但是,為了方便倉庫的小哥工作上更加的簡便,使整個后台運行流程體驗度更好,需要實現直接打印,也就是不需要預覽不需要彈出頁面設置的寬口直接打印標簽,另外,打印參數也只需要設置一次。
找了很多資料,也試了幾個插件但是都沒有成功,最后安裝了jatoolsPrinter試用版的放在項目框架中試了一下,差不多能實現想要的效果,這里放一個jatoolsPrinter快速入門的視頻講解地址:http://print.jatools.com/tutorial/quickstart-2/quickstart-2.html 以及jatoolsPrinter使用手冊地址:http://print.jatools.com/guide.htm
直接上代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <script type="text/javascript" src="jatoolsPrinter.js"></script> <script> function doPrint(how) { var myDoc = {
settingsID:"mysettings1",//待保留的打印設置id,打印后將被保存在注冊表中,下一次啟動相同值的settingsID打印文檔時,控件將用保留的參數自動設置打印機 documents:document, // 要打印的div 對象在當前文檔document中
//控件將從本文檔中的#page1作為首頁打印,#page2作為第二頁打印 //如果需要打印的內容不在同一頁,document可以換成URL copyrights:'傑創軟件擁有版權 www.jatools.com' // 版權聲明,必須 }; // getJatoolsPrinter().print(myDoc,false); // getJatoolsPrinter().print(myDoc,true); // getJatoolsPrinter().print(myDoc,false); if( how == 1 ) { getJatoolsPrinter().printPreview(myDoc);//打印預覽功能 } else if( how == 2 ) { getJatoolsPrinter().print(myDoc,true); //無預覽有彈框打印 } else{ getJatoolsPrinter().print(myDoc,false);//直接打印 } }</script> </head> <body> <input type="button" value="打印預覽" onclick="doPrint(1)"> <input type="button" value="打印..." onclick="doPrint(2)"> <input type="button" value="打印" onclick="doPrint(3)">
<div id="page1">第一頁1</div>
<div id="page2">第一頁2</div>
<script> declareJatoolsPrinter();//加載插件聲明 </script> </body> </html>
聲明:試機成功的是用的試用版的,免費版插件安裝的時候涉及到版本還有瀏覽器兼容的問題,暫時沒有成功應用,在ie內核的瀏覽器上可以使用,但是我們需要做到火狐的兼容,這個估計需要購買付費版的吧,此外還有一款打印控件lodop,應用起來也比較簡單,但是也是收費的,總結起來就是:暫時沒有找到不用插件可以實現直接打印的方法,一般可以實現直接打印等的功能的方法都是要使用第三方軟件,也就是需要購買軟件。。。