T.R | Title | User | Personal Name | Date | Lines |
---|
520.1 | PostScript printing solution #1 | MRKTNG::RAVENELLE | | Fri Apr 17 1992 21:29 | 35 |
| I've got a couple of solutions. The first requires the user perform a
certain degree of functions and handling. The second is a application I
wrote makes things real easy for the users. I'll post the second
solution in the following reply.
Mark
The first solution (an extract of bulletin sent to the users)
.Create a new document that will get the msg with the PostScript
commands in it and make sure the first line is %!PS-ADOBE. Edit
the document if necessary.
NOTE: PostScript documents can be very long. If the
document exceeds 32,000 lines and you are
using WPSPLUS, a FT will fail with an
" Error-opening AS! ", a GOLD GET operation
will fail with "Too many lines ..."
To remedy, type US SWC and change your default
editor to EDT, then repeat the create
operation successfully.
Later, change your default editor back to
WPSPLUS.
.With the new document selected, type FC U <return> At the
"Handling:" field, enter PS
.Print to a PostScript queue with Print Style of PS .
|
520.2 | PostScript solution #2 | MRKTNG::RAVENELLE | | Fri Apr 17 1992 22:04 | 311 |
| The second solution is something I just recently wrote. I'm not expert at
coding by any stretch of the imagination, so please excuse my techniques.
Regardless, I think you'll find a very good end-user solution in this reply.
Users are not required to remove forwarding messages, file messages, update
handling, change the print style, print to a PostScript queue, etc. It checks
disk quota and deletes all temporary files used for the operation.
What's going on behind the menu:
The current document is copied to VMS. Disk quota is checked
to insure there is sufficient room to continue.
The VMS file is filtered using the DCL Search command and the
clean output is sent to a temporary file.
The initial VMS file is deleted.
The clean temporary file is printed to a PostScript queue and
that file is deleted after being printed via the print/delete
qualifier.
Assumptions: 1.) The message contains literal PostScript commands. 2.) The
last document contains the PostScript commands ie., there are no TO: or CC:'s
appended to the bottom of the message.
I've included user directions, named data, a screen image, an excerpt from the
beginning of the DO script and the DCL command file. (I modified DXSV.scp
ever so slightly and gave it a new name)
Enjoy -
Mark
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
User Directions:
Select the message that contains the PostScript code so that
it appears in the current document block.
At the EM or WP menus, type POST
Enter in any queue associated with a PostScript printer. This
utility overrides the default settings of $ANSI or $MAIL
queues. Most of the time, pressing return will be sufficient.
Enter the number of PostScript pages to print on one sheet of
paper. This number can be from 1 to 100.
Press RETURN to process the document.
------------------------------------- TOP --------------------------------------
Form: TTB$POSTSCRIPT_PRINT
Library: USERE:[A2.SITE.LIB_ENGLISH]SITEOAFORM.FLB;
--------------------------------------------------------------------------------
;;.TYPE;;
ARG /BEGIN=DOCDES/OVERLAY/PRE='GET #QMENU="-2"\GET #CHOICE="1"
\GET #LAST_PTRTYP=""\GET #PTRTYP_CHANGED=1\GET #PRINT_FLAG_WF=""'
/HARD=OA$_WPPARG_HRD_PR_DEST
/POST="XOP '~~POST_FORM~~'"
;;DOCDES;;
/GET_SAVE=$LAST_PTR_DEST
/VALID=SMPRINTERS/SHOW=SP_DESC
/HARD=TTB$POSTSCRIPT_DESTINATION
;;NUMBER_UP;;
/GET_SAVE=1
/HARD=TTB$POSTSCRIPT_NUMBER_UP
/VALID=<.IF NUMBER_UP GE 1 AND NUMBER_UP LE 100 THEN OA$VAL_SET_VALID
/OPTIONAL
;;~~POST_FORM~~;;
IFEXIT
\GET #PRINT_PRINTER = DOCDES
\GET $LAST_PTR_DEST = #PRINT_PRINTER
\GET #QUEUE = SMPRINTERS.SP_QUEUE[DOCDES]
\GET #VMSFILE = "OAUSER:A1_TEMPORARY_PS_FILE.TXT"
\GET #SCRIPT = "OA$SITE_SCP_ENGLISH:TTB$POSTSCRIPT_DXSV"
\GET #METERNAME=OA$_WP_DOCTRAN
\DO METER
\GET OA$DCL="@OA$SITE_LIB_ENGLISH:TTB$POSTSCRIPT_PRINT.COM"
------------------------------------ BOTTOM ------------------------------------
Mark Ravenelle Mon 13-Apr-1992
Electronic Messaging
( 2 new mail messages )
SEL Select message Drawer: MAIN
Folder: READ
C Create Title: HELP-GMA & SMU Request
E Edit Author: PHYLLIS BOISVERT @TTB
D Delete Date: Modified on: 13-Apr-1992 01:26pm
P Print Number: 001644 Status: READ
R Read
Print PostScript document text
Document destination: 2B3$MAIL
PostScript pages on one sheet : 1
Enter information and press RETURN,
or GOLD HELP for additional information.
! TTB$PostScript_DXSV - send a PostScript document to VMS
!
!!! (formerly DXSV - send a document to VMS)
!
! The VMS file name comes from an Input Symbol: #VMSFILE
! Lines commented out from the original DXSV with a "!!!"
!
!!! This script performs the SV and SVC operations in the Document eXchange
!!! sub-application.
!!!
!!! .IF #SVC THEN .GOTO DX_SVC
!****************************************************************************
! Send a document to VMS with conversion
!****************************************************************************
! Obtain the destination file specification.
!!! FORM FCPUTVMS
!!! .IF OA$FORM_DISPOSE NE 2 THEN .EXIT
! Determine the data type of the destination file. To do this, first find
! which format in the format master is associated with the filetype. If no
! format exists for the filetype, default the data type to ASCII EDT. If a
! format is found but doesn't have an associated data type, also default the
! data type to ASCII EDT.
GET #DX_TYPE = FILE$.TYPE[#VMSFILE]
GET #CHECK_DEST = "ASCII EDT"
FOR FIRST FORMAT WITH .DEFAULT_FILE == #DX_TYPE DO -
GET #CHECK_DEST = .DSAB
.IF "ASCII" ENS #CHECK_DEST THEN GET #CHECK_DEST = "ASCII EDT"
! If the destination data type is ASCII EDT, set the FORCE flag so that
! CHECK_CONVERT will choose the correct method. The force flag indicates to
! CHECK_CONVERT that it should choose a method that will always treat the
! file as ASCII (some converters can apply their own meanings to the file
! type.)
.
. (no other changes made)
.
//////////////////////// ps.com ///////////////////////////////////////////////
$ !
$ ! Comment section at the bottom
$ !
$ wo = "write oamailbox"
$ dc = "@dclmailbox"
$ saved_mess = f$environment("message")
$ set message/noseverity/noident/nofacility/notext
$
$
$ wo "OA GET #VMSFILE"
$ dc
$ a1_temporary_ps_file := 'result
$
$ wo "OA GET #QUEUE"
$ dc
$ a1_queue := 'result
$
$ wo "OA GET NUMBER_UP"
$ dc
$ a1_number_up := 'result
$
$ wo "OA GET #SIDES" ! not implemented
$ dc
$ a1_sides := 'result
$
$ wo "OA GET OA$CURDOC_DOCNUM"
$ dc
$ a1_docnum := 'result
$
$ wo "OA GET OA$USER"
$ dc
$ a1_user := 'result
$
$
$ V = F$Verify(0)
$ if F$Trnlnm("DEBUG$","LNM$PROCESS") .nes. "" then Set Verify
$
$ wo "OA Display "" ""\Force"
$ wo "OA Display Converting the VMS file to a printable PostScript file . . . \Force"
$ dc
$
$ set noon
$ file_size = F$File_attributes("''a1_temporary_ps_file'","EOF") + 100
$ !
$ ! If a second file can be created, no storage problems, otherwise let the
$ ! user know they have problems
$ !
$
$ copy/allocation='file_size 'a1_temporary_ps_file 'a1_temporary_ps_file'_tmp
$ If ($Severity .eq. 0) .or. -
($Severity .eq. 2) .or. -
($Severity .eq. 4) -
then goto No_room
$
$ delete/noconfirm 'a1_temporary_ps_file'_tmp;
$
$ search -
/output='a1_temporary_ps_file'_v2 - ! Create a printable output file
/window=(0,50000) - ! Make the window big enough
'a1_temporary_ps_file' - ! Source file
"%!PS-Adobe" ! Starts every PostScript page
$
$ If $Severity .eq. 2 then goto File_create_error
$ If $Severity .eq. 3 then goto Contents_questionable
$
$ delete/noconfirm 'a1_temporary_ps_file';
$ !
$ ! Keep broadcasts to a minimum to eliminate screen scrolling, forcing
$ ! the user to ctrl w and delete the temp file when done.
$ !
$ Print -
/note=" * * * This output belongs to ALL-IN-1 user ''a1_user' and is document #''a1_docnum' * * *" -
/param=(data=PostScript,number_up='A1_number_up) -
'a1_temporary_ps_file'_v2 -
/queue='A1_queue' -
/delete -
/nonotify -
/noidentfy
$
$ If $Severity .eq. 1 then goto Successful_operation
$ goto Cant_queue
$ !
$ No_Room:
$ !
$ Operation$Status = -
"Failure...You have exceeded your VMS disk quota or your disk has no space"
$ Goto Operation_exit
$ !
$ Contents_questionable:
$ !
$ Operation$Status = -
"Failure...No occurences of %!PS-Adobe were found in the document to be printed"
$ Goto Operation_exit
$ !
$ File_create_error:
$ !
$ Operation$Status = -
"Failure...Could not create the printable PostScript file -- call a priest"
$ Goto Operation_exit
$ !
$ Cant_queue:
$ !
$ Operation$Status = -
"Failure...Could not queue the file successfully -- see system manager"
$ Goto Operation_exit
$ !
$ Successful_operation:
$ !
$ Operation$Status = -
"Successful operation...PostScript file queued to ''a1_queue'"
$ Goto Operation_exit
$ !
$ Operation_exit:
$ Set noon
$ ! Clear the line 24 so the user doesn't get a garbled status error messages
$ wo "OA Display "" """
$ wo "OA Display ''Operation$Status'"
$ dc
$ ! set noverify
$ !
$ ! COMMENT SECTION
$ !
$ ! WRITTEN BY MARK RAVENELLE APR-1992
$ !
$ ! EDIT HISTORY:
$ !MR 10-APR-1992 Added the /Noidentify to the print command to stop
$ ! the screen from scrolling
$ !
$ ! Symbols required from the calling procedure
$ !
$ ! SYMBOLS DESCRIPTION
$ ! -------- ----------------------------------
$ ! VMSfile = the file as specified from the ALL-IN-1 form
$ ! queue = the queue to print to
$ ! number_up = number of sheet per page as needed by the user
$ ! a1_sides = for duplex printing
$ !
$ !
$ !
$ ! The Queue can be any generic or physical queue associated with a
$ ! physical PostScript device.
$ !
$ ! If Sides are selected for LPS40's and LN03R's, they will fail.
$ ! The indication will be on the on the "END OF JOB" sheet.
$ !
|
520.3 | Try CD (Convert Document) | IOSG::NEWLAND | Richard Newland, IOSG, REO1-D/4A | Sat Apr 18 1992 13:33 | 50 |
| Re: .0
When ALL-IN-1 V3.0 prints a PostScript message it does the following:
1. Formats the message header into a .PS file
2. Appends the PostScript body file to the .PS file created at step 1
3. Submits the combined .PS file to the print queue - as a print
job with one file
We have found that sometimes PostScript files cannot be combined into the
same Print job, because things done by one PostScript file cause problems
in following PostScript files.
When investigating this type of problem with ALL-IN-1 PostScript messages
we also tried having separate header and body files (that is, creating a
print job with two files) but we got exactly the same errors. This is
because DEC printers such as the LPS20 and LPS40 perform a full reset at
the end of a job, and not at the end of each file.
I'm not a PostScript expert but I understand that when these types of
problems occur the fault lies with the PostScript file, or the application
which created the file.
I've received conflicting messages from the DEC Printer group. I've been
told that PostScript files should be printed in single file jobs in order
to avoid the problems of combining 'bad' PostScript files. I've also been
told that ALL-IN-1 should create multiple file print jobs because it's more
efficient, and in particular reduces the problem of long printer reset
times on LPS20 and LPS40 printers.
The 'workaround' as you have discovered is turn the PostScript message into
a PostScript Document, so that ALL-IN-1 does not generate a message header.
Another way of doing this is to:
Select the message and issue the CD (Convert Document) option
Specify 'PS' as the output data type
Specify the output document
The output document will be a 'document' and not a 'message' so when it is
printed ALL-IN-1 will not generate a header.
Richard
|
520.4 | Our CD isn't as robust as yours | MRKTNG::RAVENELLE | | Mon Apr 20 1992 18:26 | 30 |
| Re: .3
Richard,
I'm anxious to try this method.
When I issue the CD (Convert Document) option, the 'PS' output data type
isn't available. I've have only the following data types.
ASCII EDT
ASCII EVE
ASCII EVE_EDT
ASCII EVE_WPS
ASCII FORMAT
ASCII TABULAR
ASCII WPS
DDIF
DECTYPE
DICTIONARY
DTIF
DX
DX8
STANDARD ASCII
WPSPLUS
WPSPLUS NO FMT
-- any ideas?
Mark
|
520.5 | Data type and Handling of your message | IOSG::NEWLAND | Richard Newland, IOSG, REO1-D/4A | Mon Apr 20 1992 19:50 | 18 |
| Re: .4
What is the Data type and Handling of the message you tried to convert? I
suspect that it is a Revisable type because you only got other revisable
types to convert it to.
The method described in .3 is for a message that has a Data type of 'PS',
and a Handling of 'PS' or null. That is, ALL-IN-1 recognized that the
message body contained only PostScript when it was received.
You may find that if you update the Handling of your message to 'PS' the
method I described will work. However, this method will not work if the
message body contains anything else other than PostScript, which is the
situation your procedure in .2 is dealing with.
Richard
|
520.6 | A new weapon in the PostScript arsenal | MRKTNG::RAVENELLE | | Tue Apr 21 1992 17:45 | 23 |
| Re: .5
Very good, it does work. The Data type was WPSPLUS and the Handling was null.
After changing the handling to 'PS', I went to convert the document and was
presented with 3 choices, 'EPS', 'LPS20' or 'PS' data types.
Just an observation...we can all concur that it seems to require a certain
amount of knowledge to manipulate and print a PostScript document successfully.
The users here @TTB are well versed in ALL-IN-1, but processing a PostScript
doc tends to take a couple of hours of aggregate time after a manager struggles
then sends it to the secretary to struggle, and they call tech support. I've
heard the field goes bonkers with them.
No doubt that more education on how to carefully disect a message containing
PostScript code, change the handling and data type, and this would bring about
more frequent and quicker success. However computers are suppose to take the
drudgery out of the office and handling these docs is just that (drudgery for
some...I was finding it stimulating to get them to print....for awhile).
...getting off my PostScript soapbox now.
Mark
|
520.7 | Unable to Print POSTSCRIPT to ALL-IN-1 (ANY way)! | MYGUY::LANDINGHAM | Mrs. Kip | Tue Jan 19 1993 22:42 | 50 |
| MOVED FROM 2126 to pre-existing string (sorry!)
----------------------------------------------------------------------------
Reader Warning: Entered by a Non-Technical, Basic User! 8-0
I have logged a call with our support people. Recently, our group is
noticing some strange behaviour with POSTSCRIPT files that are being
sent to ALL-IN-1. Though I am entering my most recent personal
experience, I have confirmed that it's happened to others in the group.
The Support people advised me that we are running ALL-IN-1 3.0 (and
obviously VMS V5.5-1). Lately, we have been unable to print
POSTSCRIPT files that are sent to our ALL-IN-1 accounts.
I was told by user support that you can now print directly from
ALL-IN-1. I copied the document to a WPS folder, stripped out the
header, and tried printing it by changing the print queue destination
to the QUEUENAME_POST and then the print type to LN03R. That didn't
work and the job "flushed."
Then I did a document transfer down to VMS (which I always did and
which has always worked-- 'til recently). I stripped the document
of header info down to the " %!PS-Adope-2.1 " and sent to the
postscript queue. I got reams of CODE!
Systems people asked if I had the proper file extension (!!!). Systems
people asked when I used to print. I was typing
$PRINT/QUEUE=QUEUENAME_POST - because that's what always had worked.
They said type $PRINT/QUEUE=QUEUENAME_POST /PARAM=DATA_TYPE=POST. Same
thing-- reams of code.
Is ALL-IN-1 embedding something in the document that doesn't get
stripped out in the document transfer? Please help! This is the
second time that I've been unable to print an important document in
less than two weeks.
As a final and last resort, after reading through this string and
realizing that I should change the PRINT STYLE to PS, I tried that. On
my printer, it didn't work. On the "neighborhood" cluster printers, it
took the command and then I got a canned response that the "Resources
were Not Available."
Sigh.
Thank you for your help/input/suggestions!
Rgds,
Marcia Landingham
Ex. Secr.
|
520.8 | Oops! I meant HANDLING not FORMAT. | IOSG::MARCHANT | Only parrots succeed | Wed Jan 20 1993 00:06 | 26 |
| Re: .7
> I was told by user support that you can now print directly from
> ALL-IN-1. I copied the document to a WPS folder, stripped out the
> header, and tried printing it by changing the print queue destination
> to the QUEUENAME_POST and then the print type to LN03R. That didn't
> work and the job "flushed."
Though you've stripped out the non-PostScript header, ALL-IN-1 doesn't
know that the document content is PostScript. After stripping out the
non-PostScript header you have to update the document's handling to be
PostScript. Use the `U' option (I'm assuming you're using an ENGLISH
system) and set the FORMAT to `PS'. You should be able to print it now!
Your document transfer problem is related to the above - ALL-IN-1
believes your document contains text, and converted the "text" to
PostScript when you did the document transfer. When you print this
transferred file, you get a faithful reproduction of the "text" - i.e.
what you see on the paper, is what was in the document. However, in
this case that is not what you wanted! There are two solutions:
1) update the handling to `PS' (as above) before doing the transfer
2) transfer the document to a `.TXT' file, instead of a `.PS' file
(and then $RENAME the file to a `.PS' one if you want.)
Hope this helps,
Paul.
|
520.9 | More Qs | MYGUY::LANDINGHAM | Mrs. Kip | Wed Jan 20 1993 17:16 | 31 |
| Hi Paul. Thank you for that explanation [basic enough for me to
understand! 8-) ]
I am using the English version of ALL-IN-1, and went into the document
in the WPS folder, and tried to UPDATE the format using the U command
as you indicated. I see nowhere to do this! There is no next screen.
I also looked around in the various screens, and couldn't find it.
I'll look again, but this is what I see with the U command:
Folder: POSTSCRIPT (Number 002131)
Title: TROUBLE
I'd like to try saving the file to a .txt file and then renaming to a
.ps file. But since I don't own priv's to stop the queue, I'm afraid
to! Yesterday by the time my systems support person stopped it, it was
just about done printing a ream of paper!
Thanks!
marcia
Author:
Classification: UNCLASSIFIED
Handling:
Keywords:
Created: 18-Jan-1993 05:04p Modified: 18-Jan-1993
05:04p
Enter new values and press RETURN
|
520.10 | Nearly there! | IOSG::MARCHANT | Only parrots succeed | Wed Jan 20 1993 21:38 | 21 |
| > I am using the English version of ALL-IN-1, and went into the document
> in the WPS folder, and tried to UPDATE the format using the U command
> as you indicated. I see nowhere to do this! There is no next screen.
Sorry, I meant the HANDLING not the FORMAT. So,
> Folder: POSTSCRIPT (Number 002131)
>
> Title: TROUBLE
>
> Author:
> Classification: UNCLASSIFIED
> Handling: <------------------ Set this field to PS
> Keywords:
> Created: 18-Jan-1993 05:04p Modified: 18-Jan-1993
> 05:04p
>
> Enter new values and press RETURN
Cheers,
Paul.
|
520.11 | You *Can* stop your own jobs! | IOSG::PYE | Graham - ALL-IN-1 Sorcerer's Apprentice | Thu Jan 21 1993 13:16 | 12 |
| RE .9
<<< But since I don't own priv's to stop the queue, I'm afraid to!
<<< Yesterday by the time my systems support person stopped it, it was just
<<< about done printing a ream of paper!
You don't normally need privs to delete your own printer entries. Sure
you can't stop the queue, but you can stop your own jobs. Either use
ALL-IN-1's Job Services (JS) menu - IP, and delete, or use the DCL
command $DELETE/ENTRY=nnn after $SHO ENTRY to get the number.
Graham
|
520.12 | frustrated, but not giving up (yet) | MYGUY::LANDINGHAM | Mrs. Kip | Thu Jan 21 1993 13:47 | 33 |
| Folder: TRANSCRIPTION (Number 002155)
Title: trouble
Author: Deb Nicholls @MRO
Classification: UNCLASSIFIED
Handling: PS
Keywords:
Created: 21-Jan-1993 08:38a Modified: 21-Jan-1993
08:38a
==================> I did that, and I got this:
Printer destination ABLN03R_POST cannot print PS documents
Ya know, I think that the intent was to make things easier for folks to
print POSTSCRIPT documents. But to be honest with you, it was so much
easier to take the document down to VMS, strip out the header and just
print! Granted, many ALL-IN-1 users don't have adequate VMS knowledge
or even DCL access, so I understand the need, but this isn't a piece of
cake right now.
Thanks for your efforts, and thanks, Graham, for indicating that I
should be able to stop my own printing. Believe it or not, though,
from the account where the POSTSCRIPT file resides (my boss'), I cannot
stop the queue. They did set the priv's in my account, so that if *I*
want to stop one of my jobs from printing, I can.
I will try what you said I can do from ALL-IN-1, though. Thank you,
very much for trying to help!
Rgds,
marcia
|
520.13 | Check the printer destination | IOSG::NEWLAND | Richard Newland, IOSG, REO2-G/L2 | Thu Jan 21 1993 14:02 | 21 |
| I think the problem may be with the definition of the ABLN03R_POST printer
destination, which your system manager will have to fix.
From the error message you are getting ALL-IN-1 has recognised that you
want to print the document as a PostScript document. ALL-IN-1 checks that
the printer destination is able to print PostScript, but is finding that it
is not defined as being able to print PostScript.
Could you do the following:
1. Print the document to ABLN03R_POST
2. While still on the Printing Document form press GOLD-E
3. This will display the Print Settings form. What is the 'Printer
Device' shown as. It should be 'PS' for a PostScript destination.
Richard
|