62,041
社区成员
发帖
与我相关
我的任务
分享
<script type='text/javascript'>
//将卡号写入门禁卡中
function writCardNo() {
var cardNo = writCardNo.arguments[0];
return WriteCardInfo(cardNo);
}
//打印标签姓名、有效期strName, strDate
function printBarCode() {
LoadPrinter();
//创建条码打印机ActiveX对象
var TSCObj;
try {
TSCObj = new ActiveXObject('TSCActiveX.TSCLIB');
}
catch (err) {
alert("请确认\n\t1、是否已经注册TSCActiveX.dll;\n\t2、启用ActiveX控件和插件");
return false;
}
var Printerobj = document.getElementById("printers"); //读取打印机
//检测打印机
if (Printerobj == null || Printerobj.value == "") {
alert("请选择打印机");
return false;
}
//开始打印询问
if (!confirm("现在开始打印!")) {
return false;
}
//连接打印机
TSCObj.ActiveXopenport(Printerobj.value);
TSCObj.ActiveXsetup("80", "20", "10", "8", "0", "2", "0");
TSCObj.ActiveXsendcommand("SET TEAR ON");
//清空打印机缓存
TSCObj.ActiveXclearbuffer();
//打印标签
var vdeptName=printBarCode.arguments[0];
var vName=printBarCode.arguments[1];
var vtel=printBarCode.arguments[2];
var vcompany=printBarCode.arguments[3];
var vtime=printBarCode.arguments[4];
TSCObj.ActiveXwindowsfont(10, 25, 24, 0, 2, 0, "arial",vcompany);
TSCObj.ActiveXwindowsfont(10, 55, 24, 0, 2, 0, "arial",vName);
TSCObj.ActiveXwindowsfont(10, 85, 24, 0, 2, 0, "arial",vtel);
TSCObj.ActiveXwindowsfont(10, 115, 24, 0, 2, 0, "arial", "有效期至:" + vtime);
TSCObj.ActiveXprintlabel("1", "1");
//关闭打印机
TSCObj.ActiveXcloseport();
return true;
}
//获取打印机
function LoadPrinter() {
var locator;
try {
locator = new ActiveXObject('WbemScripting.SWbemLocator');
}
catch (err) {
alert("请确认\n\t1、是否已经注册WbemScripting.dll;\n\t2、启用ActiveX控件和插件");
return false;
}
var service = locator.ConnectServer(".");
var properties = service.ExecQuery("SELECT * FROM Win32_Printer");
var e = new Enumerator(properties);
var defaultPrinter; //默认打印机
var obj = document.getElementById("printers"); //读取打印机列表
//清除列表
for (i = obj.options.length - 1; i >= 0; i--)
obj.options[i] = null;
//循环获取打印机
for (; !e.atEnd(); e.moveNext()) {
var p = e.item();
opt = new Option();
opt.text = p.Name;
opt.value = p.Name;
obj.options.add(opt);
if (p.Default == true) {
defaultPrinter = p.Name;
}
}
for (var i = 0; i < obj.options.length; i++)//设置默认打印机
{
if (obj.options[i].value == defaultPrinter)
obj.options[i].selected = true;
}
}
//添加打印机向导
function addprinter() {
try {
var objShell = new ActiveXObject("wscript.shell");
objShell.Run("rundll32.exe shell32.dll,SHHelpShortcuts_RunDLL AddPrinter");
objShell = null;
}
catch (e) {
alert("请确认\n\t1、是否已经注册wscript.dll;\n\t2、启用ActiveX控件和插件");
}
}
</script>
//将卡号写入门禁卡中
ClientScript.RegisterStartupScript(typeof(string), Guid.NewGuid().ToString(),
"<script type='text/javascript'>"
+ string.Format("printBarCode('{0}','{1}','{2}','{3}','{4}')", lblDept.Text, dt.Rows[0]["Name"].ToString(), dt.Rows[0]["Tel"].ToString(), dt.Rows[0]["Company"].ToString(), DateTime.Parse(dt.Rows[0]["EndDate"].ToString()).ToShortDateString()) //打印标签
+ "</script>");
<input value="打印" onclick="javascript:window.focus();window.print();" />