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>
