Skip to content

dymosoftware/DCD-SDK-Sample

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

86 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

DYMO Connect SDK

- IMPORTANT:
Starting from version 1.4.4.21, awaitable methods have been introduced in DymoPrinter class to improve
communication between SDK and printers.

Getting Started πŸš€

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

.NET Sample

This is a WPF sample using DYM.Connect.SDK nuget package.

Installing πŸ”§

Open the project on Visual Studio

File > Open > Project/Solution > Select WPFSDKSample.csproj

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

Authors βœ’οΈ

DYMO Team www.dymo.com

Acknowledgments πŸ“’