[comp.sys.mac] Postscript and the IINT laserwriter

jacobson@uxe.cso.uiuc.edu (12/07/89)

As part of my experimentation of using a laserwriterII on the on ethernet
connected to PC's and Mac's I am now testing NCSA Telenet and FTP to send
Mac files dumped in postscript (files created using the k or f key while
printing from particular documents). I am able to create postscript files
that work fine when I dump them to my local laserwriter IINT with the
application SendPs. However when we FTP these files to a MS-DOS system that
is hooked to another laserwriter IINT we get problems. The postscript file
is sent just fine. The second IINT is hooked via the serial port to a net
work of MS-DOS machines. We take these postcript files and "print" them to
the laserwriter IINT, it takes them, the light flashes for awhile then it
stops after a reasonable period, but we get no printout. My question has to
do with what happens to the laserwriter IINT when it is set for the serial
port rather than Appletalk and how it interacts with the postscript files
that we have created on the Mac. Is there a difference in the modes of the
printer when it is set for the serial port that requires some subtle changes
in the postscript files that were transfered from the Mac?? Below I have
included the test postscript file we dumped to the printer from the MS-DOS
serial connection. I have deleted the middle portion with most of the hex
code for the graphics and left all the beggining and trailing postscript
that was created by pressing the "f" or "k" key on my Mac:

%!PS-Adobe-2.0
%%Title: Untitled - 1
%%Creator: SuperPaint 2.0
%%CreationDate: Wednesday, December 6, 1989
%%Pages: (atend)
%%BoundingBox: ? ? ? ?
%%PageBoundingBox: 18 8 594 784
%%For: RJacobson
%%IncludeProcSet: "(AppleDict md)" 68 0
%%EndComments
%%EndProlog
%%BeginDocumentSetup
md begin

