drobdymo

May 292018
 

Hi everyone,

Today, we are releasing an updated version of our JS SDK and DLS to address some security and TLS issues. These updates are now live on dymo.com and labelwriter.com. You will find download links below. Please note that the latest version of DLS requires the latest version of JS SDK. If you plan to update your users’ DLS version then you will also need to update the JS SDK version used in your application.

DYMO Label Framework JS SDK – http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.3.0.js

DLS Windows 8.7.2 – http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.7.2.exe

DLS Mac 8.7.2 – http://download.dymo.com/dymo/Software/Mac/DLS8Setup.8.7.2.dmg

May 092018
 

We wanted to take time to highlight some changes that will be coming to the SDK web service in the next update of DLS. The changes are centered around reducing potential security risks as well as improving the overall end-user experience.

  • Behavior change for disconnected users

    Currently, when the JavaScript SDK tries to discover the DYMO SDK web service instance running on the machine, it does so by scanning all ports within a range. The first port that responds is the one that is used. If the JavaScript SDK connects to a web service instance the belongs to a disconnected user, printing will fail.

    In the upcoming version of DLS, the web service for each user will suspend itself if the user disconnects (either due to fast-user switching or temporary RDP session disconnect on a remote machine). Once the user becomes active again, the service will resume. This will ensure that only one instance of the web service is active at any given time (NOTE: for Windows Terminal Server multiple users can be active simultaneously so multiple web service instances can be running)  and will prevent any issues dues to multiple web service instances.

    The DYMO SDK web service scans a 10 port range in order to find an available port to run on. In the event of all 10 ports being taken (meaning there are 10 active users logged onto a machine), any new users that log on will not have their own web service instance but instead use one of the existing 10 instances. For most common usage scenarios this will not be a problem. However, if the JavaScript SDK connects to another user’s instance (due to being the first to respond to the port scanning), shared printers for the other user will be visible through the SDK but shared printers for the current user will not.

  • Random certificate generation

    Root and exchange certificates will be generated randomly using strong cryptographic keys during DLS installation and discarded immediately after installation. This ensures the certificates are unique for every DLS installation and adds an extra layer of security to the DYMO SDK web service.

  • Change in web service URI

    The DYMO SDK web service will be changed to use 0.0.1 instead of localhost as its URI to avoid host name spoofing. This means that the existing JavaScript SDK will not work with the new web service installed with DLS. An upgrade to the new version of the JavaScript SDK will be required if a user updates their DLS install. However, the new version of the JavaScript SDK will be backwards compatible with older versions of DLS.

  • Firefox changes

    The new web service for DLS Windows does not install a root certificate into Firefox’s local keychain. Instead, it enables Firefox’s built-in feature which allows Firefox to user OS certificates. This flag is set on DLS installation and removed on DLS uninstallation.

Apr 242018
 

UPDATE

A new version of DLS is available that resolves this issue. This will need to be installed on any client machine experiencing the slow printing issue. You can download it here:

 http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.7.1.exe

UPDATE 2

The above version of DLS is now live on DYMO.com for all regions.

http://www.dymo.com/en-US/online-support/dymo-user-guides

