Provided by: netpbm_10.0-15.3build1_amd64 bug


       pbmtoppa - convert PBM image to HP Printer Performance Architecture (PPA)



       [pbm_file [ppa_file]]


       pbmtoppa  converts page images in PBM format to Hewlett Packard's PPA (Printer Performance
       Architecture) format, which is the data stream format expected by some  HP  "Windows-only"
       printers  including  the  HP  Deskjet  820C  series, the HP DeskJet 720 series, and the HP
       DeskJet 1000 series.

       pbm_file is the file specification of the input file or - for Standard Input.  The default
       is Standard Input.

       The  input  file contains one or more PBM images, with each one being a single page.  Each
       image must have the  exact  dimensions  of  a  page  (at  600  pixels  per  inch  in  both
       directions).  Significantly, this is the format the Ghostscript produces.

       ppa_file  is  the  file  specification  of  the output file or - for Standard Output.  The
       default is Standard Output.

       To print Postscript on an HP PPA printer, just use Ghostscript with the  pbmraw  (or  pbm)
       device driver.

       You can generate a test page for use with this program with pbmpage.

       You  can  also  set up a printer filter so you can submit PBM input directly to your print
       queue.  See the documentation for your print spooler for information on how to do that, or
       look in hp820install.doc for an example lpd print filter for Postscript and text files.

       Sometimes,  pbmtoppa generates a file which the printer will not print (because pbmtoppa's
       input is unprintable).  When this happens, all three lights blink  to  signal  the  error.
       This  is  usually  because  there is material outside of the printer's printable area.  To
       make the file print, increase the margins via pbmtoppa options or  a  configuration  file.
       See the CALIBRATION section below.


       -v version
              printer version (720, 820, or 1000)

       -x xoff
              vertical offset adjustment in 1"/600

       -y yoff
              horizontal offset adjustment in 1"/600

       -t topmarg
              top margin in 1"/600    (default: 150 = 0.25")

       -l leftmarg
              left margin in 1"/600   (default: 150 = 0.25")

       -r rightmarg
              right margin in 1"/600  (default: 150 = 0.25")

       -b botmarg
              bottom margin in 1"/600 (default: 150 = 0.25")

       -s paper
              paper size: us or a4.  Default is us.

       -f cfgfile
              read parameters from configuration file cfgfile

       The -x and -y options accumulate.

       The -v option resets the horizontal and vertical adjustments to an internal default.


       You  can use configuration files to specify parameters rather than use invocation options.
       pbmtoppa processes the file  /etc/pbmtoppa.conf,  if  it  exists,  before  processing  any
       options.   It  then  processes  each  configuration  file  named  by a -f option in order,
       applying the parameters from the configuration file as if  they  were  invocation  options
       used in the place of the -f option.

       Configuration files have the following format:

       key1 value1
       key2 value2

       Valid   keys   are   version,   xoffset,   yoffset,  topmargin,  leftmargin,  rightmargin,
       bottommargin, papersize, or any non-null prefix of these words.  Valid values are the same
       as with the corresponding invocation parameters.


       Print a test pattern:

       pbmpage | pbmppa >/dev/lp1

       Print three pages:

       cat page1.pbm page2.pbm page3.pbm | pbmppa >/dev/lp1

       Print the Postscript file

       gs -sDEVICE=rawpbm -q -dNOPAUSE -r600 \
          -sOutputFile=- \
       | pbmtoppa | lpr


       To  be  able  to  print  successfully and properly, you need to tell pbmtoppa an X and a Y
       offset appropriate for your printer to use when generating  the  page.   You  can  specify
       these  offsets  with the -x and -y invocation options or with the xoff and yoff parameters
       in a pbmtoppa configuration file.

       To determine the correct offsets, use the pbmpage program.

       If while trying to do this calibration, the printer refuses to  print  a  page,  but  just
       blinks  all  three lights, specify large margins (e.g. 600 pixels -- one inch) via pbmpage
       invocation options while doing the calibration.

       For example:

       pbmpage | pbmtoppa >/dev/lp1
       pbmpage | pbmtoppa | lpr -l
       (if your printer filter recognizes the '-l' (direct output) parameter).

       In the test pattern, the grid is marked off in pixel coordinate  numbers.   Unfortunately,
       these coordinates are probably cut off before the edge of the paper.  You'll have to use a
       ruler to estimate the pixel coordinate of the left and top edges of the  actual  sheet  of
       paper (should be within +/- 300, may be negative; there are 600 pixels per inch).

       Add  these  coordinates to the X and Y offsets by either editing the configuration file or
       using the -x and -y command-line parameters.

       When pbmtoppa is properly calibrated, the center mark should  be  in  the  center  of  the
       paper.   Also,  the  margins should be able to be as small as 1/4 inch without causing the
       printer to choke with 'blinking lights syndrome'.


       RedHat users may find the following tip from Panayotis  Vryonis  <>  helpful.
       The  same  should  work  for  the  820 and 1000, but it hasn't been tested.  Also, use the
       pbmraw GSDriver if you have it; it's faster.

       Here is a tip to intergrate HP720C support in RedHat's printtool:

       Install pbm2ppa. Copy pbm2ppa to /usr/bin.

       Edit "printerdb" (in my system it is found in /usr/lib/rhs/rhs-printfilters )  and  append
       the following lines:

       ----------------------Cut here-----------------------
       StartEntry: DeskJet720C
         GSDriver: pbm
         Description: {HP DeskJet 720C}
         About: { \
               This driver supports the HP DeskJet 720C \
               inkjet printer. \
               It does does not support color printing. \
               IMPORTANT! Insert \
                    "- | pbm2ppa -" \
               in the "Extra GS Otions" field.\
         Resolution: {600} {600} {}
       EndEntry ----------------------------------------------------

       Now you can add an HP720C printer just like any other, using printtool.


       pbmpage(1), pstopnm(1), pbm(5)

       pnm2ppa  is  not part of Netpbm, but does the same things as pbmtoppa except it also works
       with       color       and        has        lots        more        features.         See

       The  file  INSTALL-MORE  in  the  pbmtoppa  directory  of  the Netpbm source code contains
       detailed instructions on setting up a system to use pbmtoppa to allow convenient  printing
       on HP PPA printers.  It was written by Michael Buehlmann.

       For information about the PPA protocol and the separately distributed pbm2ppa program from
       which pbmtoppa was derived, see <>.


       Tim Norman.  Copyright (C) 1998.  Licensed under GNU Public License

       Manual page by Bryan Henderson, May 2000.

                                           01 May 2000                                pbmtoppa(1)