[comp.lang.postscript] MSWINDOWS PS DRIVERS

jpd@gordon.UUCP (Jim Drummey) (06/27/91)

MSWindows drivers for QMS and Tektronix printers keep putting a Cntl-D
character at the first line of the file. The printers get convinced that
the file is not PostScript. Anyone know a way to stop this? Thanks.

==========================================================
Jim Drummey
Access Technology, Inc.
Natick, MA 01760               harvard!necntc!gordon!jpd

==========================================================

pinkas@almond.intel.com (Israel Pinkas) (06/29/91)

In article <230@gordon.UUCP> jpd@gordon.UUCP (Jim Drummey) writes:

> MSWindows drivers for QMS and Tektronix printers keep putting a Cntl-D
> character at the first line of the file. The printers get convinced that
> the file is not PostScript. Anyone know a way to stop this? Thanks.

Yes.  I had this problem.  It is a generic problem with all Win3.0 PS
drivers.  What was worse was that I was redirecting LPT1: through the
network to our Unix machines.

If you look at the output, you will see that there is a ^D at both the
beginning and the end of the file.

When I called MicroSoft Tech support, I couldn't get a good answer.  The
best they could tell me was that the ^Ds were for resetting whatever
printer they used.

What I discovered was:

	1. Don't use print manager.

	2. Send your printouts to LPT1.OS2 instead of LPT1:.  Windows
	   handles the hardware devices and does its own printing.  If you
	   send a file to LPT1.*, Windows will open a file and write output
	   to it.  DOS will intercept the open call and redirect the output
	   to the printer.

I had to play with it a bit, and actually started defining LPT1.TXT, but I
got it to work.

-Israel Pinkas
 Intel Corp
--
--------------------------------------
Disclaimer: The above are my personal opinions, and in no way represent
the opinions of Intel Corporation.  In no way should the above be taken
to be a statement of Intel.

UUCP:	{amdcad,decwrl,hplabs,oliveb,pur-ee,qantel}!intelca!mipos3!st860!pinkas
ARPA:	pinkas%st860.intel.com@relay.cs.net
CSNET:	pinkas@st860.intel.com

rdthomps@vela.acs.oakland.edu (Robert D. Thompson) (06/29/91)

In article <PINKAS.91Jun28150101@almond.intel.com> pinkas@almond.intel.com (Israel Pinkas) writes:
>In article <230@gordon.UUCP> jpd@gordon.UUCP (Jim Drummey) writes:
	[stuff...]

>	1. Don't use print manager.
>
>	2. Send your printouts to LPT1.OS2 instead of LPT1:.  Windows
>	   handles the hardware devices and does its own printing.  If you
>	   send a file to LPT1.*, Windows will open a file and write output
>	   to it.  DOS will intercept the open call and redirect the output
>	   to the printer.
>-Israel Pinkas
> Intel Corp

Israel,

	I could not send you mail, the NeXT mail agent had a problem
	with it.

	My question is,

		How can my application intercept the open call and
		interpret the redirected output?

	I have seen this in many PS interpreters like PreScript.

	You sent the output to LPT1.OS2 and the interpreter immediately
	begins capturing it and interpreting it for output to the
	destination printer.

	I want to know how my application can do this.  I want it to
	know immediately when the output has been sent and then start
	reading it in.  Checking for the existence of the file is 
	obviously very inefficient.

	Thanks...Regards |(8>
---
Robert
rdthomps@vela.acs.oakland.edu