我尝试用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>发布于 2019-07-27 17:52:37
Chrome的框架插件在2014年停止工作,因为Chrome取消了NPAPI,请参阅此blog post。
然而,自2016年8月以来,他们为这个问题创建了一个新的解决方案here
在过去,开发人员必须为每个主要的web浏览器提供一个特定于浏览器的插件。如今,大多数浏览器已经逐步淘汰了对本机插件的支持。例如,谷歌在2015年9月停止支持Chrome的NPAPI浏览器扩展。作为回应,我们发布了DYMO Web Service作为新的跨浏览器解决方案,允许第三方开发人员应用程序以一种与浏览器无关的无缝方式与DLS SDK交互。它处理JavaScript库中所有与打印机相关的请求,这些请求是由DYMO浏览器插件执行的。
然而,即使到了2019年,JS SDK examples似乎仍然没有完全发挥作用。但这个blog post中的示例为我做到了这一点。
发布于 2017-12-29 05:51:36
对我来说,现在可以使用SDK2.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);https://stackoverflow.com/questions/39366524
复制相似问题