This can be done combining four ingredients in the right way:
- a print queue setup with a PostScript printer driver, shared on the LAN;
- Ghostscript (scroll down for fetching
gs871w{32,64}.exe
) to convert PostScript to image;
- RedMon (download
redmon17.zip
) to serve as the 'printer port monitor';
- a DOS batch file (or a C# program if you want) to do exactly what you want;
The printqueue will be using the 'Redirector Port Monitor' (RedMon) to channel the incoming PostScript jobs to a program/application/batchscript of your choice.
What's left to do is your job: write a simple program/application/batchscript which does three things:
- take the incoming PostScript as its input,
- call a Ghostscript commandline to convert input to the %imageformat% of your choice,
- and finally send the %imageformat% as jobs to a printer of your choice.
Here is a document that describes some of the basic need-to-know things regarding RedMon:
If you are a newbie to Ghostscript, you'll probably have the biggest problem with constructing a commandline that would do what you neeed. Here are some examples.
The first one converts data arriving at standard input (stdin, -
at the end of the command) into single-page, black+white TIFF G4, with a resolution of 600dpi, where each page is a separate file, named page_001.tif
, page_002.tif
, etc.:
gswin32c ^
-dBATCH ^
-dNOPAUSE ^
-dSAFER ^
-sDEVICE=tiffg4 ^
-r600x600 ^
-sOutputFile=c:/path/to/output/page_%03d.tif ^
- ### <-- note this '-'!
Here is a Ghostscript commandline which would generate the same output, but this time as one single multi-page TIFF G4:
gswin32c ^
-dBATCH ^
-dNOPAUSE ^
-dSAFER ^
-sDEVICE=tiffg4 ^
-r600x600 ^
-sOutputFile=c:/path/to/output/multi_page_g4.tif ^
- ### <-- note this '-'!
Oh, you don't want black+white G4 TIFF, but colored TIFF, 32-bit CMYK? OK, use a different output device for Ghostscript:
gswin32c ^
-dBATCH ^
-dNOPAUSE ^
-dSAFER ^
-sDEVICE=tiff32nc^
-r600x600 ^
-sOutputFile=c:/path/to/output/multi_page_color.tif ^
- ### <-- note this '-'!
You want JPEG? Sorry, there is no such thing as multi-page JPEG. But single-page no problem:
set outputname=some-uniq-name && ^
gswin32c ^
-dBATCH ^
-dNOPAUSE ^
-dSAFER ^
-sDEVICE=jpeg ^
-dJPEGQ=95 ^
-r600x600 ^
-sOutputFile=c:/path/to/output/%outputname%-page_%03d.jpeg ^
- ### <-- note this '-'!