# 3425 - Windows 95 PostScript Printing Issues Under certain conditions, problems may be encountered when printing to a PostScript device. The following information will aid the user in isolating and resolving these issues. It is important to verify that the latest PostScript Printer Driver is in use. To date, the most current revision is Version 4.1 or more recent. To check the version of the driver, click Start | Settings | Printers. Select the PostScript Printer in use and click File | Properties. Select the Paper tab, then the About box. The version is stated here. To obtain the latest drivers, please contact Adobe . Load the Error Handler Before determining the best approach to getting a file to print, it is import to find out exactly what the problem is. Downloading an error handler, before the print job, will force the printer to print out an error message indicating the source of the problem. If the error handler is not loaded, your printer will simply go idle. Essentially, an error handler is a memory resident program that will print out the errors that the PostScript printer may encounter when processing a file. Your printer driver may have error reporting capability built-in. Look in the printer properties, outside CorelDRAW . You cannot get to this option through CorelDRAW. Click Start | Settings | Printers. Select the PostScript Printer you are currently using and then click File | Properties. Click the PostScript tab and check "Print PostScript error information." Error Messages Reported by The Error Handler The most common error encountered when printing graphics files is the LIMITCHECK error. This type of error can arise if a PostScript limitation has been exceeded. This can be caused by commands such as EOFILL, EOCLIP, STROKE, FILL and CURVETO. These operators are all sensitive to the resolution of the PostScript device to some extent. The cause of this problem is usually an object(s) that is too complex, most often a curve with an excess of 300-400 nodes with complex fills. Although PostScript is a universal language, these errors may not become apparent until the file is printed on an imagesetter. This is because high resolution devices typically create many more line segments when flattening a path, hence the susceptibility to complexity problems. The frequency of this type of error will be much lower on Level 2 devices due to improvements made to PostScript language. List of Possible PostScript Errors Offending Command= EOCLIP Nametype: Limitcheck. This message indicates a path implementation error, usually where PostScript is unable to complete the clipping routine for filled objects. Try these suggestions: Set Maximum points per curve value to 300, under File | Print | Options | Options tab | PostScript Preferences. Enable Auto increase flatness in the PostScript Preferences dialog box under File | Print | Options | Options tab | PostScript Preferences. Remove any extraneous outlines from objects. Consider substituting solid color fills for gradients or pattern fills in irregular shaped objects Offending Command= EOFILL Nametype: Limitcheck. This message indicates a path implementation error when PostScript is completing a fill routine. Try these suggestions: Try setting the Maximum points per curve value to 300, under File | Print | Options | Options tab | PostScript Preferences. Reduce the number of nodes on complex objects with the Auto-Reduce command. Using the Shape Tool, marquee select the nodes of the selected object, right-click on it and select "Auto- Reduce." Offending Command= LINETO or CURVETO Nametype: Limitcheck. An implementation limit has been exceeded, usually indicating too many nodes on a straight or curved path. Reduce the number of nodes on complex objects with the Auto-Reduce command. Using the Shape Tool, marquee select the nodes of the selected object, right-click on it and select "Auto- Reduce." Offending Command= STACK OVERFLOW Nametype: Limitcheck. The stack limit has been exceeded, often indicating embedded EPS files, too many nodes on a path, or complex fill patterns and bitmap fill patterns in complex shapes. Try the suggestions for EOCLIP. Offending Command= STACK UNDERFLOW Nametype: Limitcheck. The stack does not have enough objects for the requested operation. Try the suggestions given for EOCLIP. Offending Command= INVALID RESTORE Nametype: Limitcheck. This message may appear after cancelling a print job. Try clearing the Print Spooler (turn printer off then on) and repeating the printing process. Offending Command= INVALID FONT Nametype: Limitcheck. This error message may appear if the file requires a font that has become corrupted. Try reinstalling the specific font. "Undefined" errors are very common. Usually they indicate a communication problem. Printing Alert This message box indicates a potential problem regarding linear fountain fills (which is one of eight possible messages) that could have a distracting effect in which distinct steps, rather than a smooth progression of shades, are visible on the output. To help prevent the banding from showing on output, you can let CorelDRAW automatically adjust some settings as needed. This can be done by enabling the Auto Increase Flatness, Auto Increase Fountain Steps and the Optimize Fountain Fills, in the PostScript Preferences screen under File | Print | Options | Options tab. Also, refer to the section: Suggestions to Avoid Error Messages. PostScript Preferences Maximum Points Per Curve This option specifies the maximum allowable number of control points per curve. Reducing this number helps alleviate printing problems caused by objects that are too complex. You can change this value to be lower or higher. When printing files that have complex fills (i.e., fountain fills, vector fills, bitmap fills, texture fills and PostScript textures) within complex shapes (text or a freehand drawn shape) then you should lower the value to 300. This helps simplify the data sent to the printer. (This value can range between 20 and 20,000) Note: Lowering this value will lengthen print times, however the file will be more inclined to print. Auto Increase Flatness If you select Auto Increase Flatness, CorelDRAW will automatically increase the flatness value in increments of two until the drawing prints. Attempts to print an object will stop when the flatness value exceeds the value set in the "Set flatness to" box by 10. At this point, the printer skips the problematic object and prints the next object. If you can print a particular file to a 300-dpi PostScript printer, but your Service Bureau cannot to a higher dpi device, you can try reducing the flatness value. This simulates the calculations needed to produce the graphic on the high end device for troubleshooting purposes. Lowering the flatness value to .20 will simulate the complexity of an image setter printing at 1270-dpi. Since this increases the complexity of the paths, it is a good way to test whether the file will print to a higher resolution output device (although it is not a guarantee.) If your file will not print to a laser PostScript printer, at this flatness setting, then chances are it will not print to an image setter. Auto Increase Fountain Steps This option in the PostScript Preferences dialog box, permits you to enable an analysis of your file and the various print settings you have specified. If necessary, CorelDRAW automatically increases the number of steps used to render fountain fills to avoid banding. Optimize fountain fills This option in the PostScript Preferences screen, permits you to enable an analysis of your file and the various print settings you have specified. If the number of steps in a fountain fill is greater than the number that your output device can render, the number of steps used to render the fountain fill is decreased automatically. Set Flatness To Print | Options | Options tab has a PostScript Preferences dialog box that includes an option for Set flatness to which by default is equal to 1.000. Increasing this value will simplify the print job but it will also affect the overall quality of the image. As a general rule, try increasing the value in increments of four or five until the drawing prints. Note: When bezier curves are used to describe a path on a PostScript printer, the device must first 'flatten' the path in order to render it as a series of straight lines. The 'Flatness' setting affects the degree of accuracy used during the 'flattening' process and hence the number of straight lines that are used to describe the curved path. The higher the value, the less accurate the 'flattened' or 'approximated' path will be. A circle, for example, will start to look more like a stop sign as the Flatness setting is raised. Suggestions to avoid error messages  Make sure the correct printer has been selected and that the printer is functioning properly from other applications.  Reduce the number of nodes on long paths. CorelDRAW allows you to globally change the complexity of a path. Marquee select your object with the Shape tool (node edit tool) and press the secondary mouse button and choose Auto Reduce. This feature will reduce the complexity of your path.  If the object has a fountain fill, reduce the number of fountain steps in the Fountain Fill dialog box.(the maximum number of steps is 256).  Break a complex object into smaller less detailed objects. In order to do so you must select any combined objects and choose Break Apart in the Arrange Menu. Remove any extraneous outlines Click Start | Settings | Printers. Select the PostScript Printer you are currently using and click File | Properties. Select the Details tab, and change the value of '45' to '999' in the Transmission Retry box; Apply and click OK. This sets the time that Windows waits for the printer to report that it is ready to receive more data. A value of 999 is equal to an infinite amount of time. Click Start | Settings | Printers. Select the PostScript Printer you are currently using and click File | Properties. Select the PostScript tab and change the value of '45' to '0' in the Wait Timeout box; Apply and click OK. This specifies how long the printer should wait to receive more PostScript information from the computer. After the specified time passes, the printer will stop trying to print the document and will print an error message. Dealing With Corrupted Objects or Files Open the problem file. Select one object, then use Shift+Tab to scroll through the objects on the page. Sometimes a very small object that you didn't notice will become selected. This object may be corrupted. Try deleting the object or dragging it off the page. Then save the remaining objects using 'Selected Only' on the Save As screen. Another way to locate a corrupted objects is to marquee select half of the objects, then print, save, export as required, using the Selected Objects Only feature. If a problem occurs again, marquee select a smaller number of objects until you locate the corrupted object by process of elimination. Then try to delete the object. For large files, often the error can be reproduced by selecting the offending object and copying it to the clipboard. To isolate the object. Marquee select half of the objects on your page and copy them to the clipboard. If no error occurs, then marquee select another area and try the same. Once the error occurs you will need to select fewer objects from that area and continue with the copying process until you have located the offending object. Once identified, delete and recreate it.