Bug 690037

Summary: IEEE 1284 control code printed on each page for Epson Stylus Color 300
Product: Ghostscript Reporter: Bernd Kurzan <Bernd.Kurzan>
Component: Printer DriverAssignee: Default assignee <ghostpdl-bugs>
Status: NOTIFIED FIXED    
Severity: normal    
Priority: P4    
Version: 8.62   
Hardware: PC   
OS: Linux   
Customer: Word Size: ---
Attachments: noEJL.upp

Description Bernd Kurzan 2008-08-21 06:48:57 UTC
When using the uniprint drivers for the Epson Stylus Color 300 printer on each
new page the IEEE 1284.4 control sequence:

EJL 1284 4
EJL

is printed in the top two lines of each printed page.
The command used, which reproduces this behaviour, is (for A4 size paper):
gs @stc300.upp -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842
   -sOutputFile=/dev/lp0 File.ps
or:
gs @stc300bm.upp -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842
   -sOutputFile=/dev/lp0 File.ps

This problem was already mentioned in the year 2006 in the forum:
http://forums.linux-foundation.org/read.php?26,281
Comment 1 Ray Johnston 2008-08-21 09:03:42 UTC
Created attachment 4309 [details]
noEJL.upp

Command line option with upBeginPage that has the EJL lines removed.
Comment 2 Ray Johnston 2008-08-21 09:08:45 UTC
As I understand it, this EJL is required when the printer is connected via
parallel (IEE1284) connection AKA "Centronics", but causes problems when the
printer is connected with USB (as most are currently).

Since the stc300.upp is simply a set of ghostscript command line options
(most of which are uniprint device parameters) it is simple enough to fix any
of the problems. You can either:

1) edit the stc300.upp to remove the offending data:
        1b01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 
        40 45 4a 4c 20 20 20 20 20 0a 

   NB, The data is in hex since it is possible to encode all characters without
   the PostScript escape sequences that would otherwise be needed to define
   a string.

  -  or  -

2) add a 'fixed' upBeginPage parameter string to replace the one defined in
   the lib/stc300.upp

I have attached a file "noEJL.upp" that you can use for method #2. Place this
file in the same directory as stc300.upp.

The command line then becomes:

gs @stc300.upp @noEJL.upp -dDEVICEWIDTHPOINTS=595 -dDEVICEHEIGHTPOINTS=842
   -sOutputFile=/dev/lp0 File.ps