JS+调用word打印功能实现在Webfrom客户端pos机打印小票(58x210mm)

本文主要解决在web网页上通过点击某个按钮现实打印小票的功能。修改于2015.8.15。
页面html代码:
<!DOCTYPE html>
<html>
<head runat="server">
    <title>调用Word打印机打印</title>
    <link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>
    <div class="noprint">
        <input type="button" value="toPrinter " onclick="doPrint();" />
    </div>
    <script type="text/javascript">
        function doPrint() {
            viewToWord("房间:903\r\n栋号:6\r\n楼层:9\r\n户型\r\n时间:2011年9月16日");
        }
        var wdapp;
        var wddoc;
        function viewToWord(str) {
            try {
                // 创建ActiveXObject对象
                wdapp = new ActiveXObject("Word.Application");
            }
            catch (e) {
                /*
                * 如果抛异常,请检查一下几点:
                * 1.确保机器已安装Office;
                * 2.已将本系统的站点名加入到IE的信任站点列表中;
                * 3.参考下文设置浏览器的安全;
                * 4.这是微软的东西只能在ie下才能运行;
                * 5.尊重别人的成果,仔细阅读每一个关键点。
                */
                console.log("无法调用Office对象,!", e)
                wdapp = null;
                return;
            }
            wdapp.Documents.Open("c:\\PrinterTemplate.doc"); //打开本地(客户端)word模板
            wddoc = wdapp.ActiveDocument;
            wddoc.Bookmarks("Title").Range.Text = "要打印的标题";//找到Word中的Title标签,替换其内容
            wddoc.Bookmarks("Content").Range.Text = str;
            //wdapp.ActiveDocument.ActiveWindow.View.Type = 1;
            wdapp.visible = false; //word模板是否可见
            wddoc.saveAs("c:\\PrinterTemp.doc"); //保存临时文件word
            wdapp.Application.Printout(); //调用自动打印功能

            wdapp.quit();
            wdapp = null;
        }
    </script>
</body>
</html>


接下来设置Word模版:



选中“标题:”,选择插入标签,输入标签的名称;


打印机打印的就是这个word上的内容了。

运行打印后会生成一个这样的临时文件,看到了吗?标签的内容被替换了。
内容:部分同理。
最后还要设置浏览器的安全
JS+调用word打印功能实现在Webfrom客户端pos机打印小票(58x210mm)_第1张图片


呵呵,这样就可以在web客户端下打印小票了!
此方法由 http://blog.sina.com.cn/s/blog_692d0a650100klr4.html启发!


你可能感兴趣的:(function,null,Office,button,stylesheet)