#!/bin/sh # Patrick Powell # Sat Aug 19 20:40:33 PDT 1995 # # psbanner [-FLAGvalue]* [accountingfile] # # Important flags: Postscript Variable # -j number - job number /Seq # -J banner - banner /Job # -h host - host /Host # -C class - job class /Class # -n user - user /User # -t date - date /Date # -L name - name /Name # # Example: # # banner -Pt1 -w80 -l66 -x0 -y0 -Ff # -kcfA684taco.astart.com -Lpapowell -J../VERSION -CA # -npapowell -htaco.astart.com -Htaco.astart.com # -d/tmp/LPD/t1/dfA684 taco.astart.com accnt # # Output needed: # # %!PS-Adobe-2.0 # /Seq (number) def # /Job (banner) def (with '()\' escaped ) # /Host (HOST) def # /Class (CLASS) def # /User (USER) def # /Date (DATE) def # /Name (NAME) def # < followed by the contents of the banner file > # These variables are used by the banner printing script to # produce output. ## # ----------- start version 1 ------------ # PATH=/bin:/usr/bin Args="" vAr="" vAlue="" iI="" Args="$@" while expr "$1" : '-.*' >/dev/null ; do vAr=`expr "$1" : '-\(.\).*'`; vAlue=`expr "$1" : '-.\(.*\)'`; case "$vAr" in - ) break;; c ) c=1;; [a-zA-Z] ) if test "X$vAlue" = "X" ; then shift; vAlue="$1"; fi; eval $vAr='$vAlue'; #setvar $vAr "$vAlue" ;; esac; shift; done number=0; if [ -n "$j" ] ; then number="$j"; fi banner=NONE; if [ -n "$J" ] ; then banner="$J"; fi host=UNKNOWN; if [ -n "$h" ] ; then host="$h"; fi class=UNKNOWN; if [ -n "$C" ] ; then class="$C"; fi user=UNKNOWN; if [ -n "$n" ] ; then user="$n"; fi date=`date`; name=UNKNOWN; if [ -n "$L" ] ; then name="$L"; fi # put out the values cat < 612 x 792 # a4 = 8.5 x 11.75 => 612 x 846 cat <<'EOF' ; /entries [(User:) (Name:) (Host:) (Date:) (Job:) (Class:)] def /low-point-size 10 def %% /high-point-size 120 def /high-point-size 80 def /line-spacing low-point-size 1.2 mul def /left-margin 22 def % a4 /first-baseline 840 def % 8.5x11 /first-baseline 786 def /first-baseline 786 def /last-baseline 30 def /user-baseline 150 def /user-margin left-margin low-point-size 4.2 mul add def /banner-baseline 630 def /banner-line-spacing high-point-size 1.1 mul def /Courier findfont low-point-size scalefont setfont 0 1 5 { dup line-spacing mul exch 2 gt { first-baseline exch sub } { last-baseline add } ifelse left-margin exch moveto (****************************************) show (**************************************** Id: ) show Seq show } for 0 1 5 { dup line-spacing mul user-baseline exch sub left-margin exch moveto entries exch get show } for /i 0 def [User Name Host Date Job Class] { user-margin user-baseline i line-spacing mul sub moveto i 0 eq { show (@) show Host } if show /i i 1 add def } forall /i 0 def %%%%%% FANCY HEADER %%%%%%%%%%%%%%%%% %% [Seq User Host Job] { gsave left-margin banner-baseline banner-line-spacing i mul sub translate 0 0 moveto i 0 eq i 3 eq or { i 0 eq { /Helvetica } { /Courier /high-point-size 76 def } ifelse } { /Palatino-Italic } ifelse findfont high-point-size scalefont setfont { /charcode exch def /thechar (-) dup 0 charcode put def thechar true charpath stroke thechar stringwidth pop 0 translate 0 0 moveto } forall /i i 1 add def grestore } forall %% %%%% Neat little Printer ICON %%%% if you don't mind waiting, remove the comments %%%% %% gsave %% /$F2psDict 200 dict def %% $F2psDict begin %% $F2psDict /mtrx matrix put %% /l {lineto} bind def %% /m {moveto} bind def %% /s {stroke} bind def %% /n {newpath} bind def %% /gs {gsave} bind def %% /gr {grestore} bind def %% /clp {closepath} bind def %% /graycol {dup dup currentrgbcolor 4 -2 roll mul 4 -2 roll mul %% 4 -2 roll mul setrgbcolor} bind def %% /col-1 {} def %% /col0 {0 0 0 setrgbcolor} bind def %% /col1 {0 0 1 setrgbcolor} bind def %% /col2 {0 1 0 setrgbcolor} bind def %% /col3 {0 1 1 setrgbcolor} bind def %% /col4 {1 0 0 setrgbcolor} bind def %% /col5 {1 0 1 setrgbcolor} bind def %% /col6 {1 1 0 setrgbcolor} bind def %% /col7 {1 1 1 setrgbcolor} bind def %% /col8 {.68 .85 .9 setrgbcolor} bind def %% /col9 {0 .39 0 setrgbcolor} bind def %% /col10 {.65 .17 .17 setrgbcolor} bind def %% /col11 {1 .51 0 setrgbcolor} bind def %% /col12 {.63 .13 .94 setrgbcolor} bind def %% /col13 {1 .75 .8 setrgbcolor} bind def %% /col14 {.7 .13 .13 setrgbcolor} bind def %% /col15 {1 .84 0 setrgbcolor} bind def %% end %% /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def %% /$F2psEnd {$F2psEnteredState restore end} def %% %%EndProlog %% %% $F2psBegin %% 0 setlinecap 0 setlinejoin %% 412.0 205.0 translate 0.900 -0.900 scale %% 1.000 setlinewidth %% % Polyline %% n 64 107 m 64 101 l 124 101 l 124 107 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 64 106 m 64 110 l gs col0 s gr %% % Polyline %% n 124 106 m 124 110 l gs col0 s gr %% % Polyline %% n 128 128 m 128 119 l 59 119 l 59 128 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 59 119 m 59 104 l 44 104 l 44 119 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 143 119 m 143 104 l 128 104 l 128 119 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 146 92 m 146 116 l 143 116 l 143 92 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 44 92 m 44 116 l 41 116 l 41 92 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 50 95 m 50 92 l 44 92 l 44 95 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% % Polyline %% n 137 95 m 137 92 l 143 92 l 143 95 l clp gs 0.00 setgray fill gr %% gs col-1 s gr %% 1.000 setlinewidth %% % Polyline %% n 146 77 m 146 89 l 41 89 l 41 77 l clp gs col-1 s gr %% % Polyline %% n 43 90 m 43 78 l gs col-1 s gr %% % Polyline %% n 144 89 m 144 77 l gs col-1 s gr %% % Polyline %% n 41 77 m 41 71 l gs col-1 s gr %% % Polyline %% n 146 77 m 146 71 l gs col-1 s gr %% % Polyline %% n 50 65 m 59 65 l gs col-1 s gr %% 0.500 setlinewidth %% % Polyline %% n 59 70 m 128 70 l gs col-1 s gr %% % Polyline %% n 59 41 m 59 71 l gs col-1 s gr %% % Polyline %% n 59 71 m 128 71 l gs col-1 s gr %% % Polyline %% n 59 41 m 122 41 l gs col-1 s gr %% % Polyline %% n 128 48 m 128 71 l gs col-1 s gr %% % Polyline %% n 122 41 m 128 48 l gs col-1 s gr %% % Polyline %% n 116 41 m 116 53 l 128 53 l gs col-1 s gr %% 1.000 setlinewidth %% % Polyline %% n 128 65 m 131 65 l gs col-1 s gr %% % Polyline %% n 129 65 m 140 65 l 146 72 l gs col-1 s gr %% 0.500 setlinewidth %% % Polyline %% n 128 66 m 131 66 l gs col-1 s gr %% % Polyline %% n 128 67 m 131 67 l gs col-1 s gr %% % Polyline %% n 133 66 m 140 66 l gs col-1 s gr %% % Polyline %% n 133 67 m 141 67 l gs col-1 s gr %% % Polyline %% n 131 68 m 133 68 l gs col-1 s gr %% % Polyline %% n 131 69 m 133 69 l gs col-1 s gr %% 1.000 setlinewidth %% % Polyline %% n 51 65 m 41 72 l gs 0.85 setgray fill gr %% gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 143 88 m 143 78 l 44 78 l 44 88 l clp gs 0.60 setgray fill gr %% gs col0 s gr %% % Polyline %% n 132 77 m 41 77 l 41 72 l 51 65 l 59 65 l 59 71 l %% 128 71 l 128 67 l 131 67 l gs 0.75 setgray fill gr %% gs col0 s gr %% % Polyline %% n 132 77 m 145 77 l 146 77 l 146 71 l 146 72 l 141 66 l %% 133 66 l 133 68 l 133 68 l 133 69 l 131 69 l gs 0.75 setgray fill gr %% gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 141 89 m 141 92 l gs col0 s gr %% % Polyline %% n 46 89 m 46 93 l gs col0 s gr %% % Polyline %% n 138 80 m 140 80 l gs col0 s gr %% % Polyline %% n 138 85 m 140 85 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 128 104 m 143 104 l 143 95 l 137 95 l 137 92 l 141 92 l %% 141 92 l 140 92 l 141 92 l 141 89 l 46 89 l %% 46 92 l 50 92 l 50 95 l 44 95 l 44 104 l %% 59 104 l gs 0.50 setgray fill gr %% gs col0 s gr %% % Polyline %% n 59 104 m 59 119 l 128 119 l 128 104 l gs 0.35 setgray fill gr %% gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 65 102 m 69 102 l gs col0 s gr %% % Polyline %% n 124 102 m 120 102 l gs col0 s gr %% % Polyline %% n 121 102 m 119 102 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 64 104 m 64 108 l gs col0 s gr %% % Polyline %% n 124 104 m 124 108 l gs col0 s gr %% % Polyline %% n 125 108 m 131 108 l gs col0 s gr %% % Polyline %% n 57 108 m 63 108 l gs col0 s gr %% % Polyline %% n 120 108 m 124 108 l gs col0 s gr %% % Polyline %% n 64 108 m 68 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 67 110 m 71 110 l gs col0 s gr %% % Polyline %% n 67 106 m 71 106 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 71 108 m 73 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 73 110 m 76 110 l gs col0 s gr %% % Polyline %% n 73 106 m 76 106 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 76 108 m 78 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 78 110 m 82 110 l gs col0 s gr %% % Polyline %% n 78 106 m 82 106 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 82 108 m 86 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 64 106 m 64 100 l 124 100 l 124 106 l gs col0 s gr %% % Polyline %% n 86 106 m 89 106 l gs col0 s gr %% % Polyline %% n 86 110 m 89 110 l gs col0 s gr %% % Polyline %% n 117 106 m 121 106 l gs col0 s gr %% % Polyline %% n 117 110 m 121 110 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 115 108 m 117 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 112 110 m 115 110 l gs col0 s gr %% % Polyline %% n 112 106 m 115 106 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 110 108 m 112 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 106 110 m 110 110 l gs col0 s gr %% % Polyline %% n 106 106 m 110 106 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 102 108 m 106 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 99 106 m 102 106 l gs col0 s gr %% % Polyline %% n 99 110 m 102 110 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 89 108 m 93 108 l gs col0 s gr %% % Polyline %% n 95 108 m 99 108 l gs col0 s gr %% 1.000 setlinewidth %% % Polyline %% n 77 101 m 77 105 l gs col0 s gr %% % Polyline %% n 72 101 m 72 105 l gs col0 s gr %% % Polyline %% n 83 101 m 83 105 l gs col0 s gr %% % Polyline %% n 85 101 m 85 105 l gs col0 s gr %% % Polyline %% n 103 101 m 103 105 l gs col0 s gr %% % Polyline %% n 105 101 m 105 105 l gs col0 s gr %% % Polyline %% n 111 101 m 111 105 l gs col0 s gr %% % Polyline %% n 116 101 m 116 105 l gs col0 s gr %% % Polyline %% n 90 101 m 90 105 l gs col0 s gr %% % Polyline %% n 92 101 m 92 105 l gs col0 s gr %% % Polyline %% n 96 101 m 96 105 l gs col0 s gr %% % Polyline %% n 98 101 m 98 105 l gs col0 s gr %% % Polyline %% n 94 104 m 94 107 l gs col0 s gr %% % Polyline %% n 94 108 m 94 111 l gs col0 s gr %% 0.500 setlinewidth %% % Polyline %% n 64 109 m 64 113 l gs col0 s gr %% % Polyline %% n 124 109 m 124 113 l gs col0 s gr %% % Polyline %% n 64 116 m 64 120 l gs col0 s gr %% %/Times-Roman findfont 24.00 scalefont setfont %% %69 64 m %% /Times-Roman findfont 20.00 scalefont setfont %% 63 64 m %% gs 1 -1 scale (LPRng) col0 show gr %% $F2psEnd %% grestore showpage EOF