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——》自定义级别 ,找到如下选项默认为禁用,改为启用,然后保存。

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

你可能感兴趣的:(ActiveX)