SDB:GDI Printers
Version: 1.0 -
İçindekiler
Situation
You want to use a GDI printer (Windows-only hardware).
About GDI Printers
Printer drivers for Linux are seldom developed by the printer's manufacturer. Therefore, the printer must be accessible via a published standard protocol, like the standard printer languages PostScript, ESC/P, and HP PCL (but not HP PPA). See SDB:Purchasing a Printer and Compatibility
If the printer's manufacturer does not provide the printer with a standard printer language support but uses a proprietary protocol, this printer is a GDI printer. Such printers only work under the operating systems for which the manufacturer provides driver support.
GDI is an API developed by Microsoft. The real problem is not the API itself, but rather that GDI printers are exclusively accessible via a proprietary protocol. Therefore, GDI printers should actually be called "printers exclusively accessible via a proprietary protocol".
There is a special type of printer that "understands" rudimentary elements of a standard printer language only (i.e., those commands necessary for the output of raster graphic data). This kind of printer can sometimes be deployed in an ordinary way, since many Ghostscript drivers merely use the commands required for the output of raster graphic data. Needless to say, this procedure does not allow direct ASCII text output on the printer. However, Ghostscript is interposed by default anyway.
These printers may pose a problem if they must be previously switched to a special mode with specific control sequences. This can only be done with a specially adapted Ghostscript driver. Since this is not a standard protocol, these printers belong to the GDI printers.
Prerequisites
For the general prerequisites for printing with SuSE Linux, refer to the documentation included in SuSE Linux or to the article SDB:Installing a Printer
Notes:
We cannot guarantee the reliability of the following instructions, because we do not conduct tests for GDI printer drivers.
For some GDI printers there are special driver programs available in the Internet. You may find information regarding GDI printers under the URLs mentioned in the support database article "SDB:Installing a Printer").
Often there are special limitations in GDI printer drivers. Therefore, GDI printers may not work under normal circumstances.
Often GDI printer drivers need special actions to be set up correctly. Therefore it is often not possible to set up the GDI printer with YaST2.
As we do not test GDI printers, we do not include GDI printer drivers into our products because we do not know if the GDI printer drivers would work at all.
Some GDI printer drivers need special actions to be set up that may cause license problems if we had those drivers in our products. We will never risk causing license problems only to have some kind of support for such problematic hardware.
We do not develop any GDI printer drivers because there are hundreds (in fact more than a thousand) printer models that work well for Linux. See the support database article "SDB:Purchasing a Printer and Compatibility.
Procedure for SuSE Linux 7.1 on
From SuSE Linux 7.1 on, the following GDI printers are supported by YaST2's printer configuration (partly monochrome, partly color):
- HP DeskJet 710C, 712C, 720C, 722C, 820C, 1000C, and compatible models. All HP DeskJet models that use the HP GDI printer language HP PPA are supported, too.
- Lexmark 1100, 2030, 2050, 2070, 3200, 5700, 7000, Z11, and all compatible models. However, single models of Lexmark printers are apparently hardly compatible or possess the lowest common denominator (i.e., a common GDI printer language). For instance, Lexmark Z51 works with the Lexmark 7000 driver as opposed to Lexmark Z52, which requires a driver directly from the manufacturer (Lexmark). Drivers from Lexmark are available at http://www.lexmark.com/printers/linuxprinters.html
- Brother HL 720, 730, and compatible models.
The drawback of GDI printer drivers from the manufacturer is that it cannot be guaranteed that they will still work with other (future) Linux versions. On the other hand, printers that "understand" a published standard printer language do not depend on any particular operating system or operating system version.
For compatibility purposes, refer to the article "SDB:Purchasing a Printer and Compatibility" from our support database.
From SuSE Linux 8.0 on
In addition, the following GDI printers are directly supported by YaST2's printer configuration from SuSE Linux 8.0 on (possibly monochrome only):
- Lexmark 1000, 1020, 5000, 7200, Z42, Z43, Z51, and Z52.
- Brother HL 820, 1020, 1040, and MFC-4650, 6550MC, 9050.
- Oki Okipage 4w, 4w+, 6w, 8w, 8w Lite, 8z, 400w, and compatible models.
- Samsung ML-200, 210, 1000, 1010, 1020, 1200, 1210, 1220, 4500, 5080, 6040, and compatible models.
Procedure up to SuSE Linux 7.0:
The following GDI printers are supported up to SuSE Linux version 7.0:
- HP DeskJet 710/720, 820, 1000
- Lexmark 7000, 7200, 5700
- Brother HL 720, 730
- printers compatible with one of the models above
These printers work in monochrome only.
DeskJet 710/720, 820, 1000
Additional prerequisite
The package ppa, series ap, must be installed. If necessary, install this package using YaST or YaST2.
Additional information is available at the web site: http://sourceforge.net/project/?group_id=1322
Configuration:
- Use SETUP (or lprsetup) for the configuration as described in the article SDB:Installing a Printer. Under HEWLETT-PACKARD, select the driver
- ppa720 for a DeskJet 710/720 (and compatible printers)
- ppa820 for a DeskJet 820 (and compatible printers)
- ppa1000 for a DeskJet 1000 (and compatible printers)
Then enter the resolution 600
.
- Select the suitable file
pbm2ppa.conf.hp720
pbm2ppa.conf.hp820
pbm2ppa.conf.hp1000
and copy it from the directory/usr/doc/packages/ppa
or, in SuSE Linux 7.0 or higher, from the directory/usr/share/doc/packages/ppa
to/etc/pbm2ppa.conf
. For example,cp /usr/doc/packages/ppa/pbm2ppa.conf.hp720 /etc/pbm2ppa.conf
or, in the case of SuSE Linux 7.0 or higher,cp /usr/share/doc/packages/ppa/pbm2ppa.conf.hp720 /etc/pbm2ppa.conf
- Adjust the offsets until a correct printout is produced. Wrong offsets result in the printer "hanging" with blinking LEDs during the printing process. If this happens, the printer must be completely switched off and on again. Additional information can be found in the file
/usr/doc/packages/ppa/CALIBRATION
or, in SuSE Linux 7.0 or higher,/usr/share/doc/packages/ppa/CALIBRATION
Repeat the following steps until the print test of a file is successful.- Printout of an A4 test page provided the printer is connected to
/dev/lp0
pbmtpg -a4 | pbm2ppa > /dev/lp0
- Adjustment of the offsets in the file
/etc/pbm2ppa.conf
using an editor, for example:mcedit /etc/pbm2ppa.conf
See below for sample files. - Test printout of a file. For example:
a2ps -1 -M a4dj --borders=yes -o - /etc/pbm2ppa.conf | lpr
You might need to reduce the size of the mediaa4dj
fora2ps
as described in the article SDB:PRINTING: Setting the Page Size of ASCII files.. You may also have to adjust the margin settings in some application programs before you are able to print from them.
- Printout of an A4 test page provided the printer is connected to
Sample values for 720C:
papersize a4 xoff 75 yoff -500 top 0 bottom 0 left 150 right 150
or
papersize a4 xoff 75 yoff -300 top 100 bottom -100 left 150 right 150
Sample values for 710C:
papersize us xoff 75 yoff -500 top 150 bottom 150 left 150 right 150
Sample values for 820C:
xoff 25 yoff -325 top 100 bottom -100 left 250 right 250
or
xoff 0 yoff -325 top 0 bottom 0 left 120 right 160
We would like to thank Clemens Dorda and Thies Freymuth for their feedback and useful information.
Lexmark 7000, 7200, 5700
Additional Prerequisite
The package pbm2l7k (series ap) has to be installed. If necessary, install this package using YaST or YaST2.
Information on model 5700 can be found at http://www.ultranet.com/~setaylor/papers.htm.
Information on model 7000 can be found at http://bimbo.fjfi.cvut.cz/~paluch/l7kdriver/. From SuSE Linux 6.2 on, this driver can be found in the package pbm2l7k
, series ap.
Configuration
Use SETUP (or lprsetup) for the configuration as described in the article SDB:Installing a Printer. Under OTHER, select:
- lex7000 for a Lexmark 7000 (and compatible printers)
- lex7200 for a Lexmark 7200 (and compatible printers)
- lex5700 for a Lexmark 5700 (and compatible printers)
then enter the resolution600
Brother HL 720, 730
Since Ghostscript 5.xx, the driver hl7x0
is available for the Brother HL 720, HL 730, and compatible models. The Brother HL 760 is not a GDI printer. This printer is supported by the Ghostscript driver ljet4
.
We would like to thank Pablo Saratxaga and Ralf Mayer for their input.
SDB:Purchasing a Printer and Compatibility
SDB:PRINTING: Setting the Page Size of ASCII files.
<keyword>gdi,printers,printing,pbm,print</keyword>