(http://www.faximum.com/technotes/090)
TITLE: #090 - Problems aligning text with forms using forms overlay
KEYWORDS: forms overlay alignment line printer intercept image shift position margin
RELEASE: All
CLASSIFICATION: All
PROBLEM: Customer reports that the data being faxed (using the line printer
intercept or other mechanism) is not properly aligned with the
image being used the forms overlay.
CAUSE: The origin of the form and the text may not be aligned and/or the
default character and line spacing of the text may not match the
form (especially if the form has been slightly stretched or reduced
as a result of the scanning process).
SOLUTION: There are three possible solutions to this problem:
1) shift the forms overlay image;
2) change the margins or print spacing of the text; and
3) combine a bit of 1 and 2.
Section 1 - Shifting the TIFF Overlay Image
-------------------------------------------
The easiest way to shift the forms overlay image is to use the
asciitiff utility (see the manual page for asciitiff which is
in the Reference Manual for the PLUS products or on-line for the
Client/Server products) and the tiffinclude command. For example,
if you were to create a file called shift.txt which contains the
following single line of text:
@[set indent 0]@[tiffinclude form.tif 0.5i 0]@[moveto 0 0]
(replace the @ symbols in the above line with $ symbols.)
and then were to run asciitiff:
/opt/faximum/bin/asciitiff shift.txt
(the actual pathname for the asciitiff command may vary
depending on the version and type of product you are
running. Other common locations include /usr/fax/bin,
/usr/faximum/bin, /opt/FAXserver/bin, and
/opt/faximum/fms/bin)
then this would produce a TIFF file called shift.tif which
would contain the original form.tif image shifted to the
right 0.5 inches. By modifying the arguments to the
tiffinclude command one can change the amount the image is
shifted. To shift the image down the page, change the
second number to the tiffinclude command.
Section 2 - Shifting the Text on the Page
-----------------------------------------
To shift the position of the text one uses the appropriate PCL
commands. The exact method of inserting the PCL commands into
the print stream depends on how one is using the line printer
intercept.
1. If one is sending the print file to the line printer spooler
one could add the PCL commands to the beginning of the print
file itself.
2. If one is sending the print file to the line printer spooler
one could add the PCL commands to those already in the line
printer interface script which calls the lpfax command.
(For example, on SCO machines, look in the script directory
/usr/spool/lp/admins/lp/interfaces/).
If the PCL alignment commands are specific to a single form
and you plan to use more than one form, then consider defining
separate line printer spooler destinations for each form
(which will result in separate line printer interface scripts
for each destinations) and then edit each script appropriately.
3. If one is calling the lpfax utility directly (i.e. from AIX),
then merely add the PCL command to the call to lpfax. Example:
/usr/fax/lib/lpfax -p '\E&l4E'
Here is a list of PCL commands that can be used to change the
alignment of the text. The first set can be used to expand or
shrink the text; the second set affect where the first character
is placed on the page; and the remainder may be used to affect
other characteristics of the output.
Text Size Commands
\E&l#C height of each row of print (where # is in units of 1/48 in.)
\E&k#H width of each column of print (where # is in 1/120 in. units)
Note that the column width is reset to the default for the font
whenever a font selection command is issued so if one is changing
fonts in the middle of the document then you must reset the width
using the above command after each font selection command.
Text Positioning Commands
\E&l?U shift all text right (? in units of 1/720 in.)
\E&l-?U shift all text left (? in units of 1/720 in.)
\E&l?Z shift all text down (? in units of 1/720 in.)
\E&l-?Z shift all text up (? in units of 1/720 in.)
\E&a#L left margin (where # is the column number, must be >= 0)
\E&l#E top margin (where # is the line number, must be >= 0)
Page Size and Orientation Commands
\E&l?F number of lines on each page before jumping to a new page
\E&a?P page orientation (0=portrait, 90=landscape...)
\E&l?A paper size (2=letter, 3=legal, default from style)
# represents any positive decimal number
? represents any positive integer
Note that in the above escape sequences, l is the letter L, not
the digit 1.
To learn more about Hewlett-Packard's Printer Control Language
(PCL), order their "PCL/PJL Technical Reference Package"
(HP Part No. 5010-3994) which contains detailed documentation
on the PCL language. HP Parts Direct may be reached through
1 800 227 8164 (US) or 1 800 387-3154 (Canada). In other
countries contact your local HP office.
Tech Note: 090 - Copyright 2001 Faximum Software Inc., All Rights Reserved.
http://www.faximum.com/technotes/090 Revised: Fri Feb 2 06:18:39 PST 2001
© Copyright 2001 Faximum Software Inc. All Rights Reserved.