[comp.sys.mac.system] Printing to Disk

lfk@eastman1.mit.edu (Lee F. Kolakowski) (03/10/91)

There used to be the ability to print a document to disk using either
apple-F or apple-K which used to put files called postscript_# in the 
top level folder. 

I have a new Mac Classic using system version 6.07, and this does not
seem to work anymore. It is configured for a laserwriter and has
laserprep.

I really need this ability becuase the only laser printer I have
access to is connected to a unix machine, so in order to print I have
to ship the PostScript file.

ANy DAs or help to do this?


--

Frank Kolakowski

=======================================================================
|lfk@athena.mit.edu or lfk@eastman1.mit.edu or kolakowski@wccf.mit.edu|
| Lee F. Kolakowski                 M.I.T.                            |
| Dept of Chemistry                 Room 18-506                       |
| 77 Massachusetts Ave.             Cambridge, MA 02139               |
| AT&T:  1-617-253-1866             #include <disclaimer.h>           |
=======================================================================
||Desert Storm - Lasers have made this the cleanest *dirty war* ever.||
=======================================================================

jdw4374@cec2.wustl.edu (The Mad Hatter) (03/12/91)

In article <LFK.91Mar10095552@eastman1.mit.edu> lfk@eastman1.mit.edu (Lee F. Kolakowski) writes:
>
>There used to be the ability to print a document to disk using either
>apple-F or apple-K which used to put files called postscript_# in the 
>top level folder. 
>
>I have a new Mac Classic using system version 6.07, and this does not
>seem to work anymore. It is configured for a laserwriter and has
>laserprep.
>
>I really need this ability becuase the only laser printer I have
>access to is connected to a unix machine, so in order to print I have
>to ship the PostScript file.
>
>ANy DAs or help to do this?
>
>
>--
>
>Frank Kolakowski
>
>=======================================================================
>|lfk@athena.mit.edu or lfk@eastman1.mit.edu or kolakowski@wccf.mit.edu|
>| Lee F. Kolakowski                 M.I.T.                            |
>| Dept of Chemistry                 Room 18-506                       |
>| 77 Massachusetts Ave.             Cambridge, MA 02139               |
>| AT&T:  1-617-253-1866             #include <disclaimer.h>           |
>=======================================================================
>||Desert Storm - Lasers have made this the cleanest *dirty war* ever.||
>=======================================================================

I have a INIT called "Laser-Fix" that adds a check box to the LaserWriter
Print Dialog box, "Print PostScript To Disk" (I think).  If you check this
box, and hit "Print," a dialog box comes up and asks you where you want to
save the file and with what name (a standard Save... dialog box).  I am using
Laser-Fix with the LW 5.2 driver that I have, but I am not sure if it will work
with the 6.0.x drivers.  Can anyone prove/disprove this?

Also, someone posted a patch, by using ResEdit, that will uncover a "Print
PostScript to Disk" check box (like the one provided by Laser-Fix) from the
LW driver.  Can anyone re-post this?

If I remember correctly, I picked up Laser-Fix off of sumex.


|     Jeff Wolman           |     I am NOT Mad as a Hatter!           |
|  (314)862-2900/889-5397   |     My swinging from the rafters is not |
|   jdw4374@cec2.wustl.edu  |     actually happening; it just looks   |
|   AOL: JeffW15            |     like it.  You're crazy, not me!     |
|     Jeff Wolman           |     I am NOT Mad as a Hatter!           |
|  (314)862-2900/889-5397   |     My swinging from the rafters is not |
|   jdw4374@cec2.wustl.edu  |     actually happening; it just looks   |
|   AOL: JeffW15            |     like it.  You're crazy, not me!     |

gillies@m.cs.uiuc.edu (Don Gillies) (03/12/91)

This is a repost of "generating-postscript.txt" from
sumex-aim.stanford.edu.  It is essentially "everything you ever wanted
to know about generating and printing postscript on a macintosh".  - Don

-----------------------------------------------------------------

