文章目录
2.进入 JavaScript SDK的 xxx.html 文件
前言
TSC 标签打印机有很多种SDK 调用方式,这里先介绍 JavaScript 的SDK 使用方式,下篇介绍c/c++ 的SDK 然后JavaScript 调用 c/c++ 去实现不需要IE浏览器的打印驱动方式。本篇主要是讲 JavaScript 通过 ActiveX 去实现的。需要的 SDK 可以去官网下载,TSC标签打印机的官网地址
一、什么是 ActiveX 控件?
Microsoft ActiveX 控件是由软件提供商开发的可重用的软件组件。使用 ActiveX 控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。例如,StockTicker 控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。
现在,已有 1000 多个商用的 ActiveX 控件。开发控件可以使用各种编程语言,如 C,C++,下一代的Microsoft Visual Basic,以及微软公司的 Visual Java 开发环境 Microsoft Visual J++。ActiveX 控件一旦被开发出来,设计和开发人员就可以把它当作预装配组件,用于开发客户程序。以此种方式使用 ActiveX 控件,使用者无需知道这些组件是如何开发的,在很多情况下,甚至不需要自己编程,就可以完成网页或应用程序的设计。
ActiveX 控件广泛用于 Internet。它们可以通过提供视频、动画内容等来增加浏览的乐趣。不过,这些程序可能出问题或者向您提供不需要的内容。在某些情况下,这些程序可被用来以您不允许的方式从计算机收集信息、破坏您的计算机上的数据、在未经您同意的情况下在您的计算机上安装软件或者允许他人远程控制您的计算机。 一般软件需要用户单独下载然后执行安装,而ActiveX插件是当用户浏览到特定的网页时,IE浏览器即可自动下载并提示用户安装。 ActiveX插件安装的一个前提是必须经过用户的同意及确认。考虑到这些风险,您应该在完全信任发行商的情况下才安装这些程序。
二、前期步骤
1.下载官网对应的SDK包
官网找到J avaScript 的SDK包 然后下载到本地 复制两个文件 1、TSCActiveX.dll 2、TSCLIB.dll
着两个文件放到 你的电脑 C:\Windows\System32里面去
注意:如果你的电脑是64位的 那你就放到 C:\Windows\System64
有可能你会你发现 你的电脑你找不到 C:\Windows\SysWOW64 那你就按照以下步骤走:
一、打开c盘,用windows查找cmd.exe文件。
二、在找到的cmd.exe中点右键,选择,以管理员身份运行。
三、在打开的dos命令窗口中,输入【cd\】,让当前目录显示【c:】
四、再输入【cd windows】,进入【C:\WINDOWS】目录
五、再输入【cd syswow64】,进入【C:\WINDOWS\syswow64】目录
六、最后,输入【regsvr32 aaa.dll】,注册成功!
下载地址:资料下载 | TSC Printers
2.进入 JavaScript SDK的 xxx.html 文件
官方给了你简单是示例, 你可以根据你自己的业务需求而更改,你可以先 Open with Live Server
注意:通过IE浏览器打开
试着打印下,如果打印机没有打印,那你就要检查 打印机的名字跟 ActiveXopenport('打印机名') 是不是一样的;前提是你安装驱动时,测试打印纸张已经没有问题了哦!安装驱动辣么简单就不用教了吧???安装对应的型号就可以啦!!
此时以上都没有问题的话 也没有打印 那你就要考虑 lnternet的安全选项有没有开了,正常控制台都会报错 Automation 服务器不能创建对象 这个时候就要去启用ActiveX 控件了;不知道启用那个的话,那就全部启用 准没错的,哈哈~~~~~
1、Automation 服务器不能创建对象
2、启用
3、提示着个 那就是开启成功咯
4、提示小妙招
可以用 Edge 浏览器模拟IE浏览器 具体操作可以去找度娘,这里提供控制台打开发方式 也就是 F12打开的方式 , cmd 输入 %systemroot%\system32\f12\IEChooser.exe
点击黑窗口你要打开的对应控制台
三、详细步骤
不墨迹了上代码:
效果 - 内容自己调整 可以做的更漂亮 ~~~
1、调用这个方法就行
2、 实现具体代码 - 带注释哦
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TSC</title>
</head>
<body>
<button onclick="test()">打印码子</button>
<script type="text/javascript">
/**
* TSC 打印机 javascript SDK;
* 只支持 IE 浏览器;
* @function ActiveXObject('TSCActiveX.TSCLIB') 参数:打印机使用的dll
* @function ActiveXopenport('') 参数:打印机名字。
* @function ActiveXsetup('') 参数:
("标签高度", "打印速度", "打印浓度(0-15)", "感应器类别字串型 0 表示使用垂直間距感測器(gap sensor) 1 表示使用黑標感測器(black mark senso)", "Gap/Black mark垂直间距(mm)", "Gap/Black mark偏移距离(mm)");
* @function ActiveXsendcommand('') 将内置命令发送到条形码打印机。
* @function ActiveXclearbuffer('') 清除。
* @function 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:字符串类型,打印文字内容。
* @function ActiveXbarcode(a,b,c,d,e,f,g,h,i) 条形码 (一维码) 参数:
a:字符串类型,文字X方向起始点,以点表示。
b:字符串类型,文字Y方向起始点,以点表示。
c:字符串类型,128不用改,其他的自己查度娘吧。
d:字符串类型,设定条形码高度,高度以点来表示。
e:字符串类型,设定打印条码码文是不是打印,0:不打印 1:打印。
f:字符串类型,设定条形码旋转角度,旋转:0°, 90°, 180°, 270°。
g:字符串类型,设定条形码bar比例因子。
h:字符串类型,设定条形码bar比例因子。
i: 字符串类型,设定条形码内容。
* @function ActiveXprintlabel(a,b) 参数:a: 打印份数, b: 每页打印张数。
* @fucnion ActiveXcloseport() 关闭打印端口
*/
function test() {
var TSCObj;
TSCObj = new ActiveXObject("TSCActiveX.TSCLIB");
var code = "123456789";
TSCObj.ActiveXopenport("打印机名字");
TSCObj.ActiveXsetup("78", "42", "5", "15", "0", "2", "0");
TSCObj.ActiveXsendcommand("DIRECTION 1");
TSCObj.ActiveXsendcommand("SET TEAR ON");
TSCObj.ActiveXclearbuffer();
TSCObj.ActiveXwindowsfont(300, 40, 35, 0, 2, 0, "Times new Roman", "AA" );
TSCObj.ActiveXwindowsfont(300, 85, 35, 0, 2, 0, "Times new Roman", "BB" );
TSCObj.ActiveXwindowsfont(300, 135, 35, 0, 2, 0, "Times new Roman", "CC" );
TSCObj.ActiveXwindowsfont(300, 185, 35, 0, 2, 0, "Times new Roman", "DD" );
TSCObj.ActiveXwindowsfont(300, 235, 35, 0, 2, 0, "Times new Roman", "EE" );
TSCObj.ActiveXbarcode("50", "310", "128", "80", "0", "0", "3", "2", "12345678");
TSCObj.ActiveXwindowsfont(50, 410, 35, 0, 2, 0, "微软雅黑", "SN : 12345678");
TSCObj.ActiveXsendcommand("QRCODE 50,40,H,6,A,0,M2,S3,\"" + code + "\"");
TSCObj.ActiveXprintlabel("1", "1");
TSCObj.ActiveXcloseport();
}
</script>
</body>
</html>
总结
难度稍微有一点,因为好多坑在里面,当然!你要是知道的话就可以避免坑位咯! 创作不易点个赞再走吧! 下篇出 c/c++ JavaScript 调用 , 拜拜 ~~~~