JEREMYM@EPVAX.SUSSEX.AC.UK (02/04/88)
I am using a laserjet II, and have defined setups for the various fonts that we wish to use. The modules in the device control library contain just the escape sequence to initialize the printer. All works fine, but I get a blank sheet of paper printed for each of the setup and reset sequences. Is there anyway to get around this? These are the setups we use: $ set printer/cr/lowercase/printall/passall lca0: $initialize/queue/start/lib=laserjetlib/on=lca0: - /separate=(reset=reset,noburst,noflag,notrailer) /default=(noflag,noburst,notrailer,form=prestige) laser $define/form/stock=default prestige 1 /desc="Portrait Prestige" - /setup=(prestige) /length=70/wid=96/margin=(bottom=0)/nowrap/notrunc $define .....etc --------------------------------------------------------------------------- Jeremy Maris Experimental Psychology, | JANET : jeremym@uk.ac.sussex.epvax University of Sussex, | EAN : jeremym%sussex.epvax @ EAN-RELAY.AC.UK Falmer, | EARN/BITNET : jeremym@epvax.sussex.ac.uk Brighton, | ARPA : jeremym@epvax.sussex.ac.uk *OR* E.Sussex BN1 9QY | ARPA : jeremym%sussex.epvax@ukacrl.bitnet UK | usenet : ...mcvax!ukc!epvax!jeremym Tel: +44 (0)273 678060 -------
LEICHTER@VENUS.YCC.YALE.EDU ("Jerry Leichter ", LEICHTER-JERRY@CS.YALE.EDU) (02/09/88)
I am using a laserjet II, and have defined setups for the various fonts that we wish to use. The modules in the device control library contain just the escape sequence to initialize the printer. All works fine, but I get a blank sheet of paper printed for each of the setup and reset sequences. Is there anyway to get around this? No; the best you can do is save the sheets and re-use them. What is hap- pening is simple, if annoying. The print symbiont wants the printer to be in a "known state" - in particular, at the top of a page - at certain points, such as just before starting to print the first page of actual data. It sends a form feed, putting the printer there, BEFORE sending the reset or setup module. The problem it then has is: Did the reset or setup module move the paper? To answer this question, the symbiont scans the data in the reset or setup module for "printable" characters, which might "move the carriage". It recognizes ANSI-format escape sequences, and assumes they do NOT produce printable characters. Unfortunately, the sequences used by LaserJets are NOT in ANSI format, and in fact if you try to parse them as ANSI-format sequences, you'll find that you pretty much always end up with a character that, to the LaserJet, is part of a control sequence, but in ANSI terms would be just a printing character. So, the symbiont decides the reset or setup module has moved the paper, and it issues another form feed to get things back where they belong. At various times, I've seen claims that there was a hack (bug?) in the symbiont such that, if the setup or reset module actually contained a form feed, the form feed would NOT be sent to the printer, but the symbiont would decide that IT didn't need to send one either. This would avoid the problem, but I've never managed to get it to work. If you experiment with this and succeed, I'd be interested - it's annoying to have to save those extra sheets. -- Jerry
hydrovax@nmtsun.nmt.edu (M. Warner Losh) (02/12/88)
In article <8802110418.AA13011@ucbvax.Berkeley.EDU>, JEREMYM@EPVAX.SUSSEX.AC.UK writes: > I am using a laserjet II, and have defined setups for the various > fonts that we wish to use. The modules in the device control library > contain just the escape sequence to initialize the printer. We have a LaserJet+ hooked to our system and are about to get a LaserJet II There were some initial problems, but not it works great. > All works fine, but I get a blank sheet of paper printed for each of the > setup and reset sequences. Is there anyway to get around this? There is a way, but it is gross beyond belief :-) > > These are the setups we use: > > $ set printer/cr/lowercase/printall/passall lca0: Good. This is correct. We have modem enabled on ours so that it barf at 9600 baud. Never could get flow control working correctly. > $initialize/queue/start/lib=laserjetlib/on=lca0: - > /separate=(reset=reset,noburst,noflag,notrailer) > /default=(noflag,noburst,notrailer,form=prestige) laser Ditto the good here. > $define/form/stock=default prestige 1 /desc="Portrait Prestige" - > /setup=(prestige) /length=70/wid=96/margin=(bottom=0)/nowrap/notrunc Here is where you run into problems. I did this on our system for a long time until the users started complaining about extra pages coming out. I did a lot of things to try to fix it, even writing a custom print symbiont. All except one failed. First some background. In the Orange doc set (System management AND release notes) it tells how to set this stuff up. There is a comment that files that have what looks like printable text in the setup module will force an extra page (bug or feature? You decide). The problem is that HP uses non-ANSI escape sequences for their printers. So, VMS's symbiont thinks that there is some garbage that the user wants on the first page. Well, in this case that is not correct, since the "garbage" isn't printing. This is the point that we stayed at for months while I tried various different (and wrong) ways of getting the printer to stop printing extra pages. Then it hit me, why not have a setup for each page of the print-out so that you don't get these extra pages? This is what we have been doing now for the past few months. The only time we EVER get a blank page is when the system reboots or when the SYMBIONT starts. Here's the commands for the curious: $ DEFINE/FORM/DESCRIPTION="Compressed output"/LENGTH=82/WIDTH=132 - /PAGE_SETUP=COMPRESS/STOCK=DEFAULT COMPRESS 100 Notice the use of /PAGE_SETUP instead of /SETUP. VMS doesn't care what you place in this module, so it doesn't do anything special to it. I hope that this helps. -- bitnet: losh@nmt.csnet M. Warner Losh warner@hydrovax.nmt.csnet ! Don't know if this works, let me know. csnet: warner@hydrovax.nmt.edu uucp: ...{cmcl2, ihnp4}!lanl!unmvax!nmtsun!warner%hydrovax
klb@philabs.Philips.Com (Ken Bourque) (02/16/88)
>Then it hit me, why not have a setup for each page of the print-out so that >you don't get these extra pages? This is what we have been doing now for the >past few months. The only time we EVER get a blank page is when the system >reboots or when the SYMBIONT starts. This works fine, but if the reason for wanting the setup is to reset the printer to a known state after each job, you don't want to be doing that after every page. Somewhere in one of the System Dispatches DEC claims that if you make the contents of the reset module look like a VT240 escape sequence you will avoid the extra form feeds. I tried this - no luck. Since it is easy to put an explicit form feed in the reset module if you want one, I can't fathom why VMS should try to give you one whether you want it or not. -- Ken Bourque klb@philabs.philips.com ...!{uunet,ihnp4,decvax}!philabs!klb
SIT.BUSH@CU20B.COLUMBIA.EDU (Nick Bush) (02/18/88)
Actually, there is a very easy way to avoid the blank pages that works with most devices. The print symbiont will assume that all text that occurs between a "DCS" character and a "ST" character does not change the position of the printer, and it will therefore not send a form feed afterwards. This can be used with any device which will ignore the "DCS" and "ST" characters. These two characters are eight bit control characters which can also be sent as two character strings. "DCS" (mnemonic for "Device Control String") can be represented by <ESC>P, and "ST" (mnemonic for "String Terminator") can be represented by <ESC>\. LaserJets (and other HP printers) ignore the DCS and ST strings, so it is possible to place the DCS before the setup string and follow it with ST without a problem. I have used this on a number of HP printers and it works quite well - no undesired blank pages at all. - Nick Bush Sterling-Winthrop Research Institute Rensselaer, NY 12144 Internet: SIT.BUSH@CU20B.COLUMBA.EDU BITnet: SIT.BUSH@CU20B.BITNET -------
John_H_Bruestle@cup.portal.com (02/27/88)
I also have the blank-page problem, but I'm using an LN03 printer. Seems that I shouldn't have a problem according to the current theory. Any ideas?