The following information is condensed from earlier messages in
"generating-postscript.txt" and other sources.  Here are some of the
contributers:
	gillies@cs.uiuc.edu			[ editor ]
	Ray_Davison@cc.sfu.ca 
	jhl%naif.span@vlsi.jpl.nasa.gov (Jay Lieske)
	dmg@mitre.mitre.org
	Les_Ferch@mtsg.ubc.ca
	Russ Evans <E_GS18%vaxa.nerc-murchison.ac.uk@nsfnet-relay.ac.uk>
	The Blue Adept <KSBOLDUAN%AMHERST.BITNET@cunyvm.cuny.edu>

-----------------  How to generate a postscript file ---------------

(1) THE ONETIME POSTSCRIPT GENERATOR

This is a fast way for people who generate postscript twice a year,
and are afraid of Apple's ResEdit resource-editing program.

Select "Chooser" from the Apple menu, and then tell it you have
appletalk hooked up (lie).  If you really are using appletalk, then
you will have problems if there is no laserwriter on the network.  In
this case, perhaps you will be forced to disconnect appletalk.

Select the LaserWriter (not the LaserWriter SC driver.)  Turn
Background Printing (PrintMonitor) off if you are using MultiFinder.
YOU CANNOT GENERATE POSTSCRIPT IF IT IS ON!  Select the LaseWriter
This will cause small formatting changes in most word processors,
since the laserwriter has larger characters than the Imagewriter or
other printers.  The changes can easily ruin a well-formatted resume.
Go to your word processor and correct the lines that have now changed.
It is a good idea to leave the laserwriter selected all the time, if
possible, so your documents are created with these changes already in
place.

Get ready to print the document in the normal fashion.  When you see
the LaserWriter dialog, click on OK and immediately type and hold
either the "k" key or the "f" key. You must depress the key immediately
within the first 1-2 seconds AFTER the dialog disappears.  Do not use
command-F or command-K, as there might be problems in depressing the
key too soon after clicking OK on the dialog.  

If you get a message "looking for laserwriter", then you probably hit
the key too late.  In that case, try again; when the print dialog
comes up instead of clicking on the OK button, HOLD THE MOUSE DOWN
without releasing it.  Then at your leisure press the "f" or "k" key
and then FINALLY release the mouse.

You should see a file called Postscript0 appear in the current folder.
The next time you do it, if Postscript0 already exists, Postscript1
will be generated, etc.  When Postscript9 is generated, no further
files will be generated.

The difference between these commands is that "k" prepends the
contents of Laser Prep to your Postscript output; "f" does not.  

(2) THE WEEKEND POSTSCRIPT GENERATOR

This is for people who want to occasionally generate postscript, but
also want to occasionally print directly to an attached serial or
appletalk laserwriter.

We suggest you add "Disk File" box in the laserwriter dialogue.  It
turns out that every laserwriter icon since version 5.2 (v5.2) can
have this option [Yes, Dorothy, you can go back to Kansas].  One way
to accomplish this is to employ the MyPageSetup utility, available as:
	[sumex-aim.stanford.edu]<info-mac>util>mypagesetup13.hqx

Another way to accomplish this is via ResEdit:

    (a) Make a copy of the Laserwriter icon to fiddle with.

    (b) Using the latest version of ResEdit (v1.2 or later), open the copy
	and then open DITL #-8191.  Choose "Select Item Number" from the DITL
	menu, and enter number 22.  Close the Window and then choose "Open As
	Dialogue Item" from the File menu.  This should open a window
	describing a "Disk File" item, which has a bounding box of
	((0,0)(0,0)).  This box is all zeroes, which is why the "Disk File"
	checkbox is invisible.  Change it to something useful
	((49,314)(65,395)) and close the window.  The word "Disk File" should
	now appear in the dialogue box.  Drag it elsewhere to change
	the positioning.  Close ResEdit and save your changes.

Now, every time you print, you may select the checkbox in order to
generate a "Postscript0", "Postscript1", ... etc. file.  Yet ANOTHER
way to accomplish this is by using an INIT that lets you name the
Postscript file differently, every time you print:
	[sumex-aim.stanford.edu]<info-mac>util>laser-fix-10.hqx

(3) THE USER WITH NO LASERWRITER AT ALL

This is for people who never have access to a laserwriter directly
from their macintosh.  For instance, people who only generate
postscript to send to a service bureau, or who always want to upload
the postscript to a remote machine.  

