A basic bar code scanner works like input device (just like a keyboard) and so if your cursor is placed in an input the scanner will put the value directly into the field. The on change action can trigger your workflow
About the printing. You can print from the browser. For server side print you can use some (web) service to send you docs too (Cant recall what service we used, maybe something like https://qz.io/)
When we printed from a Mendix app we used a Star WebPRNT compatible printer. I don't have access to the source code anymore as it was at a previous contract, but it didn’t take long (about a day) to get it working.