Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Dec 2008 21:44:18 +0100 (CET)
From:      Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl>
To:        Polytropon <freebsd@edvax.de>
Cc:        luizbcampos <luizbcampos@gmail.com>, freebsd-questions@freebsd.org
Subject:   Re: LPRng x pdf files
Message-ID:  <20081216214258.D62674@wojtek.tensor.gdynia.pl>
In-Reply-To: <20081216214051.4d0cfcf6.freebsd@edvax.de>
References:  <d534d2fe0812161223w21575c9dpf5f41af31be0e762@mail.gmail.com> <20081216214051.4d0cfcf6.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
>
> Or you can use gv's or xpdf's print option which should place
> the PDF file's content into the printer job queue.
>
> If your printer is PostScript capable, you could eventually
> use pdf2ps and then feed the PS directly into the printer.

if not - ghostscript processes both ps and pdf

example filter for my laserjet 4 (minimally modified default)

#!/bin/sh
#
#  ifhp - Print Ghostscript-simulated PostScript on a DesJet 500
#  Installed in /usr/local/libexec/hpif

#
#  Treat LF as CR+LF:
#
printf "\033&k2G" || exit 2

#
#  Read first two characters of the file
#
read first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
     #
     #  It is PostScript; use Ghostscript to scan-convert and print it
     #
     /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sPAPERSIZE=a4 -sDEVICE=ljet4 -sOutputFile=- - \
         && exit 0

else
     #
     #  Plain text or HP/PCL, so just print it directly; print a form
     #  at the end to eject the last page.
     #
     echo "$first_line" && cat && printf "\f" && exit 0
fi

exit 2



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20081216214258.D62674>