Split Print Job to Color and B&W?
cheros writes "I work in an office which has various printers, and printing documents with a few color diagrams in is actually a pain. Due to the high cost of the color prints the preference is to use B&W, and print the color pages separately (with obviously an finishing stage to collate and merge the two). Is there a print filter that would automatically split the PostScript print job into a feed for two different queues? (and yes, we use B&W drawings where possible ;-)."
I have a Xerox XPrint 4920 Plus colour laser printer here, and I see where you're coming from with this question. The thing I'm wondering is why the printer you have doesn't do the job-splitting for you... Colour toners for this bad-boy cost about $350 CDN each (C,M,Y) and the black toner is only about 60-80 bucks CDN. The difference in price (and speed, as B&W prints come out at 12ppm vs. 3ppm for colour) means that I can use this printer for both my colour and black&white needs. Obviously, B&W is higher quantity, and when printing mixed documents, it seems stupid to print through the CMYK process... Well, here's where the printer gets smart -- it doesn't print the pure B&W pictures through the CMYK process. It appears that the printer figures out that it only needs the black toner and just sends the page there. I don't see why you would need to split the actual printers if the printer *should* be doing the splitting for you (and keeping costs down adequately). I guess the particular printer you're using must have a very expensive black toner... NOTE: The XPrint 4920 Plus was introduced in '95 and is by no means a 'new' printer.
This seems to be for those using their systems, but seems to offer evidence that the idea at least exists out there. Years back when I worked at Xerox, I thought I remembered something in development to balance a job between the B&W DocuTech and a color printer
--
BTW - searching google for split print color b&w popped this up first result.
Read on and see that HP has solved this at the printer....
I also delt with a HP 4500c at my old job. Besides needing to be vaccuumed out every month, and having the $170 immaging drum run out every 3-4 months, it did have the four toners, and a fifth extra big black only toner that ran a lot faster. The manual also said that if it was a b&w only page it went off the jumbo black toner, but if there was even a single pixle of color, it ran against all four color toners. (C,M,Y,& black).
Our other office had the 8500c, but there always seemed to be a reason it was not in use... needing parts, new pickup pads, damaged roller, no yellow toner available, paper jam.
Who wants Pork Chops?
I have a script which isn't generally appropriate, but it might give you an idea of how to do it. It takes a dvi file and generates a set of postscript files, each contain black and white and colour sections.
See dvicoloursplit.py
(released under the GPL)
It works by generating postscripts for each page, converting to a bitmap, then scanning the bitmap for colour pixels. Not very clever, but works. I tried to examine the postscript itself, but it's very hard to find the colour in a postscript. It can easily be "encoded" in a jpg bitmap, or something else.
..but I cant find the code. How did it work? Well, maybe like this...
Write some postscript that redefines all the colour-setting commands and the colour bitmap commands. The redefined commands set a variable to say this page is colour.
Redefine 'showpage' to only do a real 'showpage' if the 'page-is-colour' variable is set. Clear the variable.
Now rerun, but reverse the logic to do 'showpage' on the mono pages. You can pass the sense of the logic to ghostscript on the command line.
Of course this wont tell you if there is a grey-scale bitmap in a colour image command. You could always redefine the image command to check that all the pixels have the same r,g,b colours....
I'll try and dig the code out.
Baz