dymosoftware/DCD-SDK-Sample

DYMO Connect SDK Samples

C#

77

99 commits

updated Jul 6, 2026

See the code

README

DYMO Connect SDK

Important Changes

There have been API Changes in 1.6.0 compared to 1.4.4.21. In particular, IsRollStatus and GetPrinters are no longer tasks. Please include DYMO.Connect.SDK, DYMO.LabelAPI.PlatformSpecfic, and DYMO.CrossPlatform.Common.PlatformSpecific depending on your target We have split our SDK up into different parts, so please ensure you are installing the correct packages. In general, we find that including DYMO.Connect.SDK, DYMO.LabelAPI.PlatformSpecific, and DYMO.CrossPlatform.Common.PlatformSpecific should be enough, as nuget should also install dependencies automatically. For example, on windows you would include the following in your csproj:

<PackageReference Include="DYMO.Connect.SDK" Version="1.6.0" />
<PackageReference Include="DYMO.CrossPlatform.Common.Windows" Version="1.6.0" />
<PackageReference Include="DYMO.LabelAPI.Windows" Version="1.6.0" />

Getting Started ๐Ÿš€

These instructions will help you to understand how DYMO Connect SDK works for .NET and Javascript.

.NET Sample

We have various samples using DYM.Connect.SDK nuget package in .NET. We have a WPF sample, a Maui sample, and a VB sample.

Installing ๐Ÿ”ง

Open the project on Visual Studio

File > Open > Project/Solution > Select the desired project

Run Package Manager Console

 update-package -reinstall

Nuget package ๐Ÿ“ฆ

Dependencies ๐Ÿ› ๏ธ

Classes and methods โš™๏ธ

  • DymoLabel instance

    • Load label
    void LoadLabelFromFilePath(string FileName) // Load label content from file 
    
    void LoadLabelFromXML(string XmlContent) //Load label from XML content
    
    • Manage label objects
    IEnumerable<ILabelObject> GetLabelObjects() //Get list of objects(Text, Shapes, Address, etc.) contained in the label
    
    bool UpdateLabelObject(ILabelObject labelObject, string objectValue) //Update value of specified object
    
    bool SetImageFromFilePath(string objectName, string imageFile) //Set content of image object specified from image file 
    
    bool SetImageFromBase64(string objectName, string base64String) //Set content of image object specified from Base64 string
    
    • Get preview
    byte[] GetPreviewLabel() //Get preview image's label as byte array
    
    • Save label
    bool Save(string fileName) //Save label file
    
  • DymoPrinter instance

    • Get printers

      • Get list of DYMO printers installed in the current machine.
      IEnumerable<IPrinter> GetPrinters()
      
    • Print label

      • Print an instantiated DymoLabel object in the selected printer.
      async Task<bool> PrintLabel(
      IDymoLabel label, /* Label instance */
      string printerName, /* Printer name */
      int copies = 1, /* Number of copies */
      bool collate = false, /* Collate printing label */
      bool mirror = false, /* Mirroring label */
      int rollSelected = 0, /* It applies only for Twin Turbo 450 printer --> 0: left, 1:right */
      bool chainMarks = false, /* Chain marks when label printer is D1 */
      bool barcodeGraphsQuality = false /* Activate Barcode and graphics quality */)
      
      • Print a list of instantiated DymoLabel objects in the selected printer.
      async Task<bool> PrintLabel(
      IEnumerable<IDymoLabel> labelsCollection, /* Collection of labels instances */
      string printerName, /* Printer name */
      int copies = 1, /* Number of copies */
      bool collate = false, /* Collate printing label */
      bool mirror = false, /* Mirroring label */
      int rollSelected = 0, /* It applies only for Twin Turbo 450 printer --> 0: left, 1:right */
      bool chainMarks = false, /* Chain marks when label printer is D1 */
      bool barcodeGraphsQuality = false /* Activate Barcode and graphics quality */)
      
    • LW 550 printer methods(these methods will not have effect when selected printer does not belong to 550 series)

      • Verify if selected printer belongs to 550 series.
      bool IsRollStatusSupported(string printerName)
      
      • Get information about current label inserted in the selected printer.
      async Task<IRollStatusInPrinter> GetRollStatusInPrinter(string printerName)
      

JavaScript Sample

This is a JavaScript sample using DYMO Connect Framework.

Prerequisites ๐Ÿ“‹

DYMO Connect Software installed

Reference to Javascript SDK file

