美文网首页
【38】js使用excel并指定打印机进行打印

【38】js使用excel并指定打印机进行打印

作者: 业余玩家 | 来源:发表于2020-01-09 20:15 被阅读0次

浏览器:ie
编程语言:js
使用ActiveXObject,该对象是微软的私有拓展名, 只在微软的IE浏览器上支持。指定打印机进行打印,是先将指定打印机设置成默认打印机,打印完成后,再恢复原来的打印机。

//打印条码
function GetPrintInfo(p1,p2,p3,p4,p5,p6,p7){
    //系统信息获取 
    var localtor=new ActiveXObject("WbemScripting.SWbemLocator");  
    var service=localtor.ConnectServer(".");  
    //取得默认打印机 
    var defaultPrint;  
    var defPrint=service.ExecQuery("SELECT * FROM Win32_Printer Where Default = TRUE");  
    var e=new Enumerator(defPrint);  
    for(;!e.atEnd();e.moveNext()){  
        var p=e.item();  
        defaultPrint=p.Name
    }
    //将barcode设置成默认打印机
    SetDefaultPrint('打印机名称')
    //打印
    PrintInfo(p1,p2,p3,p4,p5,p6,p7);
    //恢复默认

    SetDefaultPrint(defaultPrint);
    //console.log(defaultPrint);   
}

//设置默认打印机
function SetDefaultPrint(event)
{
    //系统信息获取  
    var localtor=new ActiveXObject("WbemScripting.SWbemLocator");  
    var service=localtor.ConnectServer(".");  
    //取得默认打印机  
    var defaultPrint;  
    var defPrint=service.ExecQuery("SELECT * FROM Win32_Printer");  
    var e=new Enumerator(defPrint);  
    for(;!e.atEnd();e.moveNext()){  
        var p=e.item();
        if(p.Name==event)
        {
            p.setDefaultPrinter();
            break;
        }
    }
}

//打印
function PrintInfo(p1,p2,p3,p4,p5,p6,p7)
{
    var Template = "excel模板";
    xlApp = new ActiveXObject("Excel.Application")
    xlBook = xlApp.Workbooks.Add(Template);
    xlsheet = xlBook.ActiveSheet;
    xlsheet.cells(1,1)="*"+p7+"*";
    //xlsheet.cells(1,1)=GetCode128B(p7);
    xlsheet.cells(1,2)=p1;
    xlsheet.cells(2,2)=p2;
    xlsheet.cells(3,2)=p3;
    xlsheet.cells(5,2)=p4;
    xlsheet.cells(6,2)=p5;
    xlsheet.cells(7,2)=p6;
    xlsheet.PrintOut;
    xlBook.Close(savechanges=false);
    xlBook=null;
    xlApp.Quit();
    xlApp=null;
    xlsheet=null;
}


//转换128码
function GetCode128B(inputdata)
{
    var result = "";
    var checksum = 104;
    var arr=new Array();
    
    for(var i=0;i<inputdata.Length;i++)
    {
        arr[i]=inputdata.substr(i,1);
    }
    
    for (var ii = 0; ii < arr.Length; ii++)
    {
        if (arr[ii].charCodeAt() >= 32)
        {
            checksum += (arr[ii].charCodeAt() - 32) * (ii + 1);
        }
        else
        {
            checksum += (arr[ii].charCodeAt() + 64) * (ii + 1);
        }
    }
    checksum = checksum % 103;
    if (checksum < 95)
    {
        checksum += 32;
    }
    else
    {
        checksum += 100;
    }
    result =String.fromCharCode(204) + inputdata.toString() + String.fromCharCode(checksum) +String.fromCharCode(206);
    return result;
}

参考资料

ActiveXObject
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Microsoft_Extensions/ActiveXObject
js指定打印机进行打印
https://www.iteye.com/blog/hy-zhym-1055403

相关文章

  • 【38】js使用excel并指定打印机进行打印

    浏览器:ie编程语言:js使用ActiveXObject,该对象是微软的私有拓展名, 只在微软的IE浏览器上支持。...

  • iOS 蓝牙打印总结

    在开发SaaS的过程中,小票打印的功能主要是通过App来跟打印机进行连接,并使用打印机指令对订单信息进行排版和打印...

  • 打印,其实是个技术活

    1、Excel打印技巧大全 没有打印机一样可以打印预览 在没有安装打印机的电脑上按下Excel的“打印预览”按钮后...

  • C# 修改打印机名称

    模板指定打印机名称,可以修改默认打印机名称匹配模板打印机,实现自动打印。否则需要手动配置打印机。 引用组件: us...

  • swift 连接 BLE 蓝牙打印机

    swift 蓝牙连接 项目简介 最近公司要用到便携式蓝牙打印机进行打印打印机使用的ECS/POS指令集ios使用的...

  • pdfFactory Pro虚拟打印机如何加入渐变图层

    经过多次使用pdfFactory Pro虚拟打印机各项功能应用后,对打印机各项功能已经能熟练掌握并使用。其中“便笺...

  • 微信小程序蓝牙连接及打印

    使用场一:未连接蓝牙打印机 步骤一:在utils文件夹添加打印公共js(blue.js\ bluetoothObf...

  • 蓝牙开发《基础篇一》

    最近项目中使用到蓝牙打印机,通过蓝牙连接蓝牙打印机进行打印功能。在此对蓝牙知识进行归纳输出一波,达到巩固之效果。 ...

  • 蓝牙开发《基础篇三》

    最近项目中使用到蓝牙打印机,通过蓝牙连接蓝牙打印机进行打印功能。在此对蓝牙知识进行归纳输出一波,达到巩固之效果。蓝...

  • 蓝牙开发《基础篇二》

    最近项目中使用到蓝牙打印机,通过蓝牙连接蓝牙打印机进行打印功能。在此对蓝牙知识进行归纳输出一波,达到巩固之效果。蓝...

网友评论

      本文标题:【38】js使用excel并指定打印机进行打印

      本文链接:https://www.haomeiwen.com/subject/flaomqtx.html