[comp.sys.next] PostScript Printing Errors

wrb@milton.u.washington.edu (William Barker) (06/29/90)

I have recently been plagued with problems printing PostScript files to the
NeXT printer.  The PS code in question is generally created on some other
platform (ie, not NeXT-created).  Symptoms include printing multiple pages of
the same thing, spreading the image across 4 pages, and errors such as
"Couldn't print file because of malformed PostScript"
"Error:limitcheck; Offending Command:printerdevice"

Anybody got any clues on what differences exist between NeXT PS and PS 
from other systems--differences that might cause the above symptoms?

Thanks in advance.

Bill Barker	U of Washington		(206) 543-7315

glenn@heaven.woodside.ca.us (Glenn Reid) (06/29/90)

In article <4554@milton.u.washington.edu> wrb@milton.u.washington.edu (William Barker) writes:
>I have recently been plagued with problems printing PostScript files to the
>NeXT printer.  The PS code in question is generally created on some other
>platform (ie, not NeXT-created).  Symptoms include printing multiple pages of
>the same thing, spreading the image across 4 pages, and errors such as
>"Couldn't print file because of malformed PostScript"
>"Error:limitcheck; Offending Command:printerdevice"
>
>Anybody got any clues on what differences exist between NeXT PS and PS 
>from other systems--differences that might cause the above symptoms?

A common problem is that PostScript prepared for other systems (or other
printers) is not entirely well-behaved.  Some undocumented operators or
called, or features are assumed to be present that may not be.  I have
developed a few routines that I use to "emulate" some printer features
that aren't part of standard PostScript that can be helpful in getting
jobs to print from other systems (unfortunately I can't find it just
now; I'll look for it).

The basic idea is to make up definitions for the things that cause
problems.  For example, I think you can get rid of the "limitcheck" on
"printerdevice" problems by redefining a few page size operators like
this:

    %!
    /letter { } def
    /legal { } def
    /note { } def
    /lettertray { } def
    /legaltray { } def

There are a few other things that are worth defining, like those called
by the Mac print shop; I think one of them went something like this:

    /statusdict where { pop } { %ifelse
	/statusdict 20 dict def
	statusdict begin
	    /setrealdevice { } def
	    % others here
	end
    } ifelse

I wish I could find the file; I'm afraid it's on my optical disk, and
my optical drive is (sigh) non-functional.  So much for backups....

Drop me mail if you have problems, or if you have a specific file that
you can't get to work.

Glenn Reid
glenn@heaven.woodside.ca.us

glenn@heaven.woodside.ca.us (Glenn Reid) (06/29/90)

In article <4554@milton.u.washington.edu> wrb@milton.u.washington.edu (William Barker) writes:
  I have recently been plagued with problems printing PostScript files to the
  NeXT printer.  The PS code in question is generally created on some other
  platform (ie, not NeXT-created).  Symptoms include printing multiple pages of
  the same thing, spreading the image across 4 pages, and errors such as
  "Couldn't print file because of malformed PostScript"
  "Error:limitcheck; Offending Command:printerdevice"

  Anybody got any clues on what differences exist between NeXT PS and PS 
  from other systems--differences that might cause the above symptoms?

Another possibility is that, if you're using "Preview", you might try
sending the file straight to the printer with "lpr" instead.

Glenn

-- 
% Glenn Reid				PostScript consultant
% glenn@heaven.woodside.ca.us		Free Estimates
% ..{adobe,next}!heaven!glenn		Unparalleled Quality

chari@math.utexas.edu (Christopher M. Whatley) (06/30/90)

glenn@heaven.woodside.ca.us (Glenn Reid) writes:
>In article <4554@milton.u.washington.edu> wrb@milton.u.washington.edu (William Barker) writes:
>>[he thinks this is related to printing on-NeXT created PS]	

>>"Couldn't print file because of malformed PostScript"
>>"Error:limitcheck; Offending Command:printerdevice"

>[some helpful stuff from Glenn deleted]

I don't think that this is related to printing "foreign" PS. We have
run into this problem all too frequently on our network. The only
solution is to kill the windowserver (by logging in at the LoginWindow
as console, logging in as whoever and exiting).

The problem, according to the Programmer's Manuals occurs when you the
WindowServer has another graphics state whose current device is the
printer. So, some program that you have printed with didn't clean up
correctly.

Chris

--
"I've got good news. The gum you like is going to come back in style."
--
Chris Whatley - Research Systems Administrator UT-Austin Mathematics
E-mail: chari@math.utexas.edu (NeXT) Ph: (O):512/471-7711 (H):512/499-0475