Since 4/23/2018 all users of the windows version of our SDK have been experiencing a 10-15 second slowdown. The issue can also cause performance issues when opening label files in DLS.  This appears to be caused by our code attempting to contact 128.30.52.100 (http://www.w3.org/1998/XMLSchema)  in order to validate each label before printing.

We have identified a fix for this issue and we are currently expediting a test cycle so we can release a patch as soon as possible.

Until the actual fix goes out, users can alleviate this slowdown by preventing this call.  We have seen success with two methods thus far.

  1. Prevent connections to 128.30.52.100 (http://www.w3.org/1998/XMLSchema)
  2. Use the windows defender firewall to prevent DYMO.DLS.Printing.Host.exe from making outbound connections.

 

We apologize for the inconvenience, and will update this post as soon as the situation has been resolved.

-Regards,

DYMO Team

Dec 122017
 

Hello everyone,

Chrome recently released an update to Chrome (version 63) that includes experimental support for TLS 1.3. Unfortunately, this is causing problems with our client-side web service that powers the JavaScript SDK. We are currently looking into this issue but in the meantime, there is a workaround available. The following steps need to be performed on affected versions of Chrome:

  1. In the Chrome URL bar, enter chrome://flags and hit Enter
    chrome_flags_url
  2. Once on the chrome://flags page, find the setting for TLS 1.3
    chroms_tls13
  3. Change this setting to Disabled
    chrome_tls13_disable
  4. Relaunch Chrome
    chrome_relaunch

Once Chrome restarts, you should no longer receive the ERR_SSL_VERSION_INTERFERENCE error. We will update this post as we continue to research this issue.

Nov 292016
 

Hi everyone,

Over the years, there has been a lot of confusion regarding our SDK samples. In the past, to get our samples, you needed to download an “SDK Installer” from www.dymo.com. The “SDK Installer” name was a bit misleading as the installer only contained samples, no binaries. As you know, all the binaries required for our SDKs are installed as part of DLS. So in order to clear things up, we’ve consolidated all of our samples into one ZIP file. This ZIP file contains the following:

  • DYMO Framework Samples for C# and C++
  • DYMO SDK High-Level COM Samples for C++, C#, VB, and ASP.NET
  • DYMO SDK Low-Level COM Samples for C++
  • Documentation for both the DYMO Framework & DYMO SDK

This ZIP file can be downloaded here: SDKSamples.zip. Please note that all of the samples in the ZIP file are intended for use in Visual Studio 2015 and using .NET 4.5.1 where applicable.

We also have a number of JavaScript samples that can be explored. While we do not provide the source for these samples directly, you are free to use the dev tools within your favorite web browser to check out the source code for these samples.

  • Print Me That Label – a simple JavaScript sampled that can be used to check if DLS is installed properly and the JS SDK is functioning correctly
  • Preview and Print Label – see a preview of a label in the browser and print the label
  • Print 2 Labels – example of multiple label printing
  • QR Code – barcode printing example
  • Spreadsheet – example of printing multiple labels from an online data source

Furthermore, we have a a diagnostic sample that can be used to ensure your dev/client environment is setup correctly.

  • Check Environment – runs a quick check of your setup and brings to your attention any potential problems

Happy coding!

Sep 302015
 

Hello everyone,

A lot of our SDK users are running into a particular issue printing barcodes where they will be clipped or not printed at all. The issue is actually being caused by a bug in the .NET Framework (v4.0 and newer), specifically in XPS printing. The trigger for the issue is when our printers go into “Barcode and graphics” mode. Unless manually overridden, the DYMO SDK will switch the printer to “Barcode and graphics” mode whenever a barcode or image object is present on the label. When in this special mode, the resolution of the printer changes from 300 x 300 DPI to 300 x 600 DPI. This “non-square” resolution is not handled correctly by XPS and causes the clipping issues.

Below is an example of this issue. The label on top is OK while the label on the bottom is printed with the issue.

IMG1

What you may notice is the label with the issue stops printing at a distance across the label that is equal to the width of the label. This is the crux of the XPS bug and as you can see, also affects other label object types as well.

IMG2

Now that we understand the issue a little better, what can we do about it? Let me start by saying that we have made Microsoft aware of this issue. Since there are no guarantees they will fix the problem, we are currently working on a solution that will be pushed out in a future update of DYMO Label Software. In the meantime, you have a few choices for working around the issue:

  • Design your label in portrait orientation. For most label types, the issue will not arise if the label is printed in portrait orientation. By using the object rotation feature in DLS, you can easily design a label in portrait orientation that will look identical to one designed in landscape orientation.
  • Compile your SDK applications against .NET 3.5. As mentioned earlier, the issue is with .NET Framework versions 4.0 and newer. Current versions of DLS are compiled against .NET 3.5 so you will not see this issue when printing from DLS. However, if you are compiling your SDK application against newer versions of .NET, when your application runs, the newer version of the framework will be loaded. Even though the DYMO SDK binaries are compiled against 3.5, .NET backwards compatibility will kick in and the newer version will be used instead. So, to take this approach, you will need to compile your SDK application against .NET 3.5.
  • Force the print job into “Text” mode. In the DYMO Framework, you can override the print quality setting using the ILabel.Print(IPrinter, IPrintParams) API. An example of how to override this setting can be seen below (the parameter used to change the print quality is marked in bold):

    LabelWriterPrintParams prms = new LabelWriterPrintParams(1, "print job 1", FlowDirection.LeftToRight, RollSelection.Auto, LabelWriterPrintQuality.Text);
    _label.Print(printer, prms);

Thanks for bearing with us on this issue. Rest assured we are working hard to get the fix out. In the meantime, we hope this blog post will help you get your labels printing correctly.

Mar 242014
 

Hello everyone!

A new version of our JavaScript library is now available. This version fixes several printing issues specific to Internet Explorer 11.

The new DYMO Label Framework JavaScript Library 1.2.6 is available here: http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.1.2.6.js

The latest has been updated to version 1.2.6 as well: http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js

Jan 022014
 

There is currently a bug in Windows 8.1 that causes any label with a barcode to print abnormally in DLS. We are awaiting a fix from Microsoft, but in the meantime, you will need to modify a setting in DLS to workaround the issue. To do this, go to Edit -> Preferences. Navigate to the LabelWriter printer tab and change the “Print Quality” to “Text”.

Preferences

There is one side effect to making this change and that is your labels will always print at a resolution of 300×300 DPI. For barcodes, we typically like to switch our printers into high resolution mode (300×600 DPI) in order to improve barcode scanning reliability. When the “Print Quality” setting is set to “Auto” or “Barcodes and graphics”, the resolution will always be 300×600 if a barcode is present on your label. That being said, for most barcodes, 300×300 DPI is plenty of resolution. You may encounter scanning issues for barcodes with lots of data or 2D barcodes, though.

We apologize for this inconvenience and will keep everyone updated on a fix for this issue.

UPDATE
Microsoft has released a fix for this issue. It can be downloaded from the below links. Thanks Bjorn for the heads up!

KB2911106, released on 13/01/2014, solved this issue in Windows 8.1
Download x86 : http://www.microsoft.com/en-us/download/details.aspx?id=41569
Download x64 : http://www.microsoft.com/en-us/download/details.aspx?id=41570

Nov 202013
 

Hello everyone!

A new version of our JavaScript library is now available. This release addresses compatibility issues with IE11. If your web application is compatible with IE11, we strongly recommend that you upgrade to the new version.

The new DYMO Label Framework JavaScript Library 1.2.5 is available here:  http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.1.2.5.js

The latest has been updated to version 1.2.5 as well: http://labelwriter.com/software/dls/sdk/js/DYMO.Label.Framework.latest.js

Nov 122013
 

Hello everyone,

Today marks the first of our featured software posts. Over the coming weeks and months, we will highlight real applications that use the DYMO SDK. These posts will provide information and quotes from DYMO SDK developers/customers/users/etc. explaining how they were able to successfully integrate DYMO printers into their real world solutions. First up today, Datarecovery.com.

Michael, a programmer/analyst working at Datarecovery.com, says:

At Datarecovery.com, Inc., we use DYMO label printers crucially in our business to keep track of clients’ problem hard drives and other storage media at our offices, as well as the new drives we use for returning data, clone drives we use in recovery work, the containers we store case materials in, and any other equipment and materials associated with a data recovery case. With the DYMO SDK and label templating, we were able to integrate one-click printing of all labels needed into our case tracking system. Once newly received case materials have been checked into our system, we have a “Quick Labels” link that immediately prints labels based on what items were just checked in. We’ve also made a simple jQuery dialog that allows for printing different quantities of the various types of labels at will. The labels include the case number, item type code, checked in date, last name initial, and a barcode for scanning into our system. The extremely simple process, enabled by the DYMO SDK, results in aiding in our critical tracking of all case items.

Here are some screenshots showing how Datarecovery.com has integreated DYMO printers into their case tracking system:

 

If you would like to learn more about Datarecovery.com, please visit their website at www.datarecovery.com. If you would like your DYMO SDK application featured here on the blog, please comment on the following blog post with more information about your software: http://developers.dymo.com/2013/10/31/calling-all-dymo-sdkers/