ITEM: BO6228L

Preventing Extra form feed at end of print job


env: model 43P @ 4.1.4. hp laserjet? using hpjetdirect card

desc: getting blank pg print out after jobs.

act: he is printing from an application which is sending the job to
     a file. he then from command line issues an lp command to 
     print it out. 
     he is using virtual printer, jobs set up for 80 col, 60 lines.
     had him send lptest 80 60 thru the queue and it printed fine.
     no extra pg. (we had already made sure headers and trailers
     were off). 
     
act: called customer back. the file he sent to the queue was directly
     from the application. no double-queueing. 
     found form feed at the end of the document. we set up his 
     queue for passthru and sent the job again. same result.
     the form feed must be coming from application.

act: he tried printing different reports from the same application
     but still getting extra pg. queue is still in passthru. 
     although we did extend the number of lines from 60 to 66.
     had no effect.
     
act: called reza back. spoke to application support and they say
     since their application works on hpux that it should work fine
     on aix and if it does not, it is an aix issue.
     reza does not agree. he believes it is their application.
     i agreed. advised him to set up conference call w/ me and the
     application support. getting steps necessary to strip out the
     form feed prepared.

Try Z=! in the virtual printer.

This is kind of confusing, but let me give an example of a test
that I just performed.  
 1.  I created a queue to a file, with type other
 2.  lptest 10 10 | qprt -Ptest
   !"\#$%&'()*\^M
   "\#$%&'()*+\^M
   \#$%&'()*+,\^M
   $%&'()*+,-\^M
   %&'()*+,-.\^M        Note, \^M is CR added, \^L is FF.
   &'()*+,-./\^M
   '()*+,-./0\^M
   ()*+,-./01\^M
   )*+,-./012\^M
   *+,-./0123\^L
 3.  lptest 10 10 | qprt -dp -Ptest
   !"\#$%&'()*
   "\#$%&'()*+
   \#$%&'()*+,
   $%&'()*+,-
   %&'()*+,-.
   &'()*+,-./
   '()*+,-./0
   ()*+,-./01
   )*+,-./012
   *+,-./0123
  \^L                    Note:  \^L is still there.
  4.  lptest 10 10 | qprt -dp -Z! -Ptest
   !"\#$%&'()*
   "\#$%&'()*+
   \#$%&'()*+,
   $%&'()*+,-
   %&'()*+,-.
   &'()*+,-./
   '()*+,-./0
   ()*+,-./01
   )*+,-./012
   *+,-./0123           Note: No FormFeed is added.

Library this and send library item to me when done.
Thanks, John


Called customer and found that setting the Z attribute to ! fixed the
     problem.

Some key features are:

The key FLAG attributes that control all the function of the virtual printer
are:

  1. _j: Determines if Printer is Initialed
  2. _f: Determines Filters to be run
  3. _d: Determines Type of Data Processing
  4. _X: Determines Code Page of Input Data
  5. _J: Determines if Printer is Reset
  6. sh: Non-flag determines Header Page Programs
     Controlled by -Bnn enq or qprt flag. (-h turns off for lpr)
  7. st: Non-flag determines Trailer Page Programs
     Controlled by -Bnn qprt flag.
  8. _Z: Determines if Form Feed Sent at End of Job

More Detailed:

  1. Printer Initialization for Header Page
     Controlled by:
       1. The header = entry in /etc/qconfig.
       2. The -B flag for enq or qprt.
          (No equivalent virtual printer Flag)
       3. The -h flag for lpr
          (No equivalent virtual printer Flag)
       4. The _j flag in the virtual printer
       5. The ci attribute and included attributes.
       6. The sh attribute in the virtual printer.
       7. The uH attribute for some virtual printers.
          This occurs even in passthrough mode.
  2. The Header Page appropriate for the Data Type
     Controlled by:
       1. The header = entry in /etc/qconfig.
       2. The -B flag for enq or qprt.
          (No equivalent virtual printer Flag)
       3. The -h flag for lpr
          (No equivalent virtual printer Flag)
       4. The sh attribute in the virtual printer. This occurs even in
          passthrough mode.
  3. Printer Initialization for the Main Job Controlled by:
       1. The _j flag in the virtual printer
       2. The ci attribute and included attributes.
       3. Printer initialization will occur even in passthrough mode.
  4. The Original Data either unchanged, or formatted and/or filtered
     Controlled by:
       1. The _f flag in the virtual printer determines filter to use.
          Filters work in passthrough mode.
       2. The _d flag determines data type.
          Data is formatted ONLY if _d=a.
       3. The _X flag determines if Code Page Translation occurs.
          This happens only when _d=a.
  5. A Form Feed at the end of the Job Controlled by:
       1. The _Z flag in the virtual printer.
          _Z=+ sends form feed
          _Z=! does not send form feed
          This occurs even in passthrough mode.
  6. Printer Reset Commands. Controlled by:
       1. The _J flag in the virtual printer
       2. The cr attribute and included attributes.
       3. The st attribute in the virtual printer.
       4. The uT attribute for some virtual printers.
          This occurs even in passthrough mode.



Support Line: Preventing Extra form feed at end of print job ITEM: BO6228L
Dated: October 1996 Category: N/A
This HTML file was generated 99/06/24~13:30:21
Comments or suggestions? Contact us