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.

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.

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

45 Responses to “Barcode Printing Issues”

We’re experiencing the opposite issue. I can’t say for sure it’s related to .net 4 or not, but on a fresh install of the Dymo framework on windows 8, I am unable to get the printer to print 300×600 resolution in the Dymo software, or in our app.

If I go into printer properties & set the default to “best” quality and/or manually set to barcode/graphics mode & 300×600 resolution, and print to it as a standard printer from a browser, etc, it will print in high res mode, but no matter what I do in “Dymo Label V8” it is always in low resolution. This makes barcodes unscannable.

I am not able to duplicate the issue here and we haven’t heard about such an issue yet. Please make sure that you applied all Microsoft Windows Updates. Furthermore make sure that you are using the latest DYMO Label Software (DLS) 8.5.1.
If you still encounter same issue with DLS then please go ahead and report your issue to DYMO tech support according to the following blog post http://developers.dymo.com/2011/10/12/sdk-troubleshooting-tips/

I had the same problem.
this is what i did to fix it.
I download the barcode file from amazon and then it opens as a pdf that i have to copy with the printer software.
originally the image i was coping and pasting was not clear enough to paste a high enough resolution for the scanner to scan the image.
What i did was before i copy the image i zoom in on it first and make it bigger. I can then screen copy the image and get a way higher resolution and then i can resize the barcode in the dymo software before printing.

I have no problems since this.

Simply put. increase the image quality by zooming in on it first before you copy the image over to the Dymo software.
Because the dymo software as far as i can tell just does a screen capture. The image needs to be clear and high res before you move it over.

I can reproduce the issue with .NET 4 but i have also a different (annoying) problem that happens on my 4k monitor.
When i run my Windows Form program and access the Dymo libraries (for example cycling on printers or print a label) the form change its resolution and all is a mess.

Unlucky this happens only when i’m using your SDK and only if i access the DLLs. If i run the program without accessing the SDK nothing weird happens. Not only. The first time that the program works correctly if i print a label the window is resized like the second image

I am not able to duplicate the issue with the DYMO Continuous Paper (30270). It looks to me that your continuous paper isn’t wide enough. Are you using DYMO Continuous Paper (30270)? What is the width of your continuous paper?

We have been developing a workaround to the Windows defect that is causing this issue. Unfortunately, it involves some big changes in our printing workflows. These changes will need extensive testing before we can release anything and we can not commit to a release date of the fix. In the meantime, it is recommended to use the workarounds defined in this original post.

my question could be a little bit off-topic but any kind of help would be very appreciated: someone know how is it possible to set printing resolution using the javascript framework or how to speed up the barcode printing process ?

Unfortunately, there is no way for you to set your own printing resolution. As for speeding up the barcode printing process, we actually print barcodes at a higher resolution to ensure quality, this is why there is a slower printing speed while printing barcodes.

When I print with your example projects I still get the same problem.
With any kind of barcode it works perfectly , but I need to print EAN-8 code,
everytime I try to print it my dymo just prints a blank.
When I use an other code it works just like it should.
Any solutions ?
I need to use the EAN-8 code.
I work with VB.NET.
When I use the old V2 version it works but with the V4 version it doesn’t.
And the rest of my program is written in V4.

I’m trying to print a label from a php or javascript page. I’m getting an “Uncaught Error: Failed to execute webservice command: 400:”. I suspect I’m not getting something initialized or started correctly, but I have no idea where to turn. I haven’t been able to find any javascript examples, although they are supposed to be downloaded with the SDK. Any ideas where to turn?

I am now. The current error is “No DYMO printers are installed”. The DYMO printer is installed on my local PC, and I can print to it from the DYMO Label program. Why would the Label program recognize it, but javascript not?

I had the same problem.
this is what i did to fix it.
I download the barcode file from amazon and then it opens as a pdf that i have to copy with the printer software.
originally the image i was coping and pasting was not clear enough to paste a high enough resolution for the scanner to scan the image.
What i did was before i copy the image i zoom in on it first and make it bigger. I can then screen copy the image and get a way higher resolution and then i can resize the barcode in the dymo software before printing.

I have no problems since this.

Simply put. increase the image quality by zooming in on it first before you copy the image over to the Dymo software.
Because the dymo software as far as i can tell just does a screen capture. The image needs to be clear and high res before you move it over.

We do not have a sample for this. But the process is very easy. Just design your label in DLS in portrait orientation. You may need to rotate objects to achieve the same effect as printing in landscape mode.

Any update on this? As a software dev myself, I usually hate those guys that says this is un-acceptable…. etc… But… This is pretty crappy.

Lots of programs print just fine with .Net 4.x… Any chance at all you can get this fixed soon. :)

Thanks,

Joey

(A developer who just spent a whole day building a label framework to print labels from our software, only to find out now that it’s not going to work… And re-designing all the labels in portrait mode is not an option.)

For anyone interested, for a quick solution that doesn’t involved re-doing your barcodes, you can write a simple C# WinForms app that will take a filename on the command line, print it, and then close You can use ILabel.SaveToXML() to save the label to xml. CAUTION: DYMO saves the xml with a UTF-16 header (First time I’ve seen UTF-16 xml since Lotus Notes almost 20 years ago, but I digress…) so when you save the string to a file, you HAVE to set the encoding to Unicode (aka UTF-16) or else it won’t work…

You only need two lines to print the file from the command line on the first printer:

I have Win 10 Pro and Visual Studio Express 2015 I am trying to make a very simple visual basic code to print a barcode label and I think I have set the print parameters to text but I am still seeing the code cut off. Can anyone help?

I just bought the labelwriter 450 but am experiencing the exact same problem like stated above with cutting the code. Please help me implement your third step or I will have to return the printer because it cannot be used. This is for using the printer with the national post.

In Dymo Label v.8.5.1814, I was able to rotate the barcode label vertically, then set each of the labels/text objects to 270 degrees by right-clicking on the barcode/label/text control, clicking properties, Advanced, then selecting 270 under Rotation. That fixes the barcode cut-off I was getting.