Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 1995 10:47:12 +0100
From:      Lars Koeller  <uphya001@odie.physik2.uni-rostock.de>
To:        freebsd-questions@freefall.cdrom.com
Cc:        uphya001@odie.physik2.uni-rostock.de
Subject:   Solution for filtering and remote printing on a network printer!
Message-ID:  <199501270947.KAA06332@odie.physik2.uni-rostock.de>

next in thread | raw e-mail | index | archive | help
      I notice some  time ago some  questions about printing with filtering
   on a remote network printer. I worked out a solution with the well known
   and fairly  good  apsfilter-4.8.1 (aps-481.tgz on ftp.Germany.EU.net  in
   pub/os/Linux/Local.EUnet/People/akl). I do a requing with the normal lpr
   command in apsfilter. lpq and lprm  are very simple scripts which access
   the remote printer by default. The original binaries are renamed to olpq
   and olprm.  Here  are  the  diffs,  my  sample lprm,  lpq,  printcap and
   apsfilterrc files for a PostScript LaserJet IV  with a JetDirect network
   card.  Please send me any suggestions fixes or problems.  I hope it will
   work well with your setup too!

   Regards

   Lars 

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

Lars Köller                        E-Mail: 
University of Rostock (Germany)       lars.koeller@odie.physik2.Uni-Rostock.DE
Fachbereich Physik 		      lars.koeller@physik.Uni-Rostock.DE
Universitätsplatz 3		   Phone:  +49 381/498-1665 or 498-1648
18051 Rostock                      Fax:    +49 381/498-1667




### lprm ###

. /etc/apsfilterrc
/usr/bin/olprm -P$REMOTE_PRINTER $*


### lpq ###

. /etc/apsfilterrc
/usr/bin/olpq -P$REMOTE_PRINTER $*



### /etc/printcap ###



#######	@(#)printcap	5.3 (Berkeley) 6/30/90
#######
#######
# LABEL apsfilter
# apsfilter setup Tue Dec 13 18:50:27 MET 1994
#
# APS_BASEDIR:/usr/local/lib/apsfilter
#
#
#
lj4.remote|enables remote printing with apsfilter:\
        :rm=lj4.physik2.uni-rostock.de:\
	:sd=/var/spool/PS_600dpi-raw:\
	:lf=/var/spool/PS_600dpi-raw/log:\
	:af=/var/spool/PS_600dpi-raw/acct:\
	:mx#0:
#
ascii|PS_600dpi-a4-ascii-mono|PS_600dpi ascii mono:\
	:lp=/dev/null:\
	:sd=/var/spool/PS_600dpi-a4-ascii-mono:\
	:lf=/var/spool/PS_600dpi-a4-ascii-mono/log:\
	:af=/var/spool/PS_600dpi-a4-ascii-mono/acct:\
	:if=/usr/local/lib/apsfilter/filter/aps-PS_600dpi-a4-ascii-mono:\
	:mx#0:\
	:rg=lp:
#
raw|PS_600dpi-a4-raw|PS_600dpi auto raw:\
	:lp=/dev/null:\
	:sd=/var/spool/PS_600dpi-raw:\
	:lf=/var/spool/PS_600dpi-raw/log:\
	:af=/var/spool/PS_600dpi-raw/acct:\
	:if=/usr/local/lib/apsfilter/filter/aps-PS_600dpi-a4-raw:\
	:mx#0:\
	:rg=lp:
#
lp|PS_600dpi-a4-auto-mono|PS_600dpi auto mono:\
	:lp=/dev/null:\
	:sd=/var/spool/PS_600dpi-a4-auto-mono:\
	:lf=/var/spool/PS_600dpi-a4-auto-mono/log:\
	:af=/var/spool/PS_600dpi-a4-auto-mono/acct:\
	:if=/usr/local/lib/apsfilter/filter/aps-PS_600dpi-a4-auto-mono:\
	:mx#0:\
	:rg=lp:



### diffs for apsfilter in .../apsfilter/bin/apsfilter; Version 4.8.1 ###




*** apsfilter.orig	Tue Dec 13 19:10:41 1994
--- apsfilter	Fri Jan 27 10:26:28 1995
***************
*** 331,349 ****
  
  case $PRINTER in
  
! 	PS_*dpi)	# our printer is a PS printer...	
! 			PRINT_PS="cat -" ;;
  
  	*)		# we have a nice non ps printer
! 			PRINT_PS="	gs				\
! 					-q				\
! 					-sDEVICE=${PRINTER}		\
! 					-r${GS_RESOL}			\
! 					-sPAPERSIZE=${PAPERSIZE}	\
! 					-dNOPAUSE			\
! 					-dSAFER				\
! 					-sOutputFile=-			\
! 					-				" ;;
  esac
  
  if [ "$PRINT_TO_FILE" = "True" ]; then
--- 331,369 ----
  
  case $PRINTER in
  
