::The three main ways to access a label printer are PrintNode with an appropriate extension or write your own extension, Universal Print, or a custom server.
When I did it, I wrote a custom server. There were entirely too specific of workflows to have warehousing personnel print labels from ERP or WMS screens. They told me as much when they so kindly let me scan and stack boxes with them (even though I was terribly slow). Web services has everything that is needed and an API page would of course be even better.
One example I made in the web app was if there were entries in a particular bin, it would create a shortcut on the web app dashboard to print a GS1-128 label for each GTIN+lot+weight+pack date in the quantity of items.
I’d recommend ZPL as the starting point. ZPL looks strange but it is very easy to learn for most uses. The X, Y numbers are all “points.” You’ll only encounter a dozen or so fields that you need to know. The tricky part of ZPL is writing logic that will either swap in a different size for a template when a string is expected to exceed a certain length in order to avoid the label printing off the edge or abbreviate the string that will cause this to happen.
I’ve looked at extensions on appsource, but none of them are designed for the particular warehousing flows I would want. Perhaps it is time to write one, maybe using ControlAddIn.