1、首先電腦需要安裝TSCActiveX控件;TSCActiveX.dll,TSCLIB.dll放入系統盤里(32和64)(我的打印機型號是TSC TTP-244 Pro);使用regsvr32去注冊;
2、安裝打印機的驅動程序;(網上很多)
3、ActiveX控件方法只支持IE瀏覽器;並且要設置瀏覽器對Activex的啟用(默認是關閉的),否則會報AutoMation的錯誤;
4、實現打印二維碼、條碼的功能的代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <script type="text/javascript"> function TestFun() { var TSCObj = new ActiveXObject("TSCActiveX.TSCLIB"); TSCObj.ActiveXopenport("TSC TTP-244 Pro"); TSCObj.ActiveXsetup("70", "40", "4", "15", "0", "2.5", "0");//打印機設置 //TSCObj.ActiveXsetup("標簽寬度","標簽高度","打印速度","打印濃度(0-15)","感應器類別字串型,0 表示使用垂直間距感測器(gap sensor), 1 表示使用黑標感測器(black mark senso)","Gap/Black mark垂直間距(mm)","Gap/Black mark偏移距離(mm)"); TSCObj.ActiveXsendcommand("DIRECTION 1"); //設置標簽方向 ,DIRECTION 1 左上角 (x,y)={0,0};DIRECTION 0 右下角 (x,y)={0,0}; TSCObj.ActiveXsendcommand("SET TEAR ON"); TSCObj.ActiveXclearbuffer(); //TSCObj.ActiveXsendcommand ("PUTPCX 0,0,\"123.PCX\""); /* 1、ActiveXprinterfont采用機器內置編碼通常用來打英文。 2、ActiveXwindowsfont可以輸出漢字,但是必須是系統中存在的字體。 TSCObj.ActiveXprinterfont ("a","b","c","d","e","f","g"); a:字符串,文字X方向起始點,以點表示。 b:字符串,文字Y方向起始點,以點表示。 c:內建字型名稱,共12種(1: 8*12 dots 2: 12*20 dots 3: 16*24 dots 4: 24*32 dots 5: 32*48 dots TST24.BF2: 繁體中文 24*24 TST16.BF2: 繁體中文 16*16 TTT24.BF2: 繁體中文 24*24 (電信碼) TSS24.BF2: 簡體中文 24*24 TSS16.BF2: 簡體中文 16*16 K: 韓文 24*24 L: 韓文 16*16 ) d:字符串,旋轉角度 e:字符串,X方向放大倍率1-8 f:字符串,Y方向放大倍率1-8 g:字符串,打印內容 ActiveXwindowsfont(a,b,c,d,e,f,g,h) 說明:使用Windows TTF字體打印文字。 參數: a:整數類型,文字X方向起始點,以點表示。 b:整數類型,文字Y方向起始點,以點表示。 c:整數類型,字體高度,以點表示。 d:整數類型,旋轉角度,逆時針方向旋轉。0-旋轉0°,90-旋轉90°,180-旋轉180°,270-旋轉270°。 e:整數類型,字體外形。0:標簽;1:斜體;2:粗體;3:粗斜體。 f:整數類型,下划線,0:無下划線;1:加下划線。 g:字符串類型,字體名稱。如:Arial,Times new Roman。 h:字符串類型,打印文字內容。 */ // TSCObj.ActiveXwindowsfont (500, 200, 48, 90, 0, 0, "Arial", "\u7f16\u7801"); TSCObj.ActiveXwindowsfont(50,50,40,0,2,0,"Arial","商品名稱:蘋果"); // TSCObj.ActiveXwindowsfont(50,120,40,0,2,0,"Arial","商品編碼:12345678907456" ); TSCObj.ActiveXbarcode("100","195","128","95","2","0","3","2",12345678907456); //條碼 //var cmd = 'QRCODE 條碼X方向起始點,條碼Y方向起始點,糾錯級別,二維碼高度,A(A和M),旋轉角度,M2(分為類型1和類型2),S1 (s1-s8,默認s7),\"1231你好2421341325454353\"'; var cmd = 'QRCODE 80,80,H,7,A,0,M2,S1,\"'+"123456789"+'\"'; TSCObj.ActiveXsendcommand(cmd);//二維碼 TSCObj.ActiveXprintlabel("1", "1");//(打印份數,每頁打印張數) TSCObj.ActiveXclearbuffer();//清除 TSCObj.ActiveXcloseport();//關閉打印端口 } </script> </head> <body> <button onclick='TestFun()'>測試</button> </body> </html>