We apologize for the length of the delay in this release but we ran into a number of unforeseen issues trying to fix a couple of the bigger issues that were brought to our attention. The two issues that we are addressing in this release are problems with HTTPS and Network Printer discovery.
Requirements
- DYMO Label 8.5.1
- DYMO Web Service Beta Installer Beta 2
- DYMO Label Framework JavaScript Library 2.0 Beta 2
- An available TCP port within the range 41951 – 41960
Network Printers
This was a big issue. A service running on windows will not see Network/shared printers for a user and there are Microsoft bugs that prevent seeing these printers when the service is run as the current user. With that in mind, we had to re-implement the way the service is run. It is now a service that starts when the user logs in. This Service will appear in a user’s application tray and can be configured from there. This will allow the SDK to see any Network/Shared Printers that the user has installed.
HTTPS
Our JavaScript library now connects to the web service via HTTPS. We have to install a self-signed certificate to allow this to happen. After installation finishes, we will ask the user if they want to open up the default browser to accept the certificate. Once the certificate is accepted then all HTTPS traffic should work as normal. You can install the certificate on other browsers by going to “https://localhost:/DYMO/DLS/Printing/Check”. This is important for the Firefox browser.
New Tray application
The new tray tool has several options:
- Start/Stop the Service
- Configure: Which will let you specifically configure a port within the approved range.
- Diagnose: This will confirm that the service is running and identify the port.
Notes
- The KB2954953 patch no longers needs to be applied for the service to work
- We’ve seen some issues where the service needs to run with elevated permissions to see the printers. We are working on this issue.
- We’ve seen some crashes when the service starts or at the end of the install. We are investigating but you should be able to start the service from the C:\Program Files (x86)\DYMO\DLS Web Service\DYMO.DLS.Printing.Host.exe
- The Mac version is being tested right now and we hope to have a version released soon.
We appreciate your patience! We are working on this as hard as we can and understand your frustrations with delays. We want to insure that we release a quality product that can meet your demands. Your feedback is valuable to us!
Thank you, I will test this today and let you know if I see any issues. If it works well and I have users install DWS b2 will they have to uninstall it when the final software comes out?
Hi Robert, Once we are satisfied with the Beta, the plan is to release this as part of a new DLS package. We are looking at automating the uninstall of the Beta as part of this new version of DLS to make roll out easier.
Please add categories to this post, currently it is only linked from the beta 1 post
You fixed it, That was quick ;-)
After install, chrome starts on http://sw_shownormal/ which does not resolve
https://localhost:/DYMO/DLS/Printing/Check
fails in all browsers.
Hi Leif,
Is the newer service running? Was this an issue that lead to your later comment about version identification?
I believe they have typo in the post. There’s missing port number in that url.
Try this https://localhost:41951/DYMO/DLS/Printing/Check or whatever port your service is using.
Also, if you right-click tray icon for DLS service, there’s Diagnose menu item that does that for you.
Yes, Thank you for pointing that out, their should be a port number in the Check URL. The Diagnose menu will only open the default browser. I added the URL so users can use it to add the certificate on non default browsers.
Thanks again dev team, we appreciate all your hard work and the continued updates. We’ve got this working in a test branch, looking forward to the release so that we can merge the changes and release to our customers.
Set up and working on windows 7 and 8 and working on a machine that wouldn’t install the KB2954953 patch.
Thanks :)
Hi there devs,
I’m so happy to see these improvements. And very glad that this is still being developed. The old version with the npapi i got working after searching and trying a long time on this site. But that won’t work anymore. Luckily I’m not that far that it is integrated in our business. But I want it to be. So I would like to request some help in the form of examples. Or tutorials. The labels that I need to make are of course text and QR code on them. The QR code made with a php script thats gives a base64 string.
It would be so awesome to get this up and running. I see so much possibilities in our business where I can utilize this.
Greetings,
Eddy
Hi Eddy,
Thank you for the kind words! As for QR Code examples, are the examples provided by the articles in the QR Code Category, not sufficient? What are you looking for specifically that is not already provided? Have you downloaded are Documentation and Samples package from the Dymo website? Some of the experienced developers on the site may be able to help as well.
Thank you for your reply. Bit late from my side but I’m having vacation atm. Actually I didn’t even know about the development website from Dymo. Last time I came here on the blog because thats what google found for me when i googled for Dymo Javascript. I’m going to download the documentation and samples. I’m very excited. Is there a forum that can go to if I have questions?
Hi Eddy, we check this blog daily for questions that users may have on specific articles. We also have an email address for SDK support: SDKReply AT newellco.com.
Working great.
Minor nag: is it possible to detect which webservice the machine is running?
In control panel, both the old and new version is listed as 1.0.0.0
Good point! That is a detail we missed, we’ll rectify that before the next release. The easiest way to tell the difference is that the newer service installs a tray icon in the users application tray and does not show up in the list of Services from the Control Panel.
For Chrome and IE/Edge it worked out-of-the box.
Firefox asked to add a certificate to exceptions list – I believe they maintain their own trusted roots storage.
Hello, one of the requirements is “An available TCP port within the range 41951 – 41960”
Does that mean my web server must have one of those ports available? Or client machines that the users will be working on must have an available port within that range?
The client’s machine must have one of those ports available.
Awesome! Thanks for this update! We are now using the HTTPS support successfully in production.
We integrated DymoLabel into our software by using your API (Dymo.Label.Framework).
In Windows 8 everything is working fine, but in Windows 10 the same label (using dymo label template) we print using
.NET C# is not printing correctly! The barcode printed on label is only half of the barcode?
To be clear, when we open the same label template in your Dymo Label software everything is working fine though.
So only when we use C# and your Framework, the barcode is printed half.
Any idea how we can solve this problem, or is there an developer framework update available which corrects this problem?
The issue you are seeing is actually a .NET/Windows bug. Essentially, the bug causes a label to stop printing after a certain point on the label. We have made Microsoft aware of this issue. Since there are no guarantees Microsoft will fix this issue, we are currently working on a fix ourselves that will be pushed out with a future version of DYMO Label Software. At the moment, you have a couple of options to work around the issue:
• Design your label in portrait orientation. I went ahead and created a portrait version of your label with rotated objects which is identical to the landscape version of the label you sent over. The label file is attached to this email. You can use this label file with your current code and the issue will be resolved.
• The other workaround is to compile your SDK application against version 3.5 of the .NET Framework. Anything newer than 3.5 will have the issue.
Hi Guys,
Been waiting for the new release to hopefully solve some other problems than those talked about here. Does this thing work only with a network Dymo printer? We need it to work only with a local printer, because all of our labels will printed locally to the browser and user.
Hi Dean, Both versions of the Beta work with local DYMO Printers. The first Beta had an issue where it could not discover network printers but had no issue finding local printers. What are the problems that you are experiencing?
Thank you for the update, really appreciate your hard work on getting this pushed out. I wonder if perhaps we could have a discussion now about the synchronous XHR requests, which is also no longer supported in Chrome 45.
I have had to downgrade Chrome to < 45 and disable the automatic updates (what a pain that is!) so that we can keep shipping product.
Is there _any_ chance you guys would make the JS part of the source code available?
I have been writing Javascript for enterprise systems and hardware interfacing for nearly 20 years and I'm a committer on the node serialport project writing Javascript and C++ code to interface with hardware from node. I would be more than happy to provide my services to add async functionality into your library while keeping it backwards compatible.
I'd even be willing to work under an NDA and do the work under contract (still free) if you're not comfortable releasing the unmangled sources.
Thanks again!
Hi Josh,
We are in the process of adding asynchronous versions of all the available methods in our JavaScript library. This feature got pushed down in priority to getting the HTTPS and Network printer functionality working. The new methods will have the same name as the old versions with “Async” put at the end of the name.
All methods return goog.Promise() of Closure Library
For example:
dymo.label.framework.getPrintersAsync().then(function(printers){
// Successful result, printers variable has a list of all supported by the DYMO Label Framework
}).thenCatch(function(error){
// Error
});
Awesome!! That is absolutely perfect.
Thank you.
Is there any documentation available on these async functions? I’ve gotten them mostly working on the 2.0 release and I can print a label, but I think I must have a parameter wrong because I get an error once the label print completes.
Josh
Josh,
We do not have any documentation on the async functions yet. However, the method signatures should be the same as their synchronous counterparts that have been documented here:
http://labelwriter.com/software/dls/sdk/docs/DYMOLabelFrameworkJavaScriptHelp/index.html
Hi devs,
We have a problem with dymo.label.framework.getPrinters() function and Dymo LabelWriter 450 Duo. If we have only label printer installed everything works fine, but when we install tape printer the Printing Host Dymo service in Windows suddenly crashes. It doesn’t matter if we have two printers or only tape installed. When tape is installed it doesn’t work. Do you have any solutions, or we are doing something wrong? Thank you in advance!
Thanks Michal for your feedback. We are investigating this to see if we can reproduce this. I have a couple of questions. What Windows version and browser are you using? Is the Web Service using elevated permissions (administrator)?
Thank you for your reply,
Our software:
– Windows 7 Enterprise SP1 (32bit)
– Chrome 45.0.2454.10
– IE 11
– .NET Framework 4
– The newest dymo software
We’ve tried to run Web Service using user as well as administrator permissions. The result is the same either way. I attach Windows crash log below, it maybe helpful:
Faulting application name: DYMO.DLS.Printing.Host.exe, version: 1.0.0.0, time stamp: 0x5601b984
Faulting module name: ntdll.dll, version: 6.1.7601.18247, time stamp: 0x521ea91c
Exception code: 0xc0000005
Fault offset: 0x00035385
Faulting process id: 0x%9
Faulting application start time: 0x%10
Faulting application path: %11
Faulting module path: %12
Report Id: %13
Thank you, This is very detailed! I’ve forwarded to our developers and will let you know if we have any more questions.
Hi,
Do you have any news about tape printer on Win 7? We need to run it on Windows 7, but when we try to print anything on tape printer – Printing Host Dymo service crashes.
Hi Michal,
This has been fixed in the upcoming released version. Unfortunately, instead of doing a 3rd windows beta, we are concentrating on trying to hit a mid November release for the final product. I’m sorry for the inconvenience this has caused.
Hi ,
Thanks a lot for your message! We are looking forward to the final version! :)
We run it successfully on Windows 8, but it would be nice to have it on Win 7 anyway :)
There is a problem with starting the webservice.
When I install the service, the tray icon shows the service is running as admin
When I reboot, an “access denied” pops up.
The tray icon show (user), and the service can not be started.
If I exit the tray icon, and go to the C:\Program Files (x86)\DYMO\DLS Web Service and run DYMO.DLS.Printing.Host.exe as administrator, it works.
I’m using windows 10
Hi Leif, that is a bug, as stated in the blog post the Beta 2 release has issues in some configurations that require it to be run as an administrator. Out intention is to not require elevated credentials. Is the user that is experiencing this issue in the administrator group?Thank you for your feedback.
I’m running this on my own machine as an administrator, where I have this problem.
Three machines not running as administrator does not have this problem.
Thank you, I’ve forwarded this to the developers, I’ll let you know if we have anymore questions.
Any news on the “must run as admin on some machines” problem?
Is there a way to from the webpage to check if the webservce is running, and to avoid doing fallback?
For our local systems, if the webservice is not available, I want to display a proper error message, and not fallback to the active-x, which displays an ugly, user-confusing error message about activeX not supported.
We fallback for purpose of Backward compatibility but we’ll take this suggestion and look at potential solutions. We may be able to add a new method that can check to see if the Web Service is available.
Call dymo.label.framework.checkEnvironment and test for “isWebServicePresent” field.
This was reported in the comments for prevoius beta.
Can you list the OS this works with? Windows 7, 8 and/or 10?
thanks!
also any ETA on the final release? thanks!
We are aiming for the end of the month but this may get delayed due to issues we are experiencing with the OS X version.
Ok. we have clients on all OS. is there some email list that i can sign up so that i will get notification? currently our clients are using firefox to print from our online app. but our app only works in Chrome so its a bit of extra work for them.
we want to roll out the new version to all so we are holding off until the MAC piece is finished.
Thanks
This blog is the best place to see when we release any new information. We apologize for the delay on the Mac version.
We have tested and validated the service working on Windows 7, 8 and 10 with the browsers Chrome, Firefox, IE and Edge.
thanks!
good luck with OS X
The new beta code works great for printing labels. I have tested in both Windows 7 and Windows 10 and it works well. I tested it with a customer site and it worked well for most of their sites, but they had one location where they have a PC that they have to still use XP due to software that is incompatible with higher versions of Windows on that PC. When using XP and IE8 they cannot print labels either with the web service or with Active X. I pulled the new framework and switched back to the old framework instead. Do you plan to make the new web service backward compatible with XP and IE8?
Hello,
In Mac version of DYMO LABEL If I am trying to change object name it is immediatelly crashes.
Please fix this.
OS: El Capitan.
Hi Adrian, Are you encountering this error in the DYMO Label software? If so you should contact our Support team. They will help you with any software related issues.
Can you please write me a quick example to how to print to a continuous label?
I generated this label with Dymo LABEL:
http://pastebin.com/zwWMyaAG
I have 3 text object: name (MENO), work (MUNKA), description (DESCRIPTION).
I can’t set automatic length for work and description. I want to print all text, no shrinked, auto length.
I tried to remove length, lengthmode, but I get error 400.
Best regards,
Adrian
Here is my JS:
http://pastebin.com/c34ZjEd5
My last question is: it is possible to print from mobile, if the Dymo is connected to PC?
We do not support Mobile printing at this time.
Sadly, because It would be a killer feature.
My other questions is: I installed Web Service beta on my Win7 machine, but I don’t know If I can use my Dymo on Mac OS X remotely.
I find here some sample code and these code examples are finds my printer, but I can’t print.
Even the printer dialog become active:
https://www.dropbox.com/s/5tyn4bepsflbbfi/Screenshot%202015-10-07%2015.51.12.png?dl=0
Please also check my prev. questions: the SDK support word wrapping? I did manually, but it would be great in SDK too.
And please consider mobile printing -> Dymo connected to Win -> print from mobile.
Here I found some references to the mobile printing:
http://developers.dymo.com/2011/04/05/dymo-label-web-sdk-beta/
It is not actual?
Sorry, I thought the framework found the shared printer, but it was the local printer installed on Mac. Is there any chance to use Windows Dymo on Mac (with JS SDK)?
The windows version will not work on the Mac. We are working on Mac OSX version of the web service that we will release as soon as we feel it is ready. We apologize for the delay but we have encountered some technical hurdles that is causing a delay.
I have an idea how to make remote printing! Though I’m not sure if it’s 100% viable. You can experiment yourself.
1. Since service is listening on localhost only, it’s impossible to connect to it from the outside world. However, a local HTTPS proxy can be deployed on the same machine – it will listen one of the ports in range on a real network interface and forward all incoming requests to the webservice on the local host.
2. Then, you need to modify obfuscated JS framework code and replace all instances of “localhost” with your forwarding proxy name/IP – this way you’ll be able to print from any device, including from Android/iOS.
Alternatively, you can setup another HTTPS proxy on a target machine that will listen localhost on target and forward requests to proxy where webservice is working (2 proxy chain). This is harder but will allow working with original JS file(which may be not under your control).
Nice idea. If I can’t get Dymo Label Proxy work I am going to check this solution.
My problem with Label Proxy:
I installed Dymo Label 8.3.1, as only this version includes the Proxy.
The service is running.
Then I go to your demo page and enter my printer url (http://192.168.1.20:8631/). The printer is correctly recognized.
http://labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html
After I click print I get: Job Status: InvalidJobId
The console:
Failed to load resource: net::ERR_CONNECTION_RESET
getPrinters URI works properly:
:1988/getPrinters
"DYMO LabelWriter 450DYMO LabelWriter 450FalseTrueFalse"
Windows Firewall is disabled.
OS is Windows 7.
Yesss!!! I got it working with reverse proxy!
I am able to print from any device now!
Thank you very much!
If anyone needs a help, contact me!
What are you using as reverse proxy? IIS?
Could you type a little howto?
Thanks!
You must buy Charles proxy.
h t t ps : / / g o o. gl/ photos/ hzoySAJyz8cNzksV6
Then setup:
1,
Enable Proxy -> Reverse proxies
(first image)
2,
Enable SSL proxying setting
(second image)
Charles is now configured:
3,
DLS Web Service must be set to 41952
(third image)
4,
In the Dymo framework search for localhost and replace by your ip address of the computer.
Theory:
you have now ip:41951 redirected to localhost:41952
Do a quick test from remote machine:
h t t p s / / i p : 41951 / DYMO/DLS/ Printing/ Check
You must accept the certificate and you must see the success message.
Framework will look for first 41951 so your proxy server will be recognized at first.
I hope Dymo’s Framework developers see the potential in this and they enable connecting from anywhere. It’s very cool to print from mobile/tablet/any device on the world.
I run charles in headless mode, without recording. The memory usage is 50-60MB === nothing.
—
There is also a free tool named Stunnel, but it’s cannot fake the request host, so DLS Web service refuse the connection. :(
—
Let us know if you found this info helpful and write a comment. :)
It is also possible if you use a Apache webserver as reverse proxy.
magic:
Please write a little howto for Apache solution. I tried, but I was unable to configure it. It needs certificates which I not have.
Hey Adrian you are a legend. your how to was so so helpful. Lot more than useless help section of Dymo and their pathetic support. Asked question 4 days ago still no reply. I owe you a box of bear.
Hi all,
could you please let me know what’s the purpose of the “DYMO Web Service Beta”?
Do I need to install it into my webserver?
Regards,
Marco
Instead of having a plugin to different browsers (and not all browsers support plugins) to talk with the hardware, the webservice is installed on the same machine as the printer and the browser.
The webservice knows how to talk to the printer, and every browser knows how to talk http to the webservice,
So the webservice is supposed to be installed on the client.
You might make it available for download on your webserver, however, that is not a requirement.
Thank you for the reply.
One more question:
What about the JS code to execute on client side? Can I use the previous code?
That’s my current code:
var label = dymo.label.framework.openLabelXml(labelXml);
// set label text
label.setObjectText(“IDPRODUCT”, Dymo_barcode);
label.setObjectText(“PRODUCT_CODE”, Dymo_text);
label.setObjectText(“PRICE”, Dymo_price);
var printers = dymo.label.framework.getPrinters();
var printerName = “”;
for (var i = 0; i < printers.length; ++i) {
var printer = printers[i];
if (printer.printerType == "LabelWriterPrinter") {
printerName = printer.name;
break;
}
}
// finally print the label
label.print(printerName);
Your code should be compatible to the new Web Service except that we suggest using the new init method. You’ll find this in the first Web Service post.
It is for web developers to use for creating applications that will print labels to DYMO printers. The web service should be installed on the user’s PC.
This looks promising!
Thanks for all the hard work you guys put in.
Can you please provide the code for a button to print an adress using a specific label layout?
That would be great!
Thanks for the feedback Just!
You can find a lot of examples in our Documentation and Samples install that we have available from our website. You should be able to use one of the examples as a basis for the functionality that you are looking for.
It is possible to destroy or hide object (TextObject)? I want to hide /not print/ the object, If variable is null.
if (beer[0].telefon !== null)
{var telefon_print = beer[0].telefon} else { var telefon_print = NULL};
label.setObjectText("PHONE", telefon_print);
If you assign an empty value to the text object then it will technically not print anything. Is this good enough?
It is still preserves the space for the object. Not a bad idea, but it’s not very nice on the paper.
I thought If I set to Auto and the value is empty, then the Length must be 0px, but it’s not.
Yeah, in the SDK, a label file acts more like a template. You could have multiple templates/label files and load up the appropriate one based on the data retrieved from your web site.
Not a big thing, it is just a cosmetic issue. :)
Maybe think about this remove[hide]object feature in the future.
Hi Adrian, We can put it on our requested feature list.
Instead of waiting for this feature I would suggest either modifying the label XML with JS or do as dymodev said and load a different template.
Thanks for your help, we rolled out the fix to all our customers and they are super happy again now!!
Any updates on this? We and about 400 of our customers are waiting for your support.
Thank you!
Hi Bart, Are you referring to the final release or is there an issue that you experiencing that you need a fixed version for?
I am also interested in this. Is there an expected date for the final release / update to the DLS?
Hi Bryan, We are tracking for early/mid November for the final release which will be bundled into DLS.
We’re referring to a final release. We can’t keep calling it a BETA version. As a DYMO software partner we think communication is very poor in this matter.
I know you’re working very hard on it, but it would be nice to communicate with your users.
Thank you!
Hi Bart,
I apologize if the communication seems poor, but we have been answering users questions as best as we can when posted on the blog or when we receive email. This is with the caveat that we want to try and give as accurate information as possible. As for the release, right now we are on track for early/mid November. I am trying to get the release as early as possible because I know there are a lot of people waiting on this. Please keep in mind that a software release takes a lot more time than a beta and there are a number of processes that we have to go through to release a new version of DLS.
Hi guys,
For your next release, I would love to see three things:
1) The web service should be hostname agnostic – any request it receives should be serviceable. Currently, it listens on ::80 (any ipv6 and v4 address), but any requests it receives that don’t have the hostname “localhost” are rejected with 400 invalid hostname. Doing this would present a security concern, so I would expect this to be a configurable option that is off by default.
2) Be able to specify a hostname when I call init to tell the javascript library which host has the printers. I see that “https://localhost” is hardcoded in the javascript lib, so I would expect that replacing this with a variable is all that is needed.
I see that there is an “addPrinterUri” function from the old framework, but this does not appear to work with the new framework.
3) The “DataTracking” service must be an option that is prompted for in both the installer and the service options. I understand that you want to know how the product is used, but I did not knowingly consent to it – configurable privacy options are important :)
Thanks!
1. You have a good point on this, we’ve been discussing this internally.
2. As for the first part, this is working exactly like the old SDK, we are not planning in the short term to have the Web Service accessible beyond the local machine that it is installed on. There are more security concerns beyond those that you have pointed out in your first point that we need to consider before we do that.
The “addPrinterURI” function should work, we have not removed any methods from the Framework. I will talk to the team to get validation on that.
3. No “DataTracking” has been added to the Web service there is one that is part of DLS. In the DLS software, there is a “Help improve DYMO products” option in “Edit->Preferences->General” that can be turned off. I will bring your concern to our requirements team, with the request to have the ability to turn it off at install time.
How do I print more than one label?
What are the parameters for label.print?
label = dymo.label.framework.openLabelXml(labelXml);
label.print(printer)
Check out the LabelSetBuilder which is used to create a LabelSet to print multiple labels in one print job.
Guys, I installed DLS Web Service in another Windows 7 computer, but instead of success page with green text I get a blank page with “true” word.
Sorry, I checked at wrong URL.
Hi,
please help! This morning I get error Chrome message: unsupported plugin application/x-dymolabel. But only on a network Windows 7 workstation, while on the local one it works.
Riccardo
Did the Web Service work on the network Windows 7 workstation before? If so, are you aware of any changes on it that could have caused an issue? There is a “Diagnose” option in the tray application for the Web Service, what does it report? My initial though is that it sounds like the web service isn’t running.
THANKS SO MUCH!
I didn’t realize that it was simply web service not running…. Don’t know why, but solved!
Your help is always highly appreciated,
Riccardo
Is there an update on the final release?
thanks
I am trying to check if printing was success:
var success = label.print(printerName);
if (success == true) {
returnState = true;
console.log("OK"+returnState+success);
}else{
returnState = false;
console.log("NOK"+returnState+success);
}
The problem: success is always undefined. But why? It should be true or false.
Here is the full code, relevant lines are on line 439 and 590:
http://hastebin.com/ayekuluzad.xml
I am trying to check if printing was success:
var success = label.print(printerName);
if (success == true) {
returnState = true;
console.log("OK"+returnState+success);
}else{
returnState = false;
console.log("NOK"+returnState+success);
}
The problem: success is always undefined. But why? It should be true or false.
Here is the full code, relevant lines are on line 439 and 590:
Why I can’t paste here links? :(
hastebin.com/ayekuluzad.xml
Why I can’t paste here links? :(
hastebin (.com)/ayekuluzad.xml
Any help appreciated
Hi Adrian,
The print method has no defined return value, it is void method. This is why you are seeing a “undefined” return value. The reason for this is because the LabelWriter printers do not have a print status that gets sent back to either the SDK nor to DLS.
Could we have an update when we can expect production release version.
Thanks
Hi Glen,
We are testing production versions now. Since our SDKs require a full release of DLS, I would expect we are at least a few more weeks out from release as we need to retest DLS as well as the SDK. We are doing everything we can to get this out ASAP.
Thanks for the update! After installing the self-signing certificate on Chrome, it works just fine.
I’m still having trouble getting it to work on Firefox, however. Seems as though the .getPrinters() is not recognizing any printers. I tried https://localhost:41951/DYMO/DLS/Printing/Check in Firefox and a secure connection failure page appeared. Adding it to the exceptions list did not help. I still believe its a certificate issue. Any ideas?
Hi Michael,
This is a certificate issue as well. You need to add certificate to Firefox. The URL you used should allow you to put the certificate in Firefox’s certificate store. We have fixed the need for that in the release version, we will install the certificate as part of the install.
I am getting this message when I try to print a label “Failed to execute webservice command: 400: Bad Request”.
I am getting this error at this line:
// finally print the label
label.print(printerName);
I tried https://localhost:41951/DYMO/DLS/Printing/Check and it is working well.
What kind of DYMO printer are you using? There is a known issue with the DYMO tape printers which will be resolved in the final release.
Are you able to print from DYMO Label Software (DLS)?
DYMO labelwriter 450. Able to print on DLS.
Is there a way of getting the width of a tape in a connected TapePrinter?
No, there isn’t an API call to get the tape width.
Would it be possible to have this feature is the next release? We would like to dynamically use different layouts based on a) printer type b) tape width / label dimensions of connected printers. Currently we only have modelName and printerType information which falls short in this respect.
Unfortunately this isn’t possible since other companies have patents on technology required for such a feature. It even has an impact on the hardware design.
Hi,
I’m trying to build a simple barcode print page. I’m using a LabelManager Wireless PnP.
I have 2 problems:
1. When I load the label file with $.get, the raw input looks fine in console.log but when I pass it to label = dymo.label.framework.getLabelXml(data) and do a label.getLabelXml() I get a “error on line 1 at column 1: Document is empty” response. I’ve created simple empty labels in DYMO Label v.8 with a single text field or a single barcode but all return the same response.
2. I’m able to get the file loaded with getLabelFile(‘path’) but for some reason getAddressObjectCount() returns 0 and getObjectNames() returns array of all object names correctly. I’m not able to setAddressText() to any of them as all attempts return ‘Cannot read property ‘getElementsByTagName’ of undefined’
Hello, I’m developping a web application for a kitchen cabinets company and I’d be interested to use this product to label all our cabinets and milwork items when they are ready to be shipped. We would identify all the items by their job name, order number and some specs (dimensions, color, etc.)
Since we’re generating all the reports online on our web app through Chrome, I’d like to know if it’s possible to bring multiple custom labels to DYMO Label 8.5.* at once. In other words, is there a way to export multiples labels from the browser to the software in one request ? I saw there was an included javascript framework to support this, but I was also wondering if it was flexible enough to let us create the look we want or if we’d be stuck to use one of your label template.
We’d also like to know if the official stickers provided for this machine are very sticky so they won’t curve and fall down in the handling/shipping process.
Thanks !
Pierre-Luc
I forgot to ask, just to get sure : Except the javascript part, nothing needs to run on our webserver, right ? (We’re on CloudLinux). I mean, the DYMO Web Service Beta Installer Beta 2 is installed on the client side ?
thanks
Yes, the web service only needs to be installed client side.
Hi,
You can create any labels you want and use them with our SDK, you do not have to use pre-defined templates. As for the stickiness of the labels, it varies depending upon the surface its being applied to. But in most cases, our labels will adhere very well to clean, flat surfaces.
Please let us know how the Production Release is progressing and a possible date. Its almost two weeks since your last update.
Perhaps you could start an email list to inform us…
thanks
ejmichel
Any update on the Macintosh release date?
Hi,
I have two printers.One Is TwinTurbo(shared printer) and Other Printer is Dymo LabelWriter400.Dymo LaberWriter 400 is connected to my computer via USB Cable.My issue is It always selecting only one printer.I removed Dymo LabelWriter400 USB cable which is connected to my computer.As per the below code,if LabelWriter400 is offline the lable should print in twinturbo.But it’s working very wierd.It always pointing to LabelWriter 400.Could you please help me and this is very important for me!
I am using the following javascript code in my application.
var dymoPrintersAvailable = DymoAddIn.GetDymoPrinters();
if (dymoPrintersAvailable.indexOf(“|”)) {
var printers = dymo.label.framework.getPrinters();
if (printers.length == 0)
throw “No DYMO printers are installed. Install DYMO printers.”;
for (var i = 0; i < printers.length; ++i) {
var printer = printers[i];
if (printer.modelName == "DYMO LabelWriter 400") {
var isLabelWriter400Online = DymoAddIn.IsPrinterOnline(printer.modelName);
if (isLabelWriter400Online)
DymoAddIn.SelectPrinter("DYMO LabelWriter 400");
else
DymoAddIn.SelectPrinter("DCE-DYMO LabelWriter 450 Twin Turbo");
}
if (printer.modelName == "DYMO LabelWriter 450 Twin Turbo") {
var c = DymoAddIn.IsPrinterOnline(printer.modelName);
var isTwinTurboOnline = DymoAddIn.IsPrinterOnline(printer.modelName);
if (isTwinTurboOnline)
DymoAddIn.SelectPrinter("DCE-DYMO LabelWriter 450 Twin Turbo");
else
DymoAddIn.SelectPrinter("DYMO LabelWriter 400");
}
}
}
var DymoPrinterName = DymoAddIn.GetCurrentPrinterName();
if (DymoAddIn.Open('C:\\Documents and Settings\\All Users\\Documents\\DYMO Label\\Label Files\\Address (30252, 30320, 30572).LWL')) {
DymoLabel.SetAddress(1, proc);
DymoAddIn.Print(1, true);
}
else if (DymoAddIn.Open('C:\\Program Files\\DYMO Label\\Label Files\\Address (30252, 30320, 30572).LWL')) {
DymoLabel.SetAddress(1, proc);
DymoAddIn.Print(1, true);
}
else if (DymoAddIn.Open('C:\\Program Files\\Dymo Label\\Label Files\\Address (30252, 30320).LWT')) {
DymoLabel.SetAddress(1, proc);
DymoAddIn.Print(1, true);
}
else {
alert('Error: Label file Not Found!');
}
Hi, Have you tried to hardcode your application to use the Twin Turbo? If this test works, I’m assuming there’s an error somewhere in your logic for selecting a printer.
I reset my windows 10.
When I try to install the webservice, I get the message
“Program terminated unexpectedly: Exception has been thrown by the target of an invocation”
I finally got the Eureca-moment: The printer drivers were not installed.
Doh…
The webservice installer could be more informative, and catch this error.
Many of us had this(I fell in this trap twice). Just remember that DLS shold be installed, as this blog post says.
Concerned that there has been no response to several posts asking for an update on the final release.
Please reply …
We anticipate to release the Windows version as well as a first beta Mac version beginning December.
What’s the status?
We’ve released the new DYMO Label 8.5.3 for Windows: . Mac OSX verison will follow very shortly.
Is there any release date planned already?
We’ve released the new DYMO Label 8.5.3 for Windows: . Mac OSX verison will follow very shortly.
Would it be possible to maintain this library a bower package with a public repository? That will make it much easier and cleaner to manage new versions for a lot of applications.
Also, it would be nice if the Promise library wouldn’t be packaged with the dymo label library. A lot of applications are already using promises through the same or a different Promise library then goog.Promise. Could be handled through bower as a dependency as well I think.
Hi Richard,
There is no plan at this time to create a bower package from our SDK.
As for the the Promise library, this would take a big change within our library. We’ll take your suggestion under consideration for a future release but it is unlikely that it will happen soon.
Thank you for your feedback.
When will remote printing be ready? I tried it with sharing a printer but it won’t see the Labelwriter.
I’m going to try the remote proxy thing but it would be great if the service tool could forward the packets..
We’ve released the new DYMO Label 8.5.3 for Windows: . Shared printers have been tested in this release and should work.
Now in the beginning of december I’m waiting for final Releases of the Framework and DLS for Windows AND(!) MAC, but nothing happens.
What should we do in a prduction Environment without solution from the vendor???
In addition to that we do not know, if we have to alter our existing code. It seems the people in this thread all know, what they have to do – but we not :o(
We’ve a solution coded by an external Partner, so we’re interested in a detailled ‘how to’, on what we have to customize.
For example: Do we have to simply add the ‘init’ in our code? …
Our application is hosted on an Mac OS X Server and Clients (Windows and MAC) are printing from loacal attached Printers.
We’ve released th new DYMO Label 8.5.3 for Windows: . MacOSX verison will follow very shortly. The Mac implementation was more difficult than we had estimated. We ran into a lot of issues trying to make sure the Mac version worked in the same way as the Windows version. That being said we are testing the first Release Candidate for MacOSX right now.
Thank you so much guys! So far one of the easiest IOT devices I’ve integrated into our CRM. I’m happy that the barcode feature works out of the box with JS library.
I have a question though.
Is it possible to “Verify and correct the address” before printing the address+barcode with your JS library, or do I have to use an external service for that? If so, do you have any recommendations? thanks so much again!!!!!
I’m using the Javascript Library 2.0 open beta 2
The DYMO Label Framework 2.0 has been released. Please check the following blog post: http://developers.dymo.com/2015/12/08/dymo-label-software-version-8-5-3-for-windows/
The DYMO Label Software (DLS) provides an “Address Fixer” feature which allows to verify and correct US based addresses. But this feature isn’t available to the DYMO Framework. Therefore you have to go with a external service.
Hi Slava,
Unfortunately, we do not have a method to verify address’ built into our JavaScript library. You will have to use and external service.
I have been trying to get this to work on windows 10 and all I get is no printer installed. Also I can print from labelmaker.
Hi John,
If you see the Web Service running and can successfully run “Diagnose” in the tray application, this is usually caused by not using the init method that is new to this version of the Framework. Please see the following post explaining how to use the method.
Hi, I’m getting the same issue as John except when I run the Diagnose, the certificate check is failing and saying “This site can’t provide a secure connection”
I am trying to create a practice app using a 450 turbo. I have created a console app using javascript and the associated dymo framework. I am unable to print and keep getting the following error: Uncaught Error: Failed to execute webservice command: 400: OK
The following is from the response:
The server encountered an error processing the request. The exception message is ‘Could not load file or assembly ‘DYMO.Common, Version=8.5.3.1897, Culture=neutral, PublicKeyToken=5426002a38745af9′ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)’. See server logs for more details.
Any idea of what I need to do?
Hi Anwar, Have you installed the latest version DLS on your test machine?
Hi, can someone help me update this plugin? I tried with new framework but it doesn’t work
http://pastebin.com/QR032VFL
Hi Massimo,
Can you provide more details on the issues that you are encountering?
Also, you should make sure that you are using the current released version of the Framework and DLS, this post has links to the latest versions.
Hi,
I’m using the JS library to print custom-designed labels and it’s working great. Thanks for all your work!
However, when I print on continuous labels[1], the printer feeds a long stretch of paper after each label.
I see that manual printing supports a “GS L” command[2] which is required for continuous-feed paper. But, I’m not sure how to use that command from JavaScript.
Is there a way to signal a feed break from JavaScript? Or can I add something in the label designer software? Or can I manually add something to the XML for this?
Thanks for your help!
Robert
[1]: http://www.dymo.com/en-US/lw-continuous-labels-2-1-4-x-300
[2]: “GS L Set Feed Length” http://download.dymo.com/dymo/user-guides/LabelWriter/LWSE450/LWSE450_TechnicalReference.pdf
Are you using a continuous label template file? If yes, does it print correctly from DLS?
The “GS L” command is support by the DYMO LabelWriter SE450 only. I assume that you are using a DYMO LabelWriter 450 which isn’t the same as the SE450.
Hello,
are there any example available that works in chrome?
Thanks,
Alex
If using the latest version of the JavaScript SDK and with the latest version of DLS installed, all of our existing Javascript samples should work without issue.
Hello,
even in the diagnose everything is fine
var printers = dymo.label.framework.getPrinters();
if (printers.length == 0)
throw “No DYMO printers are installed. Install DYMO printers.”;
Still gives me no printers. Everything is working fine printing directly from DYMO Label 8.5.1 also trough chrome regular printing but trough the SDK it’s not, where can be the problem?
Regards,
Alex
Just a heads up that “browser” is misspelled as “broswer”
Thanks for the heads up!
Set this up and I have got the point where I can send a job to the printer through the webserver for the dymo and I get:
“Request Error
The server encountered an error processing the request. See server logs for more details.”
… Where are the log files I have spent the last 20 minutes looking for these and nothing, can’t even find a mention of these on this site I really need to see whats going on here.
You’ll find the DYMO web service logs at the following location: C:\Users\\AppData\Local\DLS8\DLSWebService.log
However, the error message you are seeing is not produced by our web service. Are your calls to the JavaScript SDK happening server side? If so, you may want to check the logs for your web server as this error message seems to be referencing those logs.
Hi Sorry this was my fault i was using the older js library and forgot to change how I was printing to the .label file method instead of hardcoding my XML.
Works now thanks.
Bug:
Installed on windows 10:
DYMO.DLS.Printing.Host.exe Information: 0 : Starting DLSWebService 1.0.0.0
ProcessId=6656
ThreadId=1
DateTime=2016-08-02T07:36:26.1336490Z
DYMO.DLS.Printing.Host.exe Warning: 0 : Running in non-elevated mode, host setup won’t be performed
ProcessId=6656
ThreadId=1
DateTime=2016-08-02T07:36:58.3989783Z
It seems to be wanting to be run in elevated user mode, is there anyway to accomidate this? I have had this running on windows 7 on the same PC without issue but upgrading to 10 has given me this issue.
Hi Sam,
The web service should work in non-elevated mode without any problems so you can safely ignore this message. If you are experiencing any problems, however, please feel free to email [email protected] for further assistance.
Regards,
Jeff Gonzales
DYMO Software
Hi,
I integrated the javascript framework with my web app but it only seems to work Firefox browser, I tried different all the settings for popups for chrome, internet explorer and edge and it doesn’t seem to work. I am getting the following error.
isFrameworkInstalled: false
errorDetails: DYMO Label Framework Plugin is not installed
Kindly suggest what to do .
Thanks and Regards
Max
We have this working on a non-secure version of our system. However, despite trying everything above, our SSL production version will not print labels.
We are using the following:
OSX 10.11.6
Safari 11.1
DYMO Label Version 8.6.2.134
We ran this:
https://localhost:41951/DYMO/DLS/Printing/Check
and we get the “Congratulations! DLS Web Service is Up and Running”
It still does work.
Jason
Hi Jason,
sorry to hear you are having SSL issues…
Do any of the SDK calls work? Can you get a list of printers?
Ron
On your labelwriter website your have this:
http://www.labelwriter.com/software/dls/sdk/samples/js/PrintMeThatLabel/pl.html
I have downloaded the “available sdk” and can’t find this example.
All I want is to print a tape label from a webpage on my labelwriter 450 Tape.
please help.
the sample is the web page itself… You can write click on the webpage and view the source code.
Ron
Hi Richard,
The webpage itself is the sample. You can view the code by right clicking the webpage and “View Source”. The javascript is pretty straight forward.
Ron
Its not straight forward to me. How do I view source of the .js files .. you have created 4 or 5 html and Javascript files to print 1 label, seems a little overly complicated, that’s progress for you..
do I need to the javascript files? How do I view them?
The old duo work perfectly fine using the activex addin how is this any better?
Thank you
Richard, out JS files are minified and will not be readable. I recommend you take a look at some of our JS samples. Their source is readable and can be accessed through your browser’s dev mode.
http://developers.dymo.com/2016/11/29/sample-samples-samples/
function Btn1_Click()
{
//var DymoTape;
//DymoTape = new ActiveXObject(“Dymo.DymoTape”);
var editCtrl = document.getElementById(“Edit1”);
var txtToPrint = editCtrl.value;
label.setObjectText(“Text”, “textToPrint”);
//DymoTape.New();
//DymoTape.AddText(txtToPrint, “Verdana,16,CS:0”, 0, 0);
//DymoTape.AddText(txtToPrint, “Arial,16,CS:0”, 0, 0);
//DymoTape.BorderMode = 0; //think (this is wrong in the sdk)
//DymoTape.SelectPrinter(“DYMO LabelWriter DUO Tape 128”);
//DymoTape.SetTapeWidth(1); // 1=9mm 2=12mm
//DymoTape.LabelLength = 0; //auto
//DymoTape.LabelOrientation = 0; //horizontal
//DymoTape.TextAlignment = 2; //center
label.print(“DYMO LabelWriter 450 Duo Tape”);
//DymoTape.Print(1);
//DymoTape = null;
location.reload();
}
<font face=verdana color="” size=2>Print Tape Label
<font color="” face=”Verdana” size=”2″>Text:
form1.Edit1.focus();
It doen’t work … don’t know why..
Hi Richard,
Are you able to debug this code? Are the rest of the values that you are using working as expected?
Ron
Hi Ron I have just spent 5 mins typing a reply for me to submit comment and then nothing appears …
I am stuck, I am not a programmer, I have already spent 3 days trying to get this printer to work..
All I want is a simple HTML example to enter some txt in a txtbox and press a button and it prints on the tape.
I don’t need cookies, css and other stuff integrated with it.
Hi Richard,
If you are just trying to print some labels, perhaps it would be better to use our DLS software. Our SDK is definitely targeted towards software developers only.
regards,
Ron
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("cc_mn.label");
label.SetObjectText("NameTxt", "John Smith");
label.print("DYMO LabelWriter 450 DUO Tape");
}
Still no help here? :(
Hi Richard,
Perhaps you can give me some more information about what you are trying to accomplish and what problems you are having.
Ron
We use shopify for our apparel store. Moved offices. Installed my Dymo 450 on new computer & the software. When I go to print from shopify says we have to have Safari & the “no dymo installed” even tho it is, but we have dell computers. ANY suggestions would be appreciated bc i’ve been through shopify & dymo
Hi Nikki,
Did you install the same version of DLS on your new computer? I suspect that shopify is expecting a certain version of DLS be installed.
ron