Print on DYMO label printer from website

Muhammad Sarmad Mahmood Malik picture Muhammad Sarmad Mahmood Malik · Dec 19, 2015 · Viewed 14k times · Source

How to print on DYMO label printer throuhg website? I have build the following file as described here but not succeeded need more help to print remotely.

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

Answer

Adam picture Adam · Jul 27, 2019

To print a label directly from browser with DYMO without printer dialog you need

  1. DYMO Label Framework JS SDK
  2. DYMO Label Software (DLS).

You may download them here.

DLS needs to be installed on the computer where you have connected the DYMO device to. DLS comes with a DYMO Web Service that makes access possible through the browser.

Then, you can create a label XML file with DLS consisting of textareas and images.

Finally you can open the label XML file in JS with the Framework, and replace the textareas with text and the images with other images and then print it.

Here an example how to replace image from your labelXML with an PNG provided by an url:

// 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);

You may find more help in my blog post.