在DYMO标签打印机上从网站打印

Print on DYMO label printer from website

本文关键字:网站 打印 打印机 DYMO 标签      更新时间:2023-09-26

如何通过网站在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> 

要在没有打印机对话框的情况下使用DYMO直接从浏览器打印标签,需要

  1. DYMO标签框架JS SDK
  2. DYMO标签软件(DLS)

你可以在这里下载。

DLS需要安装在连接DYMO设备的计算机上。DLS附带DYMO Web服务,可以通过浏览器进行访问。

然后,您可以创建一个带有DLS的标签XML文件,DLS由文本区域和图像组成。

最后,你可以用框架打开JS中的标签XML文件,用文本替换文本区域,用其他图像替换图像,然后打印它

下面是一个如何用url提供的PNG替换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);

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

您不能远程打印,但以下代码可以使用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>