From the June Mastering CorelDRAW newsletter

PostScript Output Strategies

John Cornicello

I think youd probably agree that CorelDRAW 4 is the most powerful, 
yet easy-to-use, graphics program available today. However, along with 
that power and ease of use comes a lot of responsibility in preparing 
images that can be output successfully on laser printers and imagesetters.
Fountain fills, PostScript pattern fills, fractal texture fills: These are all 
great-looking features, and a new Draw user must feel like a kid in a 
candy store. But good design - and workable output - depends a lot on 
control and restraint. Just because the features are available doesn't 
mean that you have to use them in every document you create.
This month Im going to discuss some problems and solutions for 
printing from Draw to PostScript printers, both desktop laser printers 
and service bureau imagesetters. You will find that more than half of the 
job of creating files that print correctly is in understanding the 
capabilities of the output device that will be used, whether its your 
desktop PostScript laser or color printer, a 1,200, 2,400 or 3,600 dpi 
imagesetter, or a slide imager. The intent of this article is to get you to 
think ahead.
The first thing to recognize is that a documents ability to print on a 300 
dpi PostScript laser printer is no guarantee that it will be able to output 
on a high-resolution imagesetter. Things like memory management - 
and the sheer volume of dots to be managed - will be quite different.  
Take a moment to consider how many dots are being handled by various 
output devices. A 300 dpi laser printer has to manage around 8,415,000 
pixels for an 8   by 11-inch page. The same page sent to a 1,200 dpi 
printer will have too many pixels for my calculator to display (in fact, its 
about 134,640,000 pixels, according to the Windows Calculator). And 
at 2,400 dpi the printer is handling 538,560,000 dots. 
Since the imagesetter has to handle 64 times as many pixels, but has 
access to a lot less than 64 times the memory of a laser printer, a 
different memory management scheme has to be used. What happens? 
Usually it works well, but there is always that one super-complex, last- 
minute rush job that will find the differences between them. Let's just 
hope it isn't your job.

PostScript Errors I Have Known
In addition to memory management, PostScript uses dictionaries to hold 
pairs of objects. Some applications will use an existing dictionary, called 
USERDICT. This is a device dependent dictionary that will hold 200 
entries. Different printers or PostScript versions will use a different 
number of entries for their internal housekeeping. More elaborate 
devices, such as imagesetters, may need to use more of the USERDICT 
space, leaving less room for software to store entries. This can lead to a 
DICTFULL error on an imagesetter for a file that outputs with no 
problems on a laser printer. The user doesn't have much say in 
correcting this situation; it is a limitation of the program generating the 
PostScript code, in this case Draw.
When PostScript devices encounter an error, the normal procedure is 
that the job is aborted, data is dumped and the processor returns to its 
ready state, awaiting the next job. The only indication that an error has 
occurred is that nothing is printed. Its not a particularly helpful or 
friendly system. But there is some hope.
If you are running into this situation of nothing printing, you can enable 
a PostScript error handler. With Draw 4 you have a couple of ways to do 
this. First, the Microsoft PostScript driver has a built-in error handler. In 
the Windows Control Panel, double-click on the Printers icon, select 
your PostScript device from the list of available printers, and click on 
Setup. Then select Options and Advanced. At the lower-left of the 
Advanced Options dialog box is a check box to enable the error handler.
Choosing this option will cause the error handler code to be enabled for 
each page that is printed through the driver. This won't have any effect 
on most print jobs, but it will print an error message should a PostScript 
error occur. Draw also includes a standalone error handler that can be 
downloaded to a PostScript printer before printing. This error handler is 
a utility that remains resident in your printers memory, sitting there in 
the background until the printer is reset. As with the Windows error 
handler, it has no effect on normal print jobs but should jump into 
action should an error occur.
During installation, Draw created a subdirectory under 
COREL40\DRAW called EHANDLER. This directory contains six files 
including the error handler, a program to print out information about 
your PostScript printer, a readme file, two batch files to download the 
error handler to LPT1 or LPT2, and a Windows icon. The error handler 
can be downloaded to the printer using the included batch files (edit 
them in Notepad if you need to use a different printer port), or it can 
simply be copied to the printer port from DOS (COPY EHANDLER.PS 
LPT1). The error handler will then set itself up in the printer's memory 
until the printer is reset or turned off.
If an error occurs in your print job, the error handler should print a 
partial page, then print an additional page with the error message. 
PostScript error messages consist of two parts. First the error message, 
then the offending command. A typical error looks like this:

%%[ERROR: limitcheck  OFFENDINGCOMMAND: lineto]%%