It turns out the "Disk File" box will not stay ticked (so far as we
know), so we suggest you patch the laserwriter driver to ALWAYS
generate a postscript file.  Begin by making a spare copy of your
"Laserwriter" icon (because you can easily damage it permanently).
Then use ResEdit to make the following patches to the copy (note: you
will be editing a string of hex digits; do not change the length of
the string).

	     Resource PDEF number 125
	           location           From       To
Laserwriter  v5.0   v5.2   v6.0
	     B5C    B96    C78       '57C0'    '51C0'
	     B60    B9A    C7C       '56C0'    '50C0'
	     B68    BA2    C84       '57C0'    '50C0'   ('51C0' for Laser Prep)
	     B70    BAA    C8C       '57C1'    '51C1'   ('50C1' for Laser Prep)
	     B7E    BB8    C9A       '57C1'    '50C1'

Close ResEdit and save your changes.  Now, when printing, if you
select "OK" in the dialogue, a Postscript file will always be generated.

(4) THE USER WITH A DEDICATED COMPUTER + PRINTER ON HIS/HER SERIAL PORT.

This is for someone who has a workstation or mainframe listening to
the macintosh serial port.  This workstation or mainframe is connected
to a postscript printer.  The workstation or mainframe is running a
program ready to accept a postscript file and spool it to the printer.

===+==+++==+++==++=+++++++++==++=++++==+=++==+==+++=====+++++++=++=++=++===
Subject: Serial line LaserWriter

Awhile ago someone had a request for information on connecting a LaserWriter
to the serial port through a switch box. I had a similar need. I have a Mac
and a Unix box and wanted to use the printer on the Unix box from the Mac.
I didn't want to spend the money for a Kinetics box for just one Mac so I
went the route of using command-F to create a file, moving the file to Unix
and using macps to print the file. This was rather tedious.
 
I modified the LaserWriter driver as outlined below. The changes I made
were specifically designed to print over a serial connection from the Mac
to the Unix box, but may be useful to print to a serial connected LaserWriter.
 
