PRB: Epson Printer Driver Causes Top of Page Reset

ID: Q101300

The information in this article applies to:

SYMPTOMS

If one of the Epson printer drivers is chosen for a printer driver and the PDDOCEND procedure is called, the top of the page will be reset to where the printer stops printing instead of to the true top of the page. Unless the printer is manually realigned with the top of the page, each page of future output will be split over two pages.

CAUSE

The printer driver sends the setup code [_PDPARMS(3)] for the printer. This code initializes the printer and resets the printer's top of page setting.

RESOLUTION

To work around this problem, do ONE of the following:

MORE INFORMATION

The following code reproduces this problem. To use this code without the printer driver loaded, comment out the lines that contain "&& Comment this".

   SET TALK OFF
   _PEJECT="NONE"
   _PADVANCE="FORMFEED"

   * The following line of code will set the printer driver to the
   * Epson E/F/RX/LQ driver.

   _PDSETUP="Epson Generic"  && Comment this

   * The following line of code will enable FoxPro to use the
   * DRIVER2.PLB library file, which contains the code to print
   * using escape codes.

   SET LIBRARY TO c:\<foxpro>\goodies\pdrivers\driver2.plb && Comment this

   SET PRINTER TO dummy.txt
   SET PRINTER ON
   PRINTJOB

   FOR x = 1 TO 32
      ? x
   ENDFOR

   * The following line of code will send the End of Document escape
   * codes. This is a procedure contained in the DRIVER2.PLB library.

   ? PDDOCEND()                 && Comment this

   ENDPRINTJOB
   SET PRINTER OFF
   SET PRINTER TO

   * The following line of code will remove the DRIVER2.PLB library
   * from memory.

   SET LIBRARY TO               && Comment this

   MODIFY COMMAND dummy.txt

Additional reference words: FoxDos 2.00 2.50 pdparms KBCategory: kbprint kbprg kbprb KBSubcategory: FxprintDriver

Last Reviewed: May 22, 1995