Installing ๐Ÿ”ง

Include the framework into your project

Functions โš™๏ธ

dymo.connect.framework includes functions from the previous dymo.label.framework

These are the main functions to get start

  • dymo.connect.framework

    • Initialize
     dymo.label.framework.init() //Initialize DYMO Label Framework
    
    dymo.label.framework.checkEnvironment() // Validate if the environment meets the requirements
    
    • Load label
    dymo.label.framework.openLabelFile(fileName) //Load label from file name and return label instance
    
    • Validate label
    dymo.label.framework.openLabelXml(labelXml) //Load label from XML content and return label instance
    
    • Validate label instance (introduced in dymo.connect.framework)
    label.isValidLabel() //Validate if the current content is a valid label based on the current service installed
    label.isDCDLabel() //Validate if the current content is a valid DYMO Connect label based on DYMO Connect service
    label.isDLSLabel() //Validate if the current content is a valid DYMO Label Software label based on DYMO Label Software service
    
    • Get printers
    dymo.label.framework.getPrinters() //Get list of DYMO printers installed
    
    • Print
    dymo.label.framework.printLabel(printerName, printParamsXml, labelXml, labelSetXml) //Print label
    
    • Get preview
    dymo.label.framework.renderLabel(labelXml, renderParamsXml, printerName) //Get label preview image of the label
    

Sample Html Pages ๐Ÿ“‹

Local Web Api service should be running to be able to work with sample pages.

Important notes

Opening a label file previously created from DYMO Label Software, with DYMO Connect Software installed, it will convert the structure of DLS label into DYMO Connect label. Therefore, isDCDLabel function will return always true after label file has been open, when DYMO Connect is running.

setTextMarkup function is not supported for DYMO Connect labels.

Publishing your app

Please read the following thread in case you run into some issues deploying your application integrating DYMO Connect SDK.

Common deployment issues

Python Sample

We also have a python wrapper around our SDK available here.

Authors โœ’๏ธ

DYMO Team www.dymo.com

Acknowledgments ๐Ÿ“ข

Contributors

dymosoftware

62 commits

MarcoLerma

24 commits

Chang-Dymo

11 commits

fthobe

1 commits

dymosoftware/DCD-SDK-Sample

DYMO Connect SDK Samples

C#

77

99 commits

updated Jul 6, 2026

See the code

README

DYMO Connect SDK

Important Changes

There have been API Changes in 1.6.0 compared to 1.4.4.21. In particular, IsRollStatus and GetPrinters are no longer tasks. Please include DYMO.Connect.SDK, DYMO.LabelAPI.PlatformSpecfic, and DYMO.CrossPlatform.Common.PlatformSpecific depending on your target We have split our SDK up into different parts, so please ensure you are installing the correct packages. In general, we find that including DYMO.Connect.SDK, DYMO.LabelAPI.PlatformSpecific, and DYMO.CrossPlatform.Common.PlatformSpecific should be enough, as nuget should also install dependencies automatically. For example, on windows you would include the following in your csproj:

<PackageReference Include="DYMO.Connect.SDK" Version="1.6.0" />
<PackageReference Include="DYMO.CrossPlatform.Common.Windows" Version="1.6.0" />
<PackageReference Include="DYMO.LabelAPI.Windows" Version="1.6.0" />

Getting Started ๐Ÿš€

These instructions will help you to understand how DYMO Connect SDK works for .NET and Javascript.

.NET Sample

We have various samples using DYM.Connect.SDK nuget package in .NET. We have a WPF sample, a Maui sample, and a VB sample.

Installing ๐Ÿ”ง

Open the project on Visual Studio

File > Open > Project/Solution > Select the desired project

Run Package Manager Console

 update-package -reinstall

Nuget package ๐Ÿ“ฆ

Dependencies ๐Ÿ› ๏ธ

