【问题标题】:Cannot find dymo printer in chrome在 chrome 中找不到 dymo 打印机
【发布时间】:2016-09-07 09:46:10
【问题描述】:

我尝试使用 Chrome 中的 Dymo 打印机打印标签。我使用 javascript sdk。

只有当我使用我的脚本找到打印机时,我才会收到以下控制台日志错误:

未捕获 未安装 DYMO 打印机。安装 DYMO 打印机。 我改变了dymo网站所说的设置。有谁知道如何从 chrome 打印?

当我使用 IE 或 firefox 执行此操作时,没有问题。

这是我的代码:

<!DOCTYPE>
<html>
    <head>
        <title>Sample DYMO Label Plug-In</title>


<script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js"></script>
    <!-- your script second -->
    <script>




            function OnLoad()
            {
                //GetCurrentPlugin();
                GetDYMOPrinters();

                //GetPaperTray();
                //GetMRUList();
                //GetObjectNames();
                //GetLabelImage();
            }


            function GetDYMOPrinters()
            {
               // alert(" Testing 1");

                var printers = dymo.label.framework.getPrinters();
                if (printers.length == 0)
                throw "No DYMO printers are installed. Install DYMO printers.";
                //alert("dfdsfd");
                var printerName = "";
                for (var i = 0; i < printers.length; ++i)
                {
                    var printer = printers[i];
                    if (printer.printerType == "LabelWriterPrinter")
                    {
                        printerName = printer.name;
                        break;
                    }
                }

            //var label = dymo.label.framework.open("MyText.label");
            label.SetObjectText("Text", "John Smith");

            //alert(" Testing 2");   // Here this alert also not working .
            label.print("DYMO LabelWriter 310");
            }
     </script>

    </head>
    <body onload="OnLoad()"><form action="" method="post" id="DYMOLabel">
        <center>
        <h2>DYMO Label  Example</h2>
         <input type=button value="Get DYMO Printers" onClick="GetDYMOPrinters()">
     </center>
    </form>




    </body>
</html>

【问题讨论】:

  • chrome 开发者工具控制台有错误吗?
  • 否,仅未安装任何 DYMO 打印机。安装 DYMO 打印机
  • 您将其加载为本地网页,即 file:/// 不是 http:// ?
  • 哦等等,这依赖于一些插件或其他东西 - 该插件已在 chrome://plugins/ 中安装并启用?
  • 我必须安装插件还是删除插件。因为没有插件可以阻止打印机。

标签: javascript google-chrome printing


【解决方案1】:

Chrome 的框架插件在​​ 2014 年停止工作,因为 Chrome 取消了 NPAPI,请参阅blog post

但是,自 2016 年 8 月以来,他们为这个问题创建了一个新的解决方案here

过去,开发人员必须提供特定于浏览器的插件 每个主要的网络浏览器。如今,大多数浏览器已经逐步淘汰 本机插件支持。例如,谷歌停止支持 2015 年 9 月 Chrome 浏览器的 NPAPI 浏览器扩展。作为回应, 我们发布了 DYMO Web Service 作为新的跨浏览器解决方案 允许第三方开发者应用程序接口的能力 以无缝的、与浏览器无关的方式使用 DLS SDK。它处理 DYMO 来自 JavaScript 库的所有与打印机相关的请求 标签框架浏览器插件用来执行。

但是,即使在 2019 年,JS SDK examples 似乎仍然无法正常工作。但是来自此 blog post 的示例为我做到了。

【讨论】:

    【解决方案2】:

    对我来说,今天使用 sdk 2.0 运行良好,(我将 .js 下载到我的项目中)

    <script src="js/DYMO.Label.Framework.2.0.2.js"></script>
    

    我从 xml 文件中读取标签定义,然后打印:

    var label = dymo.label.framework.openLabelXml(datosxml);
    
    var printers = dymo.label.framework.getPrinters();
        if (printers.length == 0)
           throw "No DYMO printers are installed. Install DYMO printers.";
    
        var printerName = "";
        for (var i = 0; i < printers.length; ++i)
            {
             var printer = printers[i];
             if (printer.printerType == "LabelWriterPrinter")
                {
                 printerName = printer.name;
                 break;
                }
             }
    
         label.print(printerName);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-17
      • 2020-03-19
      • 2016-03-25
      • 1970-01-01
      • 2013-03-25
      • 2020-12-21
      • 2018-05-13
      • 2020-10-27
      相关资源
      最近更新 更多