从网站上使用DYMO标签打印机打印标签

5
如何通过网站在DYMO标签打印机上打印?我已按照此处描述的构建了以下文件,但未成功,需要更多帮助以远程打印。
    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>Print a Label</title> 
<script src = "http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js" type="text/javascript" charset="UTF-8"> </script>
<script src = "PrintLabel.js" type="text/javascript" charset="UTF-8"> </script>
</head>

<body>
<h1>DYMO Label Framework JavaScript Library Samples: Print Label</h1> 

    <div id="textDiv">
        <label for="textTextArea">Label text:</label><br/>
        <textarea name="textTextArea" id="textTextArea"  rows='5' cols='40'></textarea>
    </div>

        <div id="printDiv">
            <button id="printButton">Print</button>
        </div>

</body> 

</html> 
2个回答

7
要直接从浏览器使用DYMO打印标签而无需打印机对话框,需要以下几步操作:
  1. 下载DYMO Label Framework JS SDK
  2. 下载DYMO Label Software (DLS).
您可以从这里下载它们。
需要在已连接DYMO设备的计算机上安装DLS。 DLS带有一个DYMO Web Service,使得通过浏览器可以访问。
然后,您可以使用DLS创建一个包含文本区域和图像的标签XML文件。
最后,您可以使用Framework在JS中打开标签XML文件,并将文本区域替换为文本,将图像替换为其他图像,然后打印它。
下面是如何使用提供的PNG URL替换您的labelXML中的图像的示例:
// connect to printer
var printer = dymo.label.framework.getLabelWriterPrinters()[0].modelName;

// create label from XML file
var label = dymo.label.framework.openLabelXml(getLabelXml());

// load image from url and store as Base64
var image = dymo.label.framework.loadImageAsPngBase64("www.example.de/image.png");

// overwrite image "Image" from XML label with loaded image
label.setObjectText('Image', image);

// print it
label.print(printer);

你可以在我的博客文章中找到更多帮助。


我正在尝试使用您的示例,但无法打印图像(没有js错误)https://stackoverflow.com/questions/58995767/print-png-image-to-dymo-labelwriter-450-using-dymo-label-framework - dean2020
@adam 上面的解决方案在 Chrome 浏览器上也有效吗? - Jagadisha B S

1
您无法远程打印,但是使用DYMO Javascript框架在本地工作的以下代码是可以正常工作的。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
    <head>
        <title>Sample DYMO Label Plug-In</title>


            <script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js"
            type="text/javascript" charset="UTF-8">   



            function GetDYMOPrinters()
            {   

                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;
                    }
                }

            var label = DYMO.Label.Framework.Label.Open("MyText.label");
            label.SetObjectText("NameTxt", "John Smith");

            label.print("DYMO LabelWriter");
            }
     </script>

    </head>
    <body onload="  GetDYMOPrinters()">
         <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>

它什么都没显示,但似乎没问题。让我在本地查看一下问题。 - Muhammad Sarmad Mahmood Malik
我认为为了使其工作,您需要用一堆XML替换“mytext.label”,即标签定义。这基本上是来自Dymo网站的示例代码... - Andy Jones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接