APLawrence.com -  Resources for Unix and Linux Systems, Bloggers and the self-employed

Creating LPD Filters

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.





Increase ad revenue 50-250% with Ezoic


More Articles by

Find me on Google+

© Anthony Lawrence



Kerio Samepage


Have you tried Searching this site?

Unix/Linux/Mac OS X support by phone, email or on-site: Support Rates

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





We made the buttons on the screen look so good you'll want to lick them. (Steve Jobs)

The camel has evolved to be relatively self-sufficient. (On the other hand, the camel has not evolved to smell good. Neither has Perl.) (Larry Wall)







This post tagged: