I need to print labels in a UWP application. It's intended to function as a customer facing Kiosk which makes the standard UWP printing options unattractive, because they require the user to click through a windows print confirmation dialog.
Automatic printing is only possible using the POS (Point Of Sale) printing mode. Microsoft's documentation lists several receipt only (not label) printers as having been tested/proven compatible but that other ESC/POS mode printers may work.
Windows supports network and Bluetooth connected receipt printers using the Epson ESC/POS printer control language. The printers listed below are discovered automatically using POSPrinter APIs. Additional receipt printers which provide an ESC/POS emulation may also work but would need to be associated using an out of band pairing process.
I have a Brother QL-810W label printer, that I've put into ESC mode using Brother's configuration software and connected via USB. Unfortunately it's not currently being detected by the POS printing app from Microsoft's UWP sample/demo application collection.
The MS documentation mentions possibly needing an "out of band pairing", I would assume that's limited to setting up bluetooth printers. However the link associated with the text has gone bad, in that the page it redirects to doesn't say a word about pairing.
@Dan Neely,
The fundamental problem that you are encountering is that the Brother QL-810W label printer supports ESC/P as opposed to ESC/POS. These are two printer control languages both designed by Epson, but they are not the same. ESC/P is used for page printers and ESC/POS is used for receipt printers. Furthermore, the documentation that you cite states that our ESC/POS implementation supports network and Bluetooth attached printers with no mention of USB connections. The out of band pairing, which is simply a manually authored connector string, will not help in this situation due to the two issues noted above.
The only way to interact with a USB connected printer via Windows.Devices.PointOfService at the time of this response is through our OPOS Bridge implementation which requires the installation of OPOS and a OPOS service object from the hardware vendor. If OPOS is in a working state, we will attempt to communicate with the OPOS Common Controls however Brother does not offer an OPOS service object for this printer today.
In the future we hope to provide support for additional printer control languages and modern driver interfaces that do not require OPOS to access a locally connected printer.
Please use the PointOfService tag when referring to implementations using the Windows.Devices.PointofService API namespace to make it easier for us to find questions on this topic in the future.
Terry Warwick, Microsoft