Changes to the LaserWriter driver (versions 5.2 and 6.0)
 
  1) Duplicate the file and give it a useful name.
  2) Use ResEdit (or something similar) to make the following changes:
     - to simulate the pressing of command-F
 
	     Resource PDEF number 125
       (first always write to a "file")
           location       From       To
         v5.2   v6.0
         B96    C78       '57C0'    '51C0'
         B9A    C7C       '56C0'    '50C0'
         BA2    C84       '57C0'    '50C0'   ('51C0' for no Laser Prep)
         BAA    C8C       '57C1'    '51C1'   ('50C1' for no Laser Prep)
         BB8    C9A       '57C1'    '50C1'
          
       (next don't create a file (still in resource PDEF/125))
            location          From         To
          v5.2    v6.0    V5.2    V6.0
          D96     E9E    '554F'  '558F'   '6038'
     
       (next, don't do _SetEOF to empty said file)
            location          From        To
          v5.2    v6.0
          142C    1860       '660C'      '600C'
     
     - change the string in resource STR number -8159 to something more
       useful than "Creating PostScript File" (e.g. I used "Sending print
       job to NeXT").
 
     - set resource STR number -8191 to the name of the serial port you
       will use. ".BOut" for the printer port or ".AOut" for the modem port.
 
     - set resource PAPA number -8192 to the name of the printer if
        you want to.

  A couple of notes: the default settings for the serial ports are 9600 baud
  no parity. So far this has worked fine but I may try changing the speed.
  When you choose the driver with the Chooser, it will turn on AppleTalk. If
  you are using the printer port then you *must* turn AppleTalk back off
  before using the modified driver.
 

  On the Unix end: I modified macps to "break" instead of "continue" when
  it finds the string "%%EOF" and then the command
       macps < /dev/ttyb | lpr
  can be installed in a deamon that loops forever (modify /dev/ttyb to use
  whatever serial port on your Unix box you connected the Mac to).
 
==+===+=====++++++++++======++++++==+====+==++===++==+++====+===++++=+++==


----------------------- OTHER USEFUL INFORMATION -------------------------

(1) FORCING THE GENERATED FILE TO GO TO ONE DIRECTORY

Postscript files are normally stored in the folder of the application
that is currently running; If you have a telecom script (Red Ryder...)
that uploads your Postscript file, it may not find this file.  We
suggest you make the file go to a pre-specified folder on your hard
disk.  Edit you Laserwriter icon via ResEdit as follows:

	     Resource STR #-8191
		From		To

		"Postscript"	"HD40:Postscript"

This would put the file in the top-level directory of a hard disk
named "HD40".  Or if you just want all your files to go into a folder
named "Spool" on a disk named "HD40":

	     Resource STR #-8191
		From		To

		"Postscript"	"HD40:Spool:Postscript"

etc. etc. etc.

(2) RENAMING THE LASERWRITER ICON FOR IDENTIFICATION PURPOSES

After you have patched the laserwriter icon in several ways, you may
want to rename the icon so that it can be identified in the chooser
and you are starting printing with the printing dialogue box.  This is
especially useful if you intend to switch between different
laserwriter drivers at different times.

		     Resource DITL number -8191

	The printing dialogue box is here.  Click on the word
	"laserwriter", and change it to something meaningful
	such as "MainframeWriter" or "ServiceBureauWriter" or
	whatever.  Then, close ResEdit, go to the finder, and
	change the name of the Laserwriter icon to the same
	phrase (this changes the name in the chooser).

(3) WHAT TO DO WHEN YOU HAVE PROBLEMS PRINTING THE FILE ON A
NON-LASERWRITER

Apple's laserprep file crashes nearly all non-apple printers (Not
cool, apple).  Because of copyright law and lawyers, we can't just
give you a modified laser prep file.  Instead, we offer two ways to
get around this problem.  One, you can use a UNIX program ("prepfix")
that edits a laserprep file to fix the mistake.  Two, you could edit
the file yourself (it takes 5 minutes and a decent editing program).

METHOD 1.  These UNIX programs will (a) edit a Laserprep file for you,
and (b) concatenate an edited Laserprep file with a postscript file;

WARNING: THIS IS NOT THE PREFERRED METHOD, SINCE NEW RELEASES OF THE
LASERWRITER DRIVER TYPICALLY BREAK THESE TOOLS, AND YOU HAVE TO WAIT
FOR THE SHAREWARE AUTHORS TO RELEASE A NEW VERSION OF THEIR TOOL.

These programs are stored in
	[sumex-aim.stanford.edu]<info-mac>unix>macps-22.shar

This is a shar archive containing two programs.  The shar archive is
unpacked using the Bourne shell and provides various documentation and
build files as well as the two c programs -- prepfix and macps.  The
first processes the LaserPrep file produced by holding down <Apple+K>
whilst printing an empty file and transforms it into a prep file which
is acceptable to most Postscript printers.  The second, macps,
processes documents produced using the <Apple+F> key to include the
processed header file.  prepfix/macps allow for the possibility of
different versions of Apple's LaserPrep.  

METHOD 2.  Read the file 
	[sumex-aim.stanford.edu]<info-mac>tips>imagen-postscript.txt

This file tells you how to edit a laserprep file to work with most
printers (this isn't just for imagen printers, actually).  The best
place to do this editing is on the macintosh, since the laserprep is
about 32k long, and this will most likely crash vi (since it is all on
a single line).

Note: Only Apple printers have bitmap smoothing; this is not part of
normal postscript.  If you absolutely need bitmap smoothing, and your
printer has an MC68000-family processor, and you are using the
laserwriter v5.2 icon, consider downloading the following specially
hand-modified laserprep file:
	[sumex-aim.stanford.edu]<info-mac>misc>laserprep-65-postscript.txt.

This file SHOULD NOT be used with non-MC68000 printers; it contains
assembly-language code that could crash such printers.  

(4) YOU HAVE A POSTSCRIPT FILE ON YOUR MACINTOSH AND WANT TO GET IT TO
THE PRINTER --

A Postscript(R) file can be printed using three utilities: SendPS, a
free application from Adobe, archived in
	[sumex-aim.stanford.edu]<info-mac>util>sendps-121.hqx

Or use PS Printer, a free desk accessory; or Hyper PS, a Hypercard
stack for sending Postscript files to a Postscript printer.

(5) YOU WANT THE LASERWRITER 6.0 DRIVER TO GENERATE BLACK/WHITE BY DEFAULT
 
This LaserWriter 6.0.x patch, by Paul Cozza (author of SAM anti-virus
utilities) sets the LaserWriter color driver to produce B/W as the
default rather than color. This speeds up most printing and works
reliability with both 6.0, 6.0.1 & 6.0.2.
 
Using ResEdit open the LaserWriter 6.0 icon.  Make the following changes:
 
	     Resource PDEF number 4
           location       From       To
	    18F3	  0017	    0018

If you have a sector editor such as "Fedit" or "Copy II Mac", search
for the string   "377C 0017 0004 7801" 
and change it to "377C 0018 0004 7801".
(Block 141 Part A via Copy II Mac)
 
This will change the radio button default to B&W.
-- 

Adam.Frix@p18.f20.n226.z1.FIDONET.ORG (Adam Frix) (03/14/91)

jdw4374@cec2.wustl.edu (The Mad Hatter) writes:

TMH> I have a INIT called "Laser-Fix" that adds a check box to the 
TMH> LaserWriter Print Dialog box, "Print PostScript To Disk" (I think). 
TMH> If you check this box, and hit "Print," a dialog box comes up 
TMH> and asks you where you want to save the file and with what name 
TMH> (a standard Save... dialog box). I am using Laser-Fix with the 
TMH> LW 5.2 driver that I have, but I am not sure if it will work 
TMH> with the 6.0.x drivers. Can anyone prove/disprove this? 
TMH> Also, someone posted a patch, by using ResEdit, that will uncover 
TMH> a "Print PostScript to Disk" check box (like the one provided 
TMH> by Laser-Fix) from the LW driver. Can anyone re-post this? 

here it is:

------------------------------
Msg #61445 in *UseNet_Mac* Created on 10/10/89 at 05:05:33
To: All, From: Paul Jacoby
Subject: Re: LaserPrep in the CMD-K/F file with 6.

Well, I don't have the 6.0 LaserWriter driver to try this out, but there was
a
tip posted a while back (I'm not sure it was here) that points out the fact
that someone was thinking of us poor users.  There is actually a "Print to
Disk" check box in the LaserWriter 5.2 driver!  
hange in the window.


1.  With ResEdit, open the "LaserWriter" file.
2.  Find and open DITL #8191.  This is the LaserWriter "Print..." dialog.
3.  Using the "DITL" menu, select item number 22.  You will not notice any
    change in the window.
4.  Without clicking anywhere else, select "Open..." from the File menu.  This
    will put up that standard DITL Item editing window.  You will notice that
   the bounding rectangle of this item is 0,0,0,0.  Change it to 0,0,20,60 or
    something like that.  Close the editing window.  You will notice that
behind the word "LaserWriter" in the upper left there is now a button
labelled "Disk File."
5.  Grab that button (actually it's a checkbox), move it where you wish, and
  adjust the size to suit your fancy.
6.  Close, save, yada yada yada

Now, when you want to "print to disk," you will be able to simply check the
"Disk File" box, click "OK," and kick back...

-----
  This was posted in July, and re-iterated on a local BBS.  It works GREAT on
the 5.2 driver, and apparently the one just previous to 5.2.  As I say, I
don't have 6.0 to try it, but it might be worth a go.
  The big question is, of course, will THAT file include the LaserPrep?
.-----------------------------------------------------------------------------.
I UUCP: {rosevax, crash, orator}!orbit!pnet51!pj I  Working with idiots keeps
I
I ARPA: crash!orbit!pnet51!pj@nosc.mil           I  my life interesting... 
  I
I INET: pj@pnet51.cts.com                        I                         
  I
`-----------------------------------------------------------------------------'

------------------------------

The process is similar, but slightly different, with LaserWriter driver 6.0.2 and ResEdit 2.1.  Difficult, but not impossible.

--Adam--
 
--  
Adam Frix via cmhGate - Net 226 fido<=>uucp gateway Col, OH
UUCP: ...!osu-cis!n8emr!cmhgate!20.18!Adam.Frix
INET: Adam.Frix@p18.f20.n226.z1.FIDONET.ORG