sigurd@vax1.acs.udel.edu (ANDERSEN) (09/23/87)
I'm trying to set up the Macintosh version of Aldus PageMaker so that
when it prints, it either
(1) uses Apple's LaserPrep instead of Aldus' AldusPrep, or
(2) removes AldusPrep from the LaserWriter's memory after printing
a document.
I can do either of these from PageMaker menus, but I'd like to set up
things so that I don't have to rely on users knowing how and remembering
to do one of the above.
The reasons for this are
(1) I don't want AldusPrep sitting in the LaserWriter's memory taking
up space that others sharing the printer might otherwise use, and
(2) I want to avoid potential conflicts between the LaserPrep and
AldusPrep both being in the LaserWriter's memory simultaneously.
I called Aldus. They say there is no way to change the program defaults.
They suggested modifying the LaserWriterPlus.apd file so that it removes
AldusPrep from memory after each printing job. To find the necessary
code, they suggested printing a simple postscript file to disk, once
with the "Make Aldus Prep permanent" option on, and once with it off.
I did this. The file with the "... permanent" option ON has four lines
more than the file with the option OFF. These lines include three near
the beginning of the (16-page small-font printed) file:
%%BeginExitServer:0
0 serverdict begin exitserver
%%EndExitServer
and one line (marked below with >>>) about 40 lines from the end of the
file in the following context:
%%EndProcSet
>>> %%EOF
%%EndProlog
AldusDict begin
%%BeginSetup
My questions are:
(1) Are my concerns valid? If so,
(2) Has Aldus pointed me in the right direction? If so,
(3) Where should I insert the above lines in the .apd file?
One other suggestion they made was to look into a desk accessory from
CE Software in DesMoines (515) 224-1995 which can be used to reset a
LaserWriter between print jobs without turning the power off and on.
Does anyone have experience with this program?
Sigurd Andersen
Academic Computing Services
155 Newark Hall
University of Delaware
Newark, DE. 19716
(302) 451-6338
sigurd%vax1.acs.udel.edu@louie.udel.edu (something shorter
may work as well)
----------------------------------------
Submissions to: desktop%plaid@sun.com -OR- sun!plaid!desktop
Administrivia to: desktop-request%plaid@sun.com -OR- sun!plaid!desktop-request
Paths: {ihnp4,decwrl,hplabs,seismo,ucbvax}!sun
Chuq Von Rospach chuq@sun.COM Delphi: CHUQ
So may the outward shows be least themselves: the world is still
deceived by ornament.
news@sun.uucp (news) (09/24/87)
The lines that you have identified (with "exitserver") are exactly what you do NOT want to include in the apd file. That is the PostScript sequence that cause all changes to become "permanent" until the printer is restarted. I don't believe that it is possible to accomplish what you wish by merely modifying the PostScript code. You could redefine "exitserver" so that it did nothing, but there would still be an end-of-file in the print stream (indicated by the %%EOF when it is written to disk) that you cannot easily remove or redefine. The result would be that your prologue (AldusPrep) would be treated as a separate print job (although it wouldn't print anything) and the rest of the file would cause an immediate error (since the definitions in AldusPrep would no longer be there). Your only hope is to change the defaults in PageMaker. You might try the ResEdit program, and see if there are any resource constants that can be modified. Other than that, I would say you will have to just educate your users to always use that mechanism. I guess one way to "educate" them would be to change the exitserver password on the printer. This will prevent ANYTHING from being downloaded permanently unless it is downloaded with the correct password. This can be done as follows (but don't forget the new password, or you're stuck!): %! serverdict begin 0 exitserver % 0 is the password statusdict begin 123456 setpassword % 123456 is the new password end If you need to reverse this, change the positions of the "0" and the "123456" in this example. You need the current password to change it. I hope this helps. Glenn Reid Adobe Systems PostScript Software Support ---------------------------------------- Submissions to: desktop%plaid@sun.com -OR- sun!plaid!desktop Administrivia to: desktop-request%plaid@sun.com -OR- sun!plaid!desktop-request Paths: {ihnp4,decwrl,hplabs,seismo,ucbvax}!sun
news@sun.uucp (news) (09/29/87)
sigurd@vax1.acs.udel.edu (ANDERSEN): > I'm trying to set up the Macintosh version of Aldus PageMaker so that > when it prints, it either > (1) uses Apple's LaserPrep instead of Aldus' AldusPrep, or > (2) removes AldusPrep from the LaserWriter's memory after printing > a document. I think that you can comment out the following line 0 serverdict begin exitserver by putting a '%' in front of it and the aldus.prep will get flushed at the end of the job. The other lines are insignificant to the processing, but are there to make the .prep a conforming PostScript program. I think... ---------------------------------------- Submissions to: desktop%plaid@sun.com -OR- sun!plaid!desktop Administrivia to: desktop-request%plaid@sun.com -OR- sun!plaid!desktop-request Paths: {ihnp4,decwrl,hplabs,seismo,ucbvax}!sun Chuq Von Rospach chuq@sun.COM Delphi: CHUQ Bye bye life! Bye bye happiness! Hello, loneliness, I think I'm gonna die.
news@sun.uucp (news) (09/29/87)
You can reclaim "semi-permanent" virtual memory in PostScript as follows: serverdict begin 0 exitserver $$SAVE save def download any dictionaries, fonts, etc., here CTRL-D The information you downloaded will reside in memory until you restart the interpreter (power-cycle the printer or systemdict begin quit) or until you do this: serverdict begin 0 exitserver $$SAVE restore CTRL-D Which restores the VM to the state that it had before the previous save. Note that you can't do this inside the server loop, as the server looses control when the job finishes and the interpreter will restart itself. Pat Wood Editor, The PostScript Language Journal ---------------------------------------- Submissions to: desktop%plaid@sun.com -OR- sun!plaid!desktop Administrivia to: desktop-request%plaid@sun.com -OR- sun!plaid!desktop-request Paths: {ihnp4,decwrl,hplabs,seismo,ucbvax}!sun Chuq Von Rospach chuq@sun.COM Delphi: CHUQ Bye bye life! Bye bye happiness! Hello, loneliness, I think I'm gonna die.
cck@cunixc.columbia.edu (Charlie C. Kim) (09/29/87)
As per Glen Reid's message, you can try replacing the ExitToServer code in the apd file with: 2 {(%stdin) (r) file cvx exec } repeat which will treat the next two "files" as a single job (files in a stdin stream would be delimited by EOFs). I know the technique works, but I'm not sure putting this in place of @ExitServer in the APD file will work. Charlie C. Kim User Services Columbia University ---------------------------------------- Submissions to: desktop%plaid@sun.com -OR- sun!plaid!desktop Administrivia to: desktop-request%plaid@sun.com -OR- sun!plaid!desktop-request Paths: {ihnp4,decwrl,hplabs,seismo,ucbvax}!sun Chuq Von Rospach chuq@sun.COM Delphi: CHUQ Bye bye life! Bye bye happiness! Hello, loneliness, I think I'm gonna die.