F T -8 -18 784 594 100 72 72 1 F F F T T F F psu
(RJacobson; document: Untitled - 1)jn
0 mf
od
%%EndDocumentSetup
%%Page: ? 1
op
0 0 xl
1 1 pen
0 0 gm
(nc 0 0 776 576 6 rc)kp
1 -99 gm
0 -100 lin
% P2 Header - Version 2.0-14 - Copyright 1988 Silicon Beach Software, Inc.
userdict/md known{currentdict md eq}{false}ifelse{bu}if currentdict/P2_d known
not{/P2_b{P2_d
begin}bind def/P2_d 26 dict def userdict/md known{currentdict md
eq}{false}ifelse P2_b dup dup
/mk exch def{md/pat known md/sg known md/gr known and and}{false}ifelse/pk exch
def{md
/setTxMode known}{false}ifelse/sk exch def/b{bind def}bind def/sa{matrix
currentmatrix P2_tp
concat aload pop}b/sb{matrix currentmatrix exch concat P2_tp matrix invertmatrix
concat aload
pop}b/se{matrix astore setmatrix}b/bb{gsave P2_tp concat newpath
moveto}b/bc{curveto}b/bl
{lineto}b/bx{closepath}b/bp{gsave eofill grestore}b/bf{scale 1 setlinewidth
stroke}b/be
{grestore}b/p{/gf false def}b/g{/gf true def}b g pk{/_pat/pat load def/_gr/gr
load def}{/_gr
{64.0 div setgray}b}ifelse sk{/_sTM/setTxMode load def}if/gx{/tg exch def}b 0 gx
end P2_b pk
end{/pat{P2_b gf{end pop sg}{/_pat load end exec}ifelse}bind def}{/pat{P2_b pop
_gr end}bind
def}ifelse P2_b sk end{/setTxMode{P2_b/_sTM load end exec P2_b tg/_gr load end
exec}bind def}
{/setTxMode{pop P2_b tg/_gr load end exec}bind def}ifelse}if
0 0 pen
1 1 gm
0 0 lin
0 0 1 index neg 1 index neg matrix translate 3 1 roll
currentpoint 2 copy matrix translate 6 1 roll
775 575 gm
776 576 lin
576 776 currentpoint 1 index 6 index sub 4 index 9 index sub div
1 index 6 index sub 4 index 9 index sub div
matrix scale 11 1 roll
[ 9 1 roll cleartomark
3 2 roll matrix concatmatrix
exch matrix concatmatrix
/P2_tp exch def P2_b mk end{bn}if
1 1 pen
1 -99 gm
0 -100 lin
T 364 100 49 46 46 364 100 F 1 db
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000FFFF0000000000000000000000000000000000000000000000000000000000000000000000000000
000000000003FFFF0000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000FFFFF0000000000000000000000000000000000000000000000000000000000000000000000000000

.....about 2 more pages of hex code for the graphics of this superpaint document
were in
     this space.......

0000000FFFFFFFC00000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
F T cp
%%Trailer
cd
end
%%Pages: 1 0
%%EOF

Well there is the postcript file that I had created on my Mac. Can any of you
postscript experts out there tell me why it won't print anything on a
laserwriter IINT hooked to MS-DOS machines via the serial port, but will print
fine for a IINT hooked via Appletalk directly to a Mac?? Any input would be
most greatfully appreciated!!!
 
Thanks in advance for your help!
Russ Jacobson
Illinois Geological Survey
Champaign, IL
61820
217-244-2425

wilkins@jarthur.Claremont.EDU (Mark Wilkins) (12/07/89)

In article <110300028@uxe.cso.uiuc.edu> jacobson@uxe.cso.uiuc.edu writes:

>work of MS-DOS machines. We take these postcript files and "print" them to
>the laserwriter IINT, it takes them, the light flashes for awhile then it
>stops after a reasonable period, but we get no printout. My question has to

[ much of postscript header deleted ]

>%%Pages: (atend)
>%%BoundingBox: ? ? ? ?
>%%PageBoundingBox: 18 8 594 784
>%%For: RJacobson
>%%IncludeProcSet: "(AppleDict md)" 68 0
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  This line tells the printer to include a set of PostScript definitions
which support the nonstandard abilities of Apple's LaserWriter driver.
Usually, when these files are printed from an Apple, the definitions are
downloaded once to the printer and stay resident after that.
   From an MS-DOS machine, this does not happen.

   However, if you hit cmd-K the postscript file you get will have the Apple
header.  For some reason I am not too clear on it must be edited somewhat,
but then it can be attached to the file and printed from any machine without
leaving the definitions resident.

   If you are inclined toward programming, you can probably figure out the
details of how to get around this from a public domain package called
"macps" the source of which you can get from sumex.stanford.edu by anonymous
ftp.  Look in /info-mac/unix.


  -- Mark Wilkins

louis@aerospace.aero.org (Louis M. McDonald) (12/08/89)

In article <3457@jarthur.Claremont.EDU>, wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
> In article <110300028@uxe.cso.uiuc.edu> jacobson@uxe.cso.uiuc.edu writes:
> 
> >work of MS-DOS machines. We take these postcript files and "print" them to
> >the laserwriter IINT, it takes them, the light flashes for awhile then it
> >stops after a reasonable period, but we get no printout. My question has to
> 
>   This line tells the printer to include a set of PostScript definitions
> which support the nonstandard abilities of Apple's LaserWriter driver.
> 
>    However, if you hit cmd-K the postscript file you get will have the Apple
> header.  For some reason I am not too clear on it must be edited somewhat,
> but then it can be attached to the file and printed from any machine without
> leaving the definitions resident.

I recently grabbed a program from America OnLine that is called AddLaserPrep,
(or something like that - I do not have it in front of me). Anyway, it
is suppose to read in a Command-F Postscript generated file and put into
it the correct LaserPrep dictionary with the correct edits. Since I do
not have a non-Apple Postscript printer, I cannot tell you how well it
works. I will be submitting it to comp.binaries.mac shortly since I 
did not see it on sumex.stanford.edu.


Louis McDonald


-- 
Louis McDonald
The Aerospace Corporation
louis@aerospace.aero.org

wiseman@tellab5.TELLABS.COM (Jeff Wiseman) (12/08/89)

In article <3457@jarthur.Claremont.EDU>, wilkins@jarthur.Claremont.EDU (Mark Wilkins) writes:
> In article <110300028@uxe.cso.uiuc.edu> jacobson@uxe.cso.uiuc.edu writes:
> 
> >work of MS-DOS machines. We take these postcript files and "print" them to
> >the laserwriter IINT, it takes them, the light flashes for awhile then it
> >stops after a reasonable period, but we get no printout. My question has to
> 
 [other stuff deleted]

>    However, if you hit cmd-K the postscript file you get will have the Apple
> header.  For some reason I am not too clear on it must be edited somewhat,
> but then it can be attached to the file and printed from any machine without
> leaving the definitions resident.
> 
>    If you are inclined toward programming, you can probably figure out the
> details of how to get around this from a public domain package called
> "macps" the source of which you can get from sumex.stanford.edu by anonymous
> ftp.  Look in /info-mac/unix.

For a dos machine this could give some clues but from what I've seen macps is
pretty sophisticated (a good piece of software in my mind anyway).

A much simpler hack that can provide simple document capabilities is to add the
two lines:

%!
serverdict begin 0 exitserver

to the beginning of a ps file generated with COMMAND-K. I'm not sure exactly
what it does (how's that for honesty?) but I used it for quit a while before I
discovered the wonderful macps. Note that I never tried it with graphics or
non-resident laserwriter fonts but it seemed to support basic operation ok. By
the way, I can't remember if the dos editor can handle it or not but in order
to add these two lines to the beginning of the file might be tricky as a
COMMND-K generated file can have lins that are extremely long (had to use the
cat command in unix to handle this).

good luck

-- 
Jeff Wiseman:	....uunet!tellab5!wiseman OR wiseman@TELLABS.COM