This can happen with any LaserWriter, and it has most notably been reported with recent shipments of LaserWriter 8500 printers. The margins, while in most cases considered within tolerance, may not be to the specification that the user would like. LaserWriter margins can be calibrated however, using the PostScript setmargins operator.
Caution: If you choose to use the PostScript code provided in this article, you assume all risks involved in making these changes. PostScript code, if not entered correctly, can place the LaserWriter into a condition requiring service.
The PostScript SETMARGINS operator can be used to adjust the left/right and top/bottom margins. Use Apple Printer Utility 2.0 or later to download the PostScript code after inserting the desired <yoffset> and <xoffset> values. The default values (0,0) as shipped from Apple provide the best settings when used with Apple printer drivers and the wide variety of software applications on the market.
The PostScript SetMargins syntax is as follows: <yoffset> <xoffset> setmargins
Positive integers increase the top and left margins; negative numbers decrease them. Each unit is a single device pixel (1/300 inch), or roughly 1/4 point.
The setmargins operator is in statusdict, and must be executed outside the server loop so the changes will persist across power cycles. Try using the following configuration to start with since it shifts the page image to the left 20 pixels and leaves the x offset unchanged. The changes are permanently stored in the non-volatile RAM on the I/O controller board so that the changes can persist through power cycles.
%=========================================================
% Begin PostScript code
%
serverdict begin 0 exitserver
statusdict begin
-20 0 setmargins
%
% End PostScript code
%========================================================= |
By altering the margin values, you should be able to center the Color LaserWriter 12/600 PS page image. The setmargins operator changes the position of the image on the page without affecting the image size.
The following PostScript code prints a page showing the current margin settings and a one point rectangle border around the imageable area. Print this page before modifying the original settings to maintain a record of the initial values as shipped from the factory. The initial values are likely to be set to zero for both the yoffset and the xoffset.
%=========================================================
% Begin PostScript code
%
/str 32 string def %Define a 32 character string for later use.
/Times-Roman findfont %Lookup font in fontdict and push it on stack
15 scalefont setfont %Push size, scale, and make it the current font.
72 700 moveto %One inch over, and 700 72nds up.
statusdict begin %We'll be using two operators from statusdict.
(Margins for ) %Push the leading text on the stack.
show %Show the topmost string from the stack at 72
% 700.
str %Push an empty string of 32 length on stack.
printername %Puts the LaserWriter name in the string.
show %Show it.
72 680 moveto %Move back to 1 inch left, and down 20 points.
margins %Push top and left margins onto stack.
( Xoffset set to: ) %Push leading string onto stack.
show %Show it.
str %Push an empty string.
cvs show %Convert left margin into the string and show it.
72 660 moveto %Do the same thing again for the top margin.
( Yoffset set to: )
show str cvs show
clippath stroke %Draw a frame around the page border
showpage %print out the page.
%
% End PostScript code
%========================================================= |
To prepare PostScript code for downloading, copy or type the above code into a text document using a word processor or text editor such as SimpleText. The comments following the % characters are not necessary, they are included as reference material, but are not necessary to make the PostScript code work. Once the code is entered, save it as a text file, then use the Apple Printer Utility 2.0 (or later) software that shipped with the printer to download the PostScript files.
Note: When copying text from some browsers, invisible characters may be copied that will cause a postcript offending command error when the file is sent to the printer. In this case you can either try a different browser, retype the text manually, or use a text editor that can delete non-printing characters.