Classes and methods โš™๏ธ

  • DymoLabel instance

    • Load label
    void LoadLabelFromFilePath(string FileName) // Load label content from file 
    
    void LoadLabelFromXML(string XmlContent) //Load label from XML content
    
    • Manage label objects
    IEnumerable<ILabelObject> GetLabelObjects() //Get list of objects(Text, Shapes, Address, etc.) contained in the label
    
    bool UpdateLabelObject(ILabelObject labelObject, string objectValue) //Update value of specified object
    
    bool SetImageFromFilePath(string objectName, string imageFile) //Set content of image object specified from image file 
    
    bool SetImageFromBase64(string objectName, string base64String) //Set content of image object specified from Base64 string
    
    • Get preview
    byte[] GetPreviewLabel() //Get preview image's label as byte array
    
    • Save label
    bool Save(string fileName) //Save label file
    
  • DymoPrinter instance

    • Get printers

      • Get list of DYMO printers installed in the current machine.
      IEnumerable<IPrinter> GetPrinters()
      
    • Print label

      • Print an instantiated DymoLabel object in the selected printer.
      async Task<bool> PrintLabel(
      IDymoLabel label, /* Label instance */
      string printerName, /* Printer name */
      int copies = 1, /* Number of copies */
      bool collate = false, /* Collate printing label */
      bool mirror = false, /* Mirroring label */
      int rollSelected = 0, /* It applies only for Twin Turbo 450 printer --> 0: left, 1:right */
      bool chainMarks = false, /* Chain marks when label printer is D1 */
      bool barcodeGraphsQuality = false /* Activate Barcode and graphics quality */)
      
      • Print a list of instantiated DymoLabel objects in the selected printer.
      async Task<bool> PrintLabel(
      IEnumerable<IDymoLabel> labelsCollection, /* Collection of labels instances */
      string printerName, /* Printer name */
      int copies = 1, /* Number of copies */
      bool collate = false, /* Collate printing label */
      bool mirror = false, /* Mirroring label */
      int rollSelected = 0, /* It applies only for Twin Turbo 450 printer --> 0: left, 1:right */
      bool chainMarks = false, /* Chain marks when label printer is D1 */
      bool barcodeGraphsQuality = false /* Activate Barcode and graphics quality */)
      
    • LW 550 printer methods(these methods will not have effect when selected printer does not belong to 550 series)

      • Verify if selected printer belongs to 550 series.
      bool IsRollStatusSupported(string printerName)
      
      • Get information about current label inserted in the selected printer.
      async Task<IRollStatusInPrinter> GetRollStatusInPrinter(string printerName)
      

JavaScript Sample

This is a JavaScript sample using DYMO Connect Framework.

Prerequisites ๐Ÿ“‹

DYMO Connect Software installed

Reference to Javascript SDK file

Installing ๐Ÿ”ง

Include the framework into your project

Functions โš™๏ธ

dymo.connect.framework includes functions from the previous dymo.label.framework

These are the main functions to get start

  • dymo.connect.framework

    • Initialize
     dymo.label.framework.init() //Initialize DYMO Label Framework
    
    dymo.label.framework.checkEnvironment() // Validate if the environment meets the requirements
    
    • Load label
    dymo.label.framework.openLabelFile(fileName) //Load label from file name and return label instance
    
    • Validate label
    dymo.label.framework.openLabelXml(labelXml) //Load label from XML content and return label instance
    
    • Validate label instance (introduced in dymo.connect.framework)
    label.isValidLabel() //Validate if the current content is a valid label based on the current service installed
    label.isDCDLabel() //Validate if the current content is a valid DYMO Connect label based on DYMO Connect service
    label.isDLSLabel() //Validate if the current content is a valid DYMO Label Software label based on DYMO Label Software service
    
    • Get printers
    dymo.label.framework.getPrinters() //Get list of DYMO printers installed
    
    • Print
    dymo.label.framework.printLabel(printerName, printParamsXml, labelXml, labelSetXml) //Print label
    
    • Get preview
    dymo.label.framework.renderLabel(labelXml, renderParamsXml, printerName) //Get label preview image of the label
    

Sample Html Pages ๐Ÿ“‹

Local Web Api service should be running to be able to work with sample pages.

Important notes

Opening a label file previously created from DYMO Label Software, with DYMO Connect Software installed, it will convert the structure of DLS label into DYMO Connect label. Therefore, isDCDLabel function will return always true after label file has been open, when DYMO Connect is running.

setTextMarkup function is not supported for DYMO Connect labels.

Publishing your app

Please read the following thread in case you run into some issues deploying your application integrating DYMO Connect SDK.

Common deployment issues

Python Sample

We also have a python wrapper around our SDK available here.

Authors โœ’๏ธ

DYMO Team www.dymo.com

Acknowledgments ๐Ÿ“ข

Contributors

dymosoftware

62 commits

MarcoLerma

24 commits

Chang-Dymo

11 commits

fthobe

1 commits

Languages

C#

46.2%

JavaScript

36.2%

HTML

9.3%

CSS

5.4%

Visual Basic .NET

2.8%