Network printers and big print jobs

Hmmm, strange one this. We have print jobs that are actually a batch of documents sent to the printer over the standard print spooling mechanism of Windows 2003. The problem is that the printers are network printers, so they can be stolen between documents by other machines feeding to the same printer.
How do we fix this?
Windows does not seem to be providing us with a way of doing this. There is no way of specifying that all the jobs need to be printed at once. Getting a lock on the printer seems impossible – they’re designed to just be dropped into the network taking the jobs as they’re being fed to it.
Potential solutions:

  • Remote queues per printer – spool jobs for each printer on the single machine. This cuts down on the scalability of the system, but it’s probably the quickest fix
  • Combine all the separate documents into the one print job and send that to the printer. Requires no reconfiguration of the printer queues. Means we have to concatenate all the jobs from the batch into the one file. This is ok, as weve got PDFs and there are a multitude of programs around that allow us to concatenate them.

Anyone have anything else like this happen to them and how did they solve it?