Typical errors are the previously mentioned DICTFUL, LIMITCHECK, 
IOERROR, RANGECHECK, and TIMEOUT (there are actually about 30 
possible PostScript errors). The most common errors associated with 
Draw files are TIMEOUT and LIMITCHECK. A TIMEOUT error means that 
too much time has elapsed between the printer's receiving two parts of 
the same job. This can happen on complex jobs on which the printer is 
busy digesting some information, while the PC thinks that the printer 
has stopped responding.

Timeout Errors
The TIMEOUT error may be corrected by changing timeout settings in 
Windows. If you are printing directly from Windows to the PostScript 
device, you can change the TransmissionRetryTimeout value in the 
WIN.INI file. You can do this by directly editing WIN.INI in Notepad, 
or by running the Windows Control Panel, double-clicking on the 
Printers icon and clicking on Connect. The default is usually 45 or 90. 
Change this to 999, save the file if youre editing it in Notepad, and then 
restart Windows. This tells Windows to keep waiting for the printer to 
respond, and not simply give up after 45 seconds. This is a Windows 
timeout, not a printer timeout.
To set a printer timeout, you have to edit another section of the 
WIN.INI file - there is no way to set this with the Control Panel. Scroll 
down to find the specific section for your PostScript printer and printer 
port. A typical entry might look like:

	[Agfa 9000 Series PS,LPT2.DOS]
	feed1=54
	EpsFile=
	advflags=136
	orient=1
	LandscapeOrient=270
	margins=511
	EPS=0
	prtvm=2396
	timeout=999

Adding the last timeout= line to this section will set a printer timeout 
value that may help get the document to output. (The 
LandscapeOrient=270 line, by the way, is one you should add if youre 
experiencing .EPS files being rotated when theyre placed on landscape 
orientation pages. This is a problem that plagues PageMaker users.)

Limitcheck Errors
A LIMITCHECK error means that something in the file has exceeded the 
capabilities of the printer. Looking at the offending command will give a 
bit more information about the LIMITCHECK error. Some possibilities 
here are CURVETO or LINETO. This usually means that an element on the 
page is too complex for the printer to handle. There may be too many 
nodes on a curved line, or a curved line is being used as a clipping path 
for a complex fill.
LIMITCHECK errors will require a bit more work to fix. First, you will 
have to figure out what element on the page is causing the problem, 
then you will have to edit it. Using the Draw error handler, you should 
get a partially printed page that includes all of the objects up to (but not 
including) the problem object. Because the PostScript output is created 
in the same order as the objects were placed on the page in Draw, you 
can figure out which item on the partial page was the last printed. Select 
that item on the screen in Draw, then press Shift-Tab to select the next 
object. That is usually the problem object.
The PostScript output is created in the same order as the objects were 
created on the page in Draw. You can figure out which item on the 
partially printed page was the last one printed by selecting the last object 
created, then hold down the Shift key and press Tab repeatedly. This will 
select each object in the opposite order of placement. Keep hitting the 
TAB key while it is selecting items that did not print until you find the 
first element that appears on the printed page (the last element to print 
correctly). When the last element is selected press the TAB key alone 
(not shifted) and you will most likely have located the offending object.
You need to lessen the complexity of that object. If youre lucky, youll 
find you have selected a curved object with an overabundance of nodes. 
Use Draw 4's Auto-Reduce command (in the Node Edit roll-up) to 
reduce the complexity of the object. If the object doesn't have a fill, you 
can try to carve up the object up into smaller, less complex objects, by 
breaking nodes and then using the Break Apart command from the 
Arrange menu.
If there are a number of complex objects in the document, you should 
try some of the output strategies mentioned on page 16 of last month's 
newsletter, such as lowering the PSComplexityThreshold value in Draws 
CORELPRN.INI file (located in the COREL40\CONFIG directory), or 
raising the Flatness setting when you print (moved from the Print dialog 
box in Draw 3 to the Options sub-dialog box of Print in Draw 4). You 
should also have technical document 2023 faxed to you from Corels 
interactive fax service. Dial (613) 728-0826 and press 3080 to enter the 
service.