! 	PS_*dpi)	# our printer is a PS printer...
! 			if [ "$REMOTE_PRINTER" != "" ]; then
! 				PRINT_PS="/usr/bin/lpr -U ${LOGINNAME} -P${REMOTE_PRINTER}  -h"
! 			else
! 				PRINT_PS="cat -"
! 			fi ;;
  
  	*)		# we have a nice non ps printer
! 			if [ "$REMOTE_PRINTER" != "" ]; then
! 				PRINT_PS="	gs			\
! 						-q			\
! 						-sDEVICE=${PRINTER}	\
! 						-r${GS_RESOL}		\
! 						-sPAPERSIZE=${PAPERSIZE}\
! 						-dNOPAUSE		\
! 						-dSAFER			\
! 						-sOutputFile=-		\
! 						- | /usr/bin/lpr 	\
! 							-U ${LOGINNAME} \
! 							-P${REMOTE_PRINTER} \ 
! 							-h"
! 			else
! 				PRINT_PS="	gs			\
! 						-q			\
! 						-sDEVICE=${PRINTER}	\
! 						-r${GS_RESOL}		\
! 						-sPAPERSIZE=${PAPERSIZE}\
! 						-dNOPAUSE		\
! 						-dSAFER			\
! 						-sOutputFile=-		\
! 						-			"
! 			fi ;;
! 
  esac
  
  if [ "$PRINT_TO_FILE" = "True" ]; then
***************
*** 408,414 ****
  
  print_sunraster()
  {
! 	$DECOMPRESS ras2ps $RAS2PS_OPTS | $PRINT_PS 
  }
  
  print_sunraster2()
--- 428,434 ----
  
  print_sunraster()
  {
! 	$DECOMPRESS ras2ps $RAS2PS_OPTS | eval $PRINT_PS 
  }
  
  print_sunraster2()
***************
*** 495,501 ****
  		printf $PRINT_RAW_SETUP_PRINTER
  	fi
  
! 	$DECOMPRESS cat -
  
  	# usually we do a nice formfeed
  	if [ ! $PRINT_RAW_SUPPRESS_FORMFEED ]; then
--- 515,522 ----
  		printf $PRINT_RAW_SETUP_PRINTER
  	fi
  
! 	$DECOMPRESS eval "/usr/bin/lpr -U ${LOGINNAME} -P${REMOTE_PRINTER} -h"
! #		    cat -
  
  	# usually we do a nice formfeed
  	if [ ! $PRINT_RAW_SUPPRESS_FORMFEED ]; then
***************
*** 556,567 ****
  	if [ ! $A2PS_OPTS ]; then
  		# not user defined
  		A2PS_OPTS="${A2PS_BASIC_OPTIONS} \
! 			   ${A2PS_STD_OPTIONS} \
  			   ${A2PS_FEATURES}"
  	else
  		# user defined, but keep BASIC options
  		A2PS_OPTS="${A2PS_BASIC_OPTIONS} \
! 			   ${A2PS_OPTS}"
  	fi
  
  	case $PRINTER in
--- 577,589 ----
  	if [ ! $A2PS_OPTS ]; then
  		# not user defined
  		A2PS_OPTS="${A2PS_BASIC_OPTIONS} \
! 			   ${A2PS_STD_OPTS} \
  			   ${A2PS_FEATURES}"
  	else
  		# user defined, but keep BASIC options
  		A2PS_OPTS="${A2PS_BASIC_OPTIONS} \
! 			   ${A2PS_OPTS} \
! 			   ${A2PS_FEATURES}"
  	fi
  
  	case $PRINTER in
***************
*** 619,625 ****
  		*)	# it's not compressed !
  			DECOMPRESS="";;
  		esac
- 	
  
  	$DECOMPRESS a2ps ${A2PS_OPTS} | eval $PRINT_PS
  }
--- 641,646 ----
***************
*** 632,638 ****
  
  print_data()
  {
! 	$DECOMPRESS cat -
  }
  
  
--- 653,660 ----
  
  print_data()
  {
! 	$DECOMPRESS eval "/usr/bin/lpr -U ${LOGINNAME} -P${REMOTE_PRINTER} -h"
! #		    cat -
  }
  
  
***************
*** 884,889 ****
--- 906,916 ----
  						fault_filetype
  					fi ;;
  
+ 			data | *escape*)
+ 					# that's certainly not critical,
+ 					# you're on your own ;-)
+ 					print_data ;;
+ 
  			*ascii*|*text*|*english*|*script*)
  					if [ "$HAVE_A2PS" = "True" \
  					  -a "$HAVE_GS"   = "True" ]; then
***************
*** 891,901 ****
  					else
  						fault_filetype
  					fi ;;
- 			data)
- 					# that's certainly not critical,
- 					# you're on your own ;-)
- 					print_data ;;
- 
   			*)		
  					# data we - I'm so sorry - don't know
  					fault_filetype ;;
--- 918,923 ----




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199501270947.KAA06332>