There really should be no reason you'd need to do this on any modern Linux, but I had a client with an old RedHat 7.0 system who wanted to control the output to a laser printer, specifically to make it print Landscape orientation. Hard to believe, but "printtool" on that version provided no such option.
If you look at /etc/printcap on such a system, you'll find that the "if" points to the "filter" script in the /var/spool/lpd/printername directory. That in turn is a symbolic link to a filter. You can replace that filter with your own.
Again, ordinarily you would never want to do that, especially on more modern Linuxes.
To replace it, first cd to /var/spool/lpd/printername and then "rm filter". That's important; if you don't rm it, you'll be writing over the systems filter. I replaced it with this:
#!/bin/bash ( pagelen="45"; lmargin=6; echo -e "\033E\c" # Reset printer. echo -e "\033&l1O\c" # landscape echo -e "\033&l${pagelen}P\c" echo -e "\033&a${lmargin}L\c" echo -e "\033&k2S\c" #compressed cat - ) | /usr/bin/crnl
I also created /usr/bin/crnl, which is just:
#!/usr/bin/perl while (<>) { chomp; print "$_\r\n"; }
And that's another script you wouldn't need on any modern Linux because your printer creation tool has adding CR's as an option.
So: ancient stuff, pay no attention to any of this nowadays. Put here just to help out someone stuck with an old system.
Got something to add? Send me email.
More Articles by Anthony Lawrence © 2009-11-07 Anthony Lawrence
Write a paper promising salvation, make it a 'structured' something or a 'virtual' something, or 'abstract', 'distributed' or 'higher-order' or 'applicative' and you can almost be certain of having started a new cult. (Edsger W. Dijkstra)
Printer Friendly Version
Creating LPD Filters Copyright © February 2008 Tony Lawrence
Have you tried Searching this site?
This is a Unix/Linux resource website. It contains technical articles about Unix, Linux and general computing related subjects, opinion, news, help files, how-to's, tutorials and more.
Contact us
Printer Friendly Version