On Fri, 23 May 2003 00:08, [EMAIL PROTECTED] wrote: > Hi I, > had configure my /etc/printcap like the example in the freebsd handbook but > I'm not able to print postscript files I thing I have a little misstake in > the gs section in this script /usr/local/libexec/hl7x0 because I can print > plaintext files. > > my printer is a brother HL-730 > > could any one give me the answer where is the misstake that I'm not able to > print ps file. > > thanks!!! > > best regards > > Michael Bohn > > mailto: [EMAIL PROTECTED] > > > > /etc/printcap > > # > lp|brother730:\ > > :sh:sd=/var/spool/lpd/brother730:\ > :lp=/dev/lpt0:\ > :if=/usr/local/libexec/hl7x0:\ > :df=/usr/local/libexec/psdf: > > # > > ################################################################# > > #!/bin/sh > # > # ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500 > # Installed in /usr/local/libexec/hl7x0 > > # > # Treat LF as CR+LF: > # > printf "\033&k2G" || exit 2 > > # > # Read first two characters of the file > # > IFS="" read -r first_line > first_two_chars=`expr "$first_line" : '\(..\)'` > > if [ "$first_two_chars" = "%!" ]; then > > # It is PostScript; use Ghostscript to scan-convert and print it. > # > # Note that PostScript files are actually interpreted programs, > # and those programs are allowed to write to stdout, which will > # mess up the printed output. So, we redirect stdout to stderr > # and then make descriptor 3 go to stdout, and have Ghostscript > # write its output there. Exercise for the clever reader: > # capture the stderr output from Ghostscript and mail it back to > # the user originating the print job. > # > exec 3>&1 1>&2 > /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=hl7x0 \ > -sOutputFile=/dev/lpt0 - && exit 0
'lpd' expects the fifter output on STDOUT which from the exec command comes from the redirected file descriptor 3. So the gs output should be specified -sOutputFile=/dev/fd/3 which is another of addressing file descriptor 3. The final destination of /dev/lpt0 comes from printcap. > else > # > # Plain text or HP/PCL, so just print it directly; print a form feed > # at the end to eject the last page. > # > echo "$first_line" && cat && printf "\033&l0H" && > exit 0 > fi > > exit 2 > > ########################################################################### _______________________________________________ [EMAIL PROTECTED] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"