• Web 前端通过调用ActiveX实现LPT1端口小票机打印功能。


    最近项目中发现Web前端通过javascript是无法实现调用LPT1端口进行特定格式的打印的。而直接采用浏览器的打印会导致打印的全部为乱码。

    后经查阅各方资料可以采用调用ActiveX方法实现小票机特定格式的打印。

    下面为具体方法:

    <script type="text/javascript" language="javascript">
            function print() { 
                try
                {
                    var objfs=new ActiveXObject("Scripting.FileSystemObject");
                    var objprinter = objfs.CreateTextFile("LPT1:", true);
                }catch(Error)
                {
                    alert("无法获取Active插件,或者LPT1端口未连接打印机。错误信息:"+Error.Message);
                    return;
                }
                objprinter.Writeline("");
                objprinter.Writeline("              小票              ");
                objprinter.Writeline("———————————————————————————————");
                objprinter.Writeline('<%=Model.NumberID %>');
                objprinter.Writeline('门店编码:<%=Model.StoreCode%>');
                objprinter.Writeline('门店名称:<%=ViewData["werks"]%>');
                。
                。
                。
                。
                。 
          }
    </script>

    注意:因为需要创建ActiveX控件,所以需要对IE的安全级别进行调整。默认IE对不安全的ActiveX控件是不允许创建的。

    具体设置如下:IE——》工具——》Internet选项——》安全——》Inertnet——》自定义级别 ,找到如下选项默认为禁用,改为启用,然后保存。

  • 相关阅读:
    http协议概述
    博客写起来一周年了~
    angular与vue的应用对比
    一些前端的小问题
    详解vue的数据binding原理
    闲的没事水一贴!
    关于angular1与angular2的应用区别
    angularjs优化方略
    rxjs学习笔记
    HTML5移动开发学习笔记
  • 原文地址:https://www.cnblogs.com/liluping860122/p/3099047.html
Copyright © 2020-2023  润新知