SDB:GDI Printers

Şuraya atla: kullan, ara


Version: 1.0 -

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:

  1. 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.

  1. 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
  2. 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.
    1. Printout of an A4 test page provided the printer is connected to /dev/lp0
      pbmtpg -a4 | pbm2ppa > /dev/lp0
    2. Adjustment of the offsets in the file /etc/pbm2ppa.conf using an editor, for example:
      mcedit /etc/pbm2ppa.conf
      See below for sample files.
    3. 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 media a4dj for a2ps 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.

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 resolution
600


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:Installing a Printer

SDB:Purchasing a Printer and Compatibility

SDB:PRINTING: Setting the Page Size of ASCII files.


<keyword>gdi,printers,printing,pbm,print</keyword>