I have a chain of three servers setup to allow a legacy UnixWare server to print to a remote printer.
The job leaves the UnixWare 2.1.3 machine, using an incredibly ancient version of lp, moves to a NT 4.0 server via LPR, then moves to the remote RedHat 6.2 Linux server running LPRng-3.6.26 and ifhp 3.4.1 also via LPR. The jobs print, that isn't the problem.
The problem is that the jobs aren't being processed by ifhp. It detects the job type as RAW, then doesn't pass the filter over it.
From the status file:
using model 'ghostscript' at 15:47:51.441
setting up printer at 15:47:51.445
pagecounter 0 at 15:47:51.445
sending job file at 15:47:51.446
starting transfer at 15:47:51.446
initial job type 'RAW' at 15:47:51.446
decoded job type 'RAW' at 15:47:51.446
job type 'RAW' at 15:47:51.447
transferring 5288 bytes at 15:47:51.447
100 percent done at 15:47:53.777
data sent at 15:47:53.778
sent job file at 15:47:53.778
pagecounter 0, pages 0 at 15:47:53.778
done at 15:47:53.778

From the status.printername file:

waiting for subserver to exit at 2000-11-14-15:47:51.355 ## A=<NULL> number=0 process=18378
subserver pid 18379 starting at 2000-11-14-15:47:51.362 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
accounting at start at 2000-11-14-15:47:51.363 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
opening device '/dev/lp0' at 2000-11-14-15:47:51.363 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
printing job 'UniV (192.168.2.2)@henmarkn+134' at 2000-11-14-15:47:51.364 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 p
rocess=18379
processing 'dfA134henmarkn', size 5288, format 'l', IF filter 'ifhp' at 2000-11-14-15:47:51.365 ## A=UniV (192.168.2.2)@hen
markn+134 number=134 process=18379
IF filter 'ifhp' filter finished at 2000-11-14-15:47:53.779 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
printing finished at 2000-11-14-15:47:53.780 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
accounting at end at 2000-11-14-15:47:53.780 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 process=18379
finished 'UniV (192.168.2.2)@henmarkn+134', status 'JSUCC' at 2000-11-14-15:47:53.781 ## A=UniV (192.168.2.2)@henmarkn+134
number=134 process=18379
subserver pid 18379 exit status 'JSUCC' at 2000-11-14-15:47:53.784 ## A=<NULL> number=0 process=18378
[EMAIL PROTECTED]: job 'UniV (192.168.2.2)@henmarkn+134' printed at 2000-11-14-15:47:53.787 ## A=UniV (1
92.168.2.2)@henmarkn+134 number=134 process=18378
job 'UniV (192.168.2.2)@henmarkn+134' saved at 2000-11-14-15:47:53.788 ## A=UniV (192.168.2.2)@henmarkn+134 number=134 proc
ess=18378

If I issue a 'lpc stop printername' then examine the df file for the print job using 'file' it returns "ASCII text".
There must be some way I can tell ifhp to ignore RAW as an input job type, or do some pre processing or something so that I can output the job as PCL rather than plain text.

Printcap entry:

Artprn1:\
        :sd=/var/spool/lpd/printer1:\
        :mx#0:\
        :lf=/var/spool/lpd/printer1/log:\
        :sh:\
        :save_when_done:\
        :lp=/dev/lp0:\
        :ifhp=model=ghostscript,gs_device=laserjet,gs_options=-r300x300:\
        :filter=/usr/libexec/filters/ifhp:\

ifhp.conf entry:

# PRINTER % - GhostScript PostScript to raster conversion, write only, no status
[ ghostscript gs ]
status@
pcl@
pjl@
ps
text@
file_output_match = [
  *postscript*       raw     \%s{gs_converter}
  *text*             filter  \%s{a2ps_converter}
  *gzip_compressed*  filter  \%s{gzip_decompress}
 ]

Thanks,
JT

Reply via email to