For us, It's a button on the SO which prints it for all the items on that SO.
But you could easily create the same for all the SOs in your system.
Logic is the same.
It's just the requirement is slightly different.
You want all he SOs in 1 view along with their details and select what you want to print.
You can filter your view based on status, dates, maybe subsidiary, etc to make it more user friendly.
1 suitelet for view, and 1 suitelet for printing the labels, and 1 client script to perform all the necessary actions like filter calling the other suitelet and stuff.