printer job date change

Malcolm Kay malcolm.kay at
Tue Dec 30 21:08:37 PST 2003

On Wed, 31 Dec 2003 13:04, pixfbsd wrote:
> I have FreeBSD 5.2-CURRENT.
> /etc/printcap
> hp2200:\
>         :sh:\
>         :rm=hp2200:\
>         :sd=/var/spool/output/lpd/hp2200:\
>         :mx#0:\
>         :if=/usr/local/libexec/hpif2:\
>         :lf=/var/log/lpd-errs:
> /usr/local/libexec/hpif

I notice that the actual filter referenced in printcap is hpif2;
not hpif.

I would have expected that this would be where the PJL command is 

If some how it is added ahead of the filter you could edit the filter to 
pass the input though sed to change the date in the PJL command
to whatever you want.

> #!/bin/sh
> #
> # hpif - Simple text input filter for lpd for HP-PCL based printers
> # Installed in /usr/local/libexec/hpif
> #
> # Simply copies stdin to stdout.  Ignores all filter arguments.
> # Tells printer to treat LF as CR+LF.  Ejects the page when done.
> printf "\033&k2G" && cat && printf "\033&l0H" && exit 0
> exit 2
> In the dfA009exampleFile in /var/spool/output/lpd/hp2200 there is the
> value @PJL SET DATE=31-12-2003.  I want to create a filter that will
> change that value to the year 2000.
> Why?  If you recall HP has date information in their printer cartridges,
> that after a certain date the cartridge becomes "expired".  Although you
> have plenty of ink or a cartridge that has been on the shelf for along
> time.
> If I manually vi the file I can print, therefore I was trying to find a
> filter that would send the PJL command to set the date to a default
> 01-12-2000 all the time.

Malcolm Kay

More information about the freebsd-stable mailing list