on 15:05 Tue 05 Apr, m.roth@5-cent.us (m.roth@5-cent.us) wrote:
Well, today, I feel like a real, old time sysadmin. Now, I didn't have to write a driver in assembly for the printer, but....
We got this huge, 44" HP Designjet z3200ps printer. Only supports Win and Mac. Fine, I hang it off of one of our servers on a subnet (at $0.96/foot paper, we're the only ones who print on it....). Then I'm thinking that all I really need is a .ppd. My co-worker, who's also got a Mac, d/l's the Mac driver and extracts the .ppd. The Windoze one is apparently buried in a dll, you see....
I then figured out how to hack a .ppd.
First, I found an ifdef construction, for Mac-only information. That worked on the small paper (24" width roll, "small"). Then the real paper, the 42" stuff. Why HP sells a 44" printer, but 42" paper, dunno, but.... there's no option for large format printing. After a pointless waste of half an hour on HP's "live chat" (not sure how many chats the guy was on), he tells me there's no driver. I call HP support, and talk to someone who seems to know a little more... but is sorta fuzzy on .ppd's, and then tells me that there ought to be an option to set a custom size, and seems to confirm what I read (in vi) in the ppd, that there are no settings for 42" paper.
So I hacked it, and added settings for 42"x34", and 42"x60" (the usual size for posters). A lot was cut, paste, and substitute, but the one gotcha is that the actual paper size that the printer sees is in points. Once I got that, it worked beautifully.
Anyone needs any info about hacking a .ppd, feel free to email me; if you have a beast of a z3200ps, I'll be glad to send you a copy of mine.
A task with a very laudable history:
http://oreilly.com/openbook/freedom/ch01.html