Overview of Printer Calibration.
There are three tasks you may need to carry out to fine-tune your PPA printer:
These instructions assume that you are already able to print postscript
files with your PPA printer. If your print filters
are properly configured, something like "lpr test.ps
"
will successfully invoke ghostscript and pnm2ppa
to print the postscript file test.ps. Alternatively, you may be using
shell scripts like "lprbw", "lprcolor"
and "lpreco" supplied with the
pnm2ppa source code, and modified by you for your defaults; you may also
have defined special printing devices in /etc/printcap
, e.g.
a "coloreco" device so you print
with lpr -P coloreco test.ps
. These details vary with
the operating system and distribution you use.
(1) Centering the printed page on the paper.
This is done by adjusting the x-offset and y-offset parameters
xoff
and yoff
in the pnm2ppa
configuration file (usually
/etc/pnm2ppa.conf
). The parameters are given in units of
1/600 inch; increasing xoff
moves the image
to the right, and increasing yoff
moves it downwards.
These offsets now have default values defined for each printer model,
and you will probably not need to adjust them.
Uncomment and make small adjustments to the default
values for these in the configuration file, until the printout is satifactory.
(You can also edit the defaults.h file and recompile
pnm2ppa
, or use the '-x' and '-y'
command-line parameters.)
There are two ways to check the offsets.
calibrate
" program. On Red Hat or Mandrake Linux distributions, a suitable test page is
/usr/lib/rhs/rhs-printfilters/testpage.ps
(US Letter paper) or
/usr/lib/rhs/rhs-printfilters/testpage-a4.ps
(A4 paper). (If these are not available, similar test pages
are supplied in the tarball distribution pnm2ppa-1.0.tar.gz
).
These pages have margins drawn at standard distances from the
edges of the paper, and can easily be used to check the centering.
The "calibrate
" program is a
stand-alone program distributed with pnm2ppa
which
creates a calibrated grid pattern in the raw
pixmap format accepted by pnm2ppa. (The three paper sizes,
US Letter, US Legal, and A4, are supported).
If your paper size is A4, and your printer filter accepts
the "-l
" (direct output) option to lpr
,
the command to run is:
calibrate -a4 | pnm2ppa -i - -o - | lpr -l
.
(Substitute "letter" or "legal" for "a4" to change
the papersize; if no paper size is specified, it is assumed to
be letter
.)
If "lpr -l
" is not valid, you need to know which port your
printer is attached to. Assuming it is /dev/lp0
, the above
command becomes
calibrate | pnm2ppa -i - -o /dev/lp0
.
The numerical values marking grid intersections are pixel coordinates.
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).
When properly calibrated, the center mark should
be in the center of the paper.
(2) Calibrating the X and Y Color Offsets.
The color ink offsets now have to be calibrated with respect to the black ink. Because the relative position of the two ink cartridges can move slightly, this must be done whenever an ink cartridge is removed and replaced.
The calibration can be done by printing the test page
test.ps
(found in the tarball
pnm2ppa-1.0.tar.gz
; or installed
with the pnm2ppa
documentation. (This is often in
/usr/doc/pnm2ppa*/
.)
The settings to change in the configuration file are
ColOffsX and ColOffsY, again in units of 1/600 inch.
On the printout you see several images:
If these items do NOT line up, you should take the following steps:
Now you can print test.ps again to see whether this procedure worked.
Other adjustments
Many of these are documented in the sample configuration file.
If bidirectional printing causes "shearing" of vertical lines (horizontal offsets of those parts of the line printed by left-to-right print-head sweeps relative to those printed on right-to-left sweeps) you can make small adjustments (in 1/600 inch) units using the blackshear and colorshear parameters in the configuration file. You can also suppress bidirectional printing with the unimode=1 parameter.
The parameter blackness adjusts the number of black ink drops printed per pixel. It takes values 1, 2, 3, or 4 (2 is the default). Other values, like 0, suppress black ink.