pbmtoppa
convert PBM image to HP Printer Performance Architecture (PPA)
see also :
pbmpage - pstopnm
Synopsis
pbmtoppa
[pbm_file
[ppa_file]]
add an example, a script, a trick and tips
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
description
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.
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.
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
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
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 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’.
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 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:
#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 corresponding invocation parameters.
redhat linux installation
RedHat users may find the following tip from Panayotis Vryonis
<vrypan[:at:]hol[:dot:]gr> 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.
see also
pbmpage ,
pstopnm , pbm
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.