Sep 242015
 

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

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!

  184 Responses to “DYMO Label Framework JavaScript Library 2.0 Open Beta 2!”

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

  2. Please add categories to this post, currently it is only linked from the beta 1 post

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

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

  5. Set up and working on windows 7 and 8 and working on a machine that wouldn’t install the KB2954953 patch.

    Thanks :)

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

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

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

  9. 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?

  10. Awesome! Thanks for this update! We are now using the HTTPS support successfully in production.

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

  12. 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?

  13. 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
      });

  14. 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 :)

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

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

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

  18. 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?

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

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

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

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

  22. 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);

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

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

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

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

  25. Thanks for your help, we rolled out the fix to all our customers and they are super happy again now!!

  26. 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?

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

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

  28. How do I print more than one label?

    What are the parameters for label.print?

    label = dymo.label.framework.openLabelXml(labelXml);
    label.print(printer)

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

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

  31. Is there an update on the final release?

    thanks

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

  33. 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:

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

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

  36. 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)?

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

  38. 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’

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

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

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

  41. Any update on the Macintosh release date?

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

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

  44. Concerned that there has been no response to several posts asking for an update on the final release.

    Please reply …

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

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

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

  48. 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!!!!!

  49. 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”

  50. 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?

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

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

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

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

  55. Just a heads up that “browser” is misspelled as “broswer”

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

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

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

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

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

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

  62. 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();

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

  64. Hi Ron I have just spent 5 mins typing a reply for me to submit comment and then nothing appears …

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

  66. 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");
    }

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

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

Leave a Reply to Ron Cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)