【问题标题】:Print on DYMO label printer from website从网站在 DYMO 标签打印机上打印
【发布时间】:2016-03-25 23:40:30
【问题描述】:

如何通过网站在DYMO标签打印机上打印?我已经按照here 的描述构建了以下文件,但没有成功,需要更多帮助才能远程打印。

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

【问题讨论】:

    标签: javascript printing web dymo


    【解决方案1】:

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

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

    您可以下载它们here

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

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

    最后你可以用Framework在JS中打开label XML文件,将textareas替换为文本,将images替换为其他图片,然后打印出来。

    这里有一个例子,如何用 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);
    

    您可以在我的blog post 中找到更多帮助。

    【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 它什么也没显示,但似乎很好。让我在本地查看问题。
    • 我认为为了让它工作,你必须用一大堆 XML 替换“mytext.label”,即标签定义。这基本上是来自 Dymo 网站的示例代码...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 2020-03-19
    • 2018-09-29
    • 2020-12-21
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多