Dealing with the Service Bureau
Now that you have some background on possible problems, its time to 
look at a typical service bureau situation. The following are generalities, 
but they will apply in most cases; however, you should contact the 
bureau in advance to find out if it can offer any specific information for 
its particular equipment setup.
Once you have created (and saved) your Draw file, select Print from the 
File menu. Select the proper imagesetter device in the printer list and 
click on Print To File under the printer name. If the file will be 
downloaded to the imagesetter from a Macintosh printer, then also 
select For Mac (this will strip out two Control-D characters that 
Windows normally includes in PostScript print files).
Click on the Printer button to select the proper paper size (remember, if 
you need crop marks and printer information, you have to select a paper 
size that is larger than your page size, such as LetterExtra or 
TabloidExtra). Click on OK.
Click on the Options button to set printer information such as crop 
marks, separations and file information (again, remember that printer 
information, like crop marks, will require a paper size larger than the 
page size). Click on OK.
Next, click on OK in the Print dialog box. This will open the Print To 
File box where you can name the output file, and select the drive and 
directory to store it. Do yourself a favor and print to the hard disk, then 
later copy the file to a floppy drive if you need to bring a disk to the 
service bureau. This will save time, and will provide you with a backup 
file in case there is a problem with the floppy.
The result of this will be a PostScript print-to-disk file (not an 
encapsulated PostScript .EPS) file. From a PC, the file can simply be 
copied to the printer port at the DOS prompt (COPY /B 
FILENAME.PRN LPT1:). You can also use the Dumper program 
included on the April newsletter disk. From a Macintosh, the file will 
have to be downloaded to the imagesetter. Most Macintosh font 
downloaders have a provision for downloading PostScript files to the 
printer. (If youre using PostScript fonts, check Steve Shubitzs April 
type column on font management details.)
If all has gone well, the file should zip right through the PostScript RIP 
and imagesetter or slide imager to provide you with beautiful output of 
your file. If not, its time to go back and look at the original file again. 
The following are some principles to guide you in creating your files for 
imagesetting.

Creating for Imagesetting
The main thing to do is to keep things as simple as possible. However, 
this isn't always so obvious. Some things to keep in mind are to delete 
objects that aren't part of the image. Do not simply cover them with 
white boxes; even though they don't show up, they still have to be 
processed by the printer. Even if files containing a large number of such 
objects do print they may end up costing you, because many service 
bureaus charge a premium for files that take a long time to print. 
If you import scanned images, crop them in the scanning program or 
image editor to cut down on file size - don't crop them in the final 
output program, such as Draw. The same thing applies for rotation - 
rotate the image in an image editor, such as CorelPHOTO-PAINT. 
When you scan line art, art run it through CorelTRACE to convert the 
bitmap image to vector format. If you scan photographs, don't over-
scan. It is a common error to scan photographs at too high a resolution. 
Typically, you need to scan at only 1   to 2 times the line screen of the 
output device. So if you are imagesetting with a screen of 133 lpi, you 
should scan at 200 to 270 dpi. Anything higher will just add more data 
without any benefit.
Don't embed .EPS files inside .EPS files. This is especially tempting, now 
that Draw can import the .EPS files it exports. Be judicious in your use 
of blends, as well as fountain, pattern and texture fills; try not to fill 
complex objects, containing many nodes, with these. If you have to fill a 
word or phrase with a blend, you should you the Convert To Curves 
command on the Arrange menu and then Break Apart to break the text 
string up into individual objects, each with its own fill.

Tapping PostScript Expertise
If youll be creating a lot of jobs to be output at a service bureau, you 
should also consider a utility like LaserCheck, from Systems of Merritt 
(205) 660-1240. LaserCheck transforms a laser printer into an 
imagesetter. No, it doesn't increase the resolution or provide usable 
imagesetter output, but it does allow you to proof such things as crop 
and registration marks by scaling down the PostScript output to fit on an 
8   by 11-inch page. It also lists a variety of information, such as what 
fonts the file requires, in the margins. LaserCheck software remains 
resident in the printer (like a font or an error handler) and can be 
downloaded to the printer from either a DOS or Mac system. The cost is 
$149, and it can pay for itself in a very short time by reducing wasted 
film. 
Systems of Merritt also produces a handy booklet called How To Make 
Sure What You See Is What You Get!, by Peter Fink. This is a very 
worthwhile $6.99 investment. And the free PostScript Concepts 
newsletter is definitely worth requesting, since it usually contains a 
variety of output-related tips.

Contents Copyright Kazak Communications, 1993.


Subscription Information

While the regular subscription rate is $75 per year (in US dollars for 
Americans, Canadian dollars for Canadians), charter subscriptions to the 
Mastering CorelDRAW newsletter are available for a limited time at $60 
(add $30 U.S. for overseas). A free sample disk, from our exclusive disk-
of-the-month service (value $20), is included with your paid 
subscription. 

To subscribe, or for more information, contact:

Chris Dickman
16 Ottawa St.
Toronto, ON M4T 2B6
Canada
416-924-0759 (voice)
416-924-4875 (fax)
CServe: 70730,2265



                                                 - 30 -





