Full disclosure: DYMO has their own javascript based label printing module but there are two problems with it: 1) It does not work with Node.js and 2) it is minified and obfuscated.

So, I wrote my own library.  https://github.com/dsandor/dymojs

I searched for a suitable module and found something on npm but to my dismay it just wrapped the .NET SDK.  A little poking around and some network inspection I found that the folks at DYMO simply wrote a REST service that wraps their C# library and run it via mono on Mac and .NET on Windows.  I captured some calls to figure out how it worked and determined there are really only two calls that matter: GetPrinters and PrintLabel.

Both functions are exposed in the dymojs module.

Check out the tests directory in the repo for an example of printing a test label.


Posting my key bindings for sublime here.  These give you HOME, Shift+HOME, END, Shift+END functionality that is more sane than the defaults.  After 20 years of pressing Shift + Home to highlight from the cursor to the BOL in every editor ever created it is beyond frustrating to have to change that.  The only worse default key bindings I have ever used was TextPad on Windows.  (<<Shudder>>  That is an awful editor.)