Print on DYMO label printer from website
Solution 1
You cannot print remotely but the following code is fine to work locally using DYMO Javascript framework.
<!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>
Solution 2
To print a label directly from browser with DYMO without printer dialog you need
- DYMO Label Framework JS SDK
- 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.
![Muhammad Sarmad Mahmood Malik](https://i.stack.imgur.com/bEEl4.jpg?s=256&g=1)
Muhammad Sarmad Mahmood Malik
I am a Point of Sale (POS) software specialist, the CEO of Sarmad Engineering Solutions, and an experienced Microsoft .NET developer. I developed many desktop applications in C# and mobile applications in ASP for different restaurants, department stores, grocery stores, pharmacies, real estate, and many other businesses. I am working in this field for around 5 years. I can develop any type of business application or other related apps using the .NET framework. If you need quality work within a suitable budget and lifetime support, you are at the right place!
Updated on June 04, 2022Comments
-
Muhammad Sarmad Mahmood Malik about 2 years
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>
-
Muhammad Sarmad Mahmood Malik over 8 yearsIt shows nothing but seems to be fine. Let me see problem locally.
-
Andy Jones about 8 yearsI think in order for this to work you would have to replace "mytext.label" with a whole bunch of XML, the label definition. This is basically the example code from the Dymo site...
-
dean2020 over 4 yearsI'm trying to use your example but can't get an image printed (no js errors) stackoverflow.com/questions/58995767/…
-
Jagadisha B S almost 4 years@adam the above solution will work on the chrome browser also?