phpman > man > pbmtoppa(1)

Markdown | JSON | MCP    

TLDR: pbmtoppa (tldr-pages)

Convert a PBM image to HP Printer Performance Architecture format.

  • Convert a PBM image into a PPA file
    pbmtoppa {{path/to/image.pbm}} > {{path/to/output.ppa}}
  • Specify the desired dots-per-inch and paper size
    pbmtoppa -d {{300}} -s {{a4}} {{path/to/image.pbm}} > {{path/to/output.ppa}}
pbmtoppa(1)                            General Commands Manual                           pbmtoppa(1)



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

SYNOPSIS
       pbmtoppa

       [pbm_file [ppa_file]]


DESCRIPTION
       pbmtoppa converts page images in PBM format to Hewlett Packard's PPA (Printer Performance Ar‐
       chitecture) format, which is the data stream format expected by some HP "Windows-only" print‐
       ers  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 im‐
       age 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)  de‐
       vice 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 in‐
       put 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  CALIBRA‐
       TION section below.


OPTIONS
       -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.




CONFIGURATION FILES
       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 parame‐
       ters from the configuration file as if they were invocation options used in the place of  the
       -f option.

       Configuration files have the following format:

       #Comment
       key1 value1
       key2 value2
       [etc.]

       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 cor‐
       responding invocation parameters.



EXAMPLES
       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 myfile.ps:

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


CALIBRATION
       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 con‐
       figuration 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
       or
       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 us‐
       ing 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 LINUX INSTALLATION
       RedHat users may find the following tip from Panayotis Vryonis <vrypan AT hol.gr> helpful.   The
       same  should  work for the 820 and 1000, but it hasn't been tested.  Also, use the pbmraw GS‐
       Driver 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.



SEE ALSO
       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 <http://sourceforge.net/project/?group_id=1322>.

       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 <http://www.httptech.com/ppa>.


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

       Manual page by Bryan Henderson, May 2000.



                                             01 May 2000                                 pbmtoppa(1)
pbmtoppa(1)
NAME SYNOPSIS
pbmtoppa
DESCRIPTION OPTIONS
-v version -x xoff -y yoff -t topmarg -l leftmarg -r rightmarg -b botmarg -s paper -f cfgfile
CONFIGURATION FILES
-f option.
EXAMPLES
pbmpage | pbmppa >/dev/lp1 cat page1.pbm page2.pbm page3.pbm | pbmppa >/dev/lp1 gs -sDEVICE=rawpbm -q -dNOPAUSE -r600 \ | pbmtoppa | lpr
CALIBRATION
pbmpage | pbmtoppa >/dev/lp1 pbmpage | pbmtoppa | lpr -l
REDHAT LINUX INSTALLATION SEE ALSO AUTHOR

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 12:29 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top