From: SACHEY@HSDP1.BROOKS.AF.MIL ("Thomas A Sachey")
Newsgroups: comp.os.vms
Subject: Port Printing
Date: 29 Jul 92 19:32:00 GMT
Distribution: world
Organization: The Internet

******************************************************************************
* HELP.... HELP...         NEED ASSISTANCE        HELP...  HELP...           *
******************************************************************************

	Has anybody out there have a simpler way to port print a file from
	a VAX to a slave printer attached to their PC?

	The below listed port print .com files are what we've been using 
	but are incurring a problem printing to any brand of laser jet
	printers attached to a user's PC.  We have been unsuccessful in
	printing to HP LASER JETS (any series), UNISYS laser (emulating
	HP) and DEC LA75 dot matrix printer.  The only printer that seems
	to work with our current port print procedure is an ALPS200 series.

	The main problem we've been running into is with form feeds.  
	Somehow the laser jets do not recognize a form feed when printing
	to port.  When a print job is sent, the first light that comes on
	is the form feed.  The user manually has to take the printer off-
	line, hit form feed, then the print job is started/printed.  However,
	if multiple pages are required, internal form feeds within the
	document are ignored and printing is continuous.

	PC users connect to our Vaxes through several software packages:
	CALL, REFLECTIONS 4, ENABLE and KERMIT.

	Any assistance in resolving this perplexing problem will be
	greatly appreciated.


$! P O R T _ P R I N T . C O M
$!
$! Sends a file to attached printer of an ANSI terminal.
$! P1 is filespec to print. Prompted for if not specified.
$! If file not found, exit without message.
$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
$	set noverify
$	set noon
$	on control_y then goto CTRLY 
$	esc[0,8] = 27
$!
$!Check parameter
$!
$P_CHECK:
$	if P1 .eqs. "" then inquire P1 "_File"
$	if P1 .eqs. "" then goto P_CHECK
$	if f$search("''P1'") .eqs. "" then goto BAD_PARAM 
$!
$!Main loop
$!
$	open/read/err=BAD_OPEN input_file 'P1
$	write sys$output esc,"[5i"          !turn on printing
$	on control_y then goto FIN
$READ_LOOP:
$	read/end=FIN input_file record
$	record = f$edit(record,"TRIM")
$	write sys$output record
$	goto READ_LOOP
$FIN:
$	close input_file
$	write sys$output esc,"[4i"          !turn off printing
$	EXIT                                 !normal exit
$!
$!Handlers
$!
$BAD_OPEN:
$	write sys$output "%PORTPR-E-BADOPEN, could not open ''P1'"
$	EXIT
$BAD_PARAM:
$	write sys$output "%PORTPR-W-NOFILE, could not find ''P1'"
$	EXIT
$CTRLY:
$	EXIT
*****************************************************************************

$	set noverify
$!***********************************************************************
$!
$! MODULE NAME:  PER_PORT_PRINT.COM
$!
$! PORT_PRINT.COM 
$!
$! DESCRIPTION:  Sends a file to attached printer of an ANSI terminal.
$!
$! MAINTENANCE HISTORY:
$!
$!         13-FEB-1991 - RMM, TRW - Modified for PERSMOD.
$!         13-MAR-1990 - DKD, TRW - Added SET TERM/PASTHRU command to allow
$!                                  form feeds to be passed to the attached
$!                                  printer.  Removed code to force form 
$!                                  feeds when new header.  Reports are now
$!                                  assumed to have imbedded form feeds.
$!***********************************************************************
$!
$	on control_y then goto CTRLY 
$	if P1 .EQS. "" THEN GOTO BAD_OPEN
$	esc[0,8] = 27
$       FF[0,8] = 12
$       write sys$output "                Please ensure printer is turned on and online"
$       write sys$output ""
$       inquire/nopunctuation ans "                  Press RETURN to continue, CTRL Y to abort"
$	set noon
$	Wrap = F$GETDVI("SYS$OUTPUT","TT_WRAP")
$	set term/nowrap
$       Pasthru = F$GETDVI("SYS$OUTPUT","TT_PASTHRU")
$	set term/pasthru
$!
$!Main loop
$!
$	on control_y then goto FIN
$	on control_c then goto FIN
$	open/read/err=BAD_OPEN input_file 'P1
$	write sys$output esc,"[5i"          !turn on printing
$READ_LOOP:
$	read/end=FIN input_file record
$	write sys$output record
$	goto READ_LOOP
$FIN:
$	close input_file
$	write sys$output esc,"[4i"           !turn off printing
$	IF Wrap    .EQS. "TRUE"  THEN SET TERM/WRAP
$       IF Pasthru .EQS. "FALSE" THEN SET TERM/NOPASTHRU
$	EXIT
$!
$!Handlers
$!
$BAD_OPEN:
$	write sys$output "%PORTPR-E-BADOPEN, could not open ''P1'"
$	EXIT
$CTRLY:
$	EXIT


+----------------------------------------------------------------------------+
| E-Mail: "SACHEY@HQHSD.BROOKS.AF.MIL" (DDN)    Thomas A. Sachey             |
| Phone:  (512)536-2236  (AV)240-3224           CSC         P.O. Box 35508   |
|                              San Antonio--->  Brooks AFB, Texas 78235-0508 |
+----------------------------------------------------------------------------+