4

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

2 回答 2

4

要使用 DYMO 直接从浏览器打印标签,无需打印机对话框,您需要

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

你可以在这里下载它们。

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

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

最后可以用Framework打开JS中的label XML文件,把textareas换成文字,把图片换成其他图片,然后打印出来。

下面是一个示例,如何使用 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);

您可以在我的博文中找到更多帮助。

于 2019-07-27T10:05:22.370 回答
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>
于 2015-12-20T13:19:50.353 回答