User feedback in that advert confirm that it is a USB device. Using this from a PC would be trivially easy judging by the advert. Using it from an Arduino would require you to find/write suitable USB drivers, and writing them is likely to be extremely difficult.
You'd use the RPi as a shield just to drive the printer? It's hard to see the point of the Arduino in that case; wouldn't it make more sense to use the RPi as the controller?
I am not person qualified explain this issue, I do have EE in master however degree is more than quarter century old
let me try;-
RPi/Linux provides a guarantee of a specific level of CPU bandwidth in a specific unit of time. For example, an application that needs 10 milliseconds of CPU bandwidth and must have that requirement met within 100 milliseconds has a soft real-time requirement.
Arduino/Real time OS looks at the response time rather than at a bandwidth guarantee, when an application must respond to an event within a specific time.
RPi/Linux can not replace Arduino when app has hard real-time requirement
This is my best try and hope expert give us some light.
So how can that USB printer be used with a non real time OS like windows?
That count on brother, brother wrote all P-touch, QL/PJ printer driver for windows and wrote partial of P-touch, QL/PJ printer driver for Linux. brother do not write any driver for real time OS, a work around is needed.
So how can that USB printer be used with a non real time OS like windows?
I wouldn't expect a serial printer to have any hard real time requirements, especially one designed to be driven from a PC via USB. More likely it just has a command channel with some flow control and just needs to be sent a sequence of commands as fast as it will accept them.