How to get print on DymoLabel printer using javascript?

I just want to call the printer API from a web page. and I just want to print some things in it. I have done it so far.

<!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 OnLoad() { //GetCurrentPlugin(); GetDYMOPrinters(); //GetPaperTray(); //GetMRUList(); //GetObjectNames(); //GetLabelImage(); } function GetDYMOPrinters() { alert(" Testing 1"); var printers = dymo.label.framework.getPrinters(); if (printers.length == 0) throw "No DYMO printers are installed. Install DYMO printers."; alert("dfdsfd"); 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"); alert(" Testing 2"); // Here this alert also not working . label.print("DYMO LabelWriter 310"); } </script> </head> <body onload="OnLoad()"> <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> 

But nothing will happen here, I need to import or include something. please give some suggestion ..

+7
source share
2 answers

Your <script> -Tag to insert "DYMO.Label.Framework.latest.js" is inside another script tag. Move it and your functions should work:

 <!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> <!-- LabelWriter-API first --> <script src="http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js"></script> <!-- your script second --> <script> ... 
+6
source

Here is my code for printing multiple labels. I have added comments for your help. Please go through this, and if in doubt, ask me. I cannot include my HTML for your reference here.

 //---------------------------------------------------------------------------- // // PrintMultipleLabel.js 2014-11-07 : Vineesh KS // // Content ------------------------------------------------------------------- // // DYMO Label Framework JavaScript Library : // Print Single or multiple label // Mark-up Added // //---------------------------------------------------------------------------- // // Copyright (c), 2010, Sanford, LP All Rights Reserved. // //---------------------------------------------------------------------------- function escapeXml(xmlStr) { var result = xmlStr; var findReplace = [[/&/g, "&amp;"], [/</g, "&lt;"], [/>/g, "&gt;"], [/"/g, "&quot;"]]; for(var i = 0; i < findReplace.length; ++i) result = result.replace(findReplace[i][0], findReplace[i][1]); return result; } // call this function on onclick function of print button function printLabel() { //comma separated values of record IDs var hidn_ids_array = $('#hidn_ids').val().split(","); // if text area is null var labelPrint_val = $('#labelPrint').val(); if(labelPrint_val == ""){ alert("Please enter values to print label"); $( "#labelPrint" ).focus(); return; } try { // open label var labelXml = '<?xml version="1.0" encoding="utf-8"?>\ <DieCutLabel Version="8.0" Units="twips">\ <PaperOrientation>Landscape</PaperOrientation>\ <Id>Address</Id>\ <PaperName>30252 Address</PaperName>\ <DrawCommands/>\ <ObjectInfo>\ <TextObject>\ <Name>Text</Name>\ <ForeColor Alpha="255" Red="0" Green="0" Blue="0" />\ <BackColor Alpha="0" Red="255" Green="255" Blue="255" />\ <LinkedObjectName></LinkedObjectName>\ <Rotation>Rotation0</Rotation>\ <IsMirrored>False</IsMirrored>\ <IsVariable>True</IsVariable>\ <HorizontalAlignment>Center</HorizontalAlignment>\ <VerticalAlignment>Middle</VerticalAlignment>\ <TextFitMode>ShrinkToFit</TextFitMode>\ <UseFullFontHeight>True</UseFullFontHeight>\ <Verticalized>False</Verticalized>\ <StyledText/>\ </TextObject>\ <Bounds X="332" Y="150" Width="4455" Height="1260" />\ </ObjectInfo>\ </DieCutLabel>'; var label = dymo.label.framework.openLabelXml(labelXml); if (!label) { alert("Load label before printing"); return; } // set data using LabelSet and text markup var labelSet = new dymo.label.framework.LabelSetBuilder(); var textMarkup = ''; var fontSize = 18; // sets font size of first line // loop started for adding multiple record. $.each(hidn_ids_array,function(i) { ////get each Id labelid = hidn_ids_array[i]; var textTextArea = document.getElementById('labelPrint'+labelid);// text area id if(textTextArea.value !='') { var lines = textTextArea.value.split('\n'); // adding markup var boldLinesCount = lines.length <= 3 ? 1 : 2; // if no. of lines is more than 3 then apply style to first 2 lines. if (lines.length > 0) { textMarkup = '<b><font family="Arial" size="' + fontSize + '">'; textMarkup += escapeXml(lines.slice(0, boldLinesCount).join('\n')); textMarkup += '</font></b><br/>'; textMarkup += escapeXml(lines.slice(boldLinesCount).join('\n')); } /////////////add record to printer object//////////////// //alert(textMarkup); var record = labelSet.addRecord(); record.setTextMarkup('Text', textMarkup); // set label text } }); // select printer to print on 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; } } if (printerName == "") throw "No LabelWriter printers found. Install LabelWriter printer"; // print the label label.print(printerName, null, labelSet.toString()); } catch(e) { alert(e.message || e); } } 
+2
source

All Articles