[WinPrnDev] [Windows] [modification] [thirdparty] Can I manipulate print job stream data in-between userspace, spooler and printer?

Hi.

I am looking for a way to modify printed data on Windows - right before it
comes out of the printer.
The solution should work for most of PostScript/PCL printers - thus be
generic enough (e.g. no dll replacements).

What was tried so far:

- port monitor. It seems to be completely useless for my needs due to the
need of complete printer driver underneath (e.g. 1 model == 1 driver build,
or 1 lousy hack to do it with original driver which may or may not employ
its ports  too).
- render plugin (DDK's print\oemdll). There's a large bold warning in WDK8
(only I may have missed it..) -  these drivers are meant to be installed as
a printer and not for existing printer, is that so?

What is still expected to be tested:

- print processors
- replacing pscript5.dll to custom proxy dll completely, (McAfee does that
in its DLP
- ?

Which possible solution is the best and more recommended for in-stream
modifications?

I want to be able to receive the whole datastream at any available printer
(as the user sends data to it), watermark it and then send to paper. All of
that without the exact printer models models hardcoded in .inf/drivers.

cheers,
Igor

Other related posts: