(c) Copyright 2000 Matthew J. Gelhaus
All rights reserved.
OverviewThis is a driver for Aladdin Ghostscript to allow full-color printing to Hewlett-Packard DeskJet 880C, 882C, 895C, and possibly other HP 800-series printers. It is based on work done by Uli Wortmann for his DeskJet 850C driver. Uli's driver has recently been admitted into the main Ghostscript distribution. We (Uli and I) are working to merge my code with his, so this driver would become part of Ghostscript as well.
|cdj880||v1.31 - Good text & color, photos
v1.4beta - Photos working, not suitable for text.
|932C||cdj880||??? - probably the same as the 970C below. Please let me know if you try this out!|
Good text & color, photos poor, doesn't use color cartridge optimally.|
v1.4beta - Photos working, not suitable for text. Doesn't use color cartridge optimally.
Regarding the 900-series printers above, I have received reports of it working with the new 970C printer, but I am sure it doesn't take full advantage of that printer's new color cartridge.
BTW, if you are looking for a good list of how various printers are supported under Linux be sure to check out Grant Taylor's Linux Printing HOWTO Database. (Yes, I know his page looks similar to mine. I think he liked the style of my web page. ;-) )
Featuresv1.4beta Yes!!! This is the first version to achieve photo-quality! As you can see by the version number, it is a beta and as such is not complete. Gamma is way off, resulting in photos that are still too dark and contrasty. This version also doesn't use the black cartridge at all (yet). If you are adventurous and/or would like to help improve this driver, check this version out. This version has the best photo output, but is not yet suitable for text output (I still need to work in a true-black/composite-black switch).
v1.31 This driver works pretty well for most tasks. Text and color graphics come out guite good. The main known problem is the dithering for photographs is too coarse, given the capabilities of the printer. For most tasks, except printing of photographs, this driver is an acceptable substitute for the Windows driver. For photographs, this driver is still the best alternative I have found for Ghostscript. This version also has an annoying blinking-light bug (on the printer) after a job is finished, but it doesn't really affect anything. This version currently produces the best text output and good graphics (but not photo) output.
System requirementsThis package requires Aladdin Ghostscript. It will work with all versions >= 5.5, including the latest 6.0 release. It may work with older versions of Ghostscript as well, but I have not tested it. (This might be your excuse to upgrade, anyway!)
Ghostscript is platform independent, but as I use Linux I can give info about the systems I have tested it on. I have successfully tested it on Linux 2.0.30, 2.0.36, and 2.2.5 with both libc5 (2.0 kernels) and glibc (2.2 kernel). I only have an 880C, so I rely on reports from others to confirm it works on other HP DeskJet models.
LicenseUntil now, I have been working under the GNU General Public License, which is a fine open-source license that protects against unethical use of open-source code. Ghostscript is under the Aladdin Free Public License, which unfortunately is incompatible with the GPL. In order to make my code compatible with Ghostscript so it can be included in future distributions, I will be changing the license to the Aladdin Free Public License for the final version 1.4.
DownloadI only provide source code, because I simply don't have time to maintain binaries. If someone wants to contribute binaries, I would be willing to post them here, or provide a link to wherever you wanted to host them.
You may want to shift-click to save the following links directly to a file:
|BETA! Photo-quality, but too dark and contrasty. Composite black, so unsuitable for text. Lays down too much ink. Blinking-light bug finally squashed for good.|
|Excellent text, good graphics, poor photos. Currently the best general-purpose driver.|
InstallationNow that Ghostscript 6.0 includes Uli's driver, installation is a lot easier than it used to be. Along with the instructions, I include an example for Linux (or other versions of Unix).
1. Unpack the Ghostscript distribution according to the official instructions at the Ghostscript home page.
2. Copy the file gdevcd8.c you obtained above into the Ghostscript source directory. (if necessary, unpack the archive first).
3. Edit the file contrib.mak. Find the section for the cdj850 driver (it begins at line 451 for Ghostscript 6.0). Insert the following between the cdj670.dev line and the cdj890.dev line:
$(DD)cdj880.dev : $(cdeskjet8_) $(DD)page.dev $(SETPDEV2) $(DD)cdj880 $(cdeskjet8_)
For your convenience, here is a copy of contrib.mak already edited (for GS 6.0 only!): contrib.mak.
4. Edit the appropriate makefile for your system and add the cdj880 device to one of the DEVICE_DEVS# lines. For example:
5. Build Ghostscript. Refer to the Ghostscript home page if you need instructions.
Example build of Ghostscript 6.0 on Linux:
$ su Password: # cd /usr/local/src # tar zxvf /tmp/ghostscript-6.0.tar.gz # cd gs6.0 # tar zxvf /tmp/ghostscript-6.0jpeg.tar.gz # tar zxvf /tmp/ghostscript-6.0libpng.tar.gz # tar zxvf /tmp/ghostscript-6.0zlib.tar.gz # mv jpeg-6b jpeg # mv libpng-1.0.3 libpng # mv zlib-1.1.3 zlib # cd src # cp /tmp/gdevcd8.c ./ # kwrite contrib.mak
- ...some editing happens...
- ...some editing happens...
UsageThis driver adds the device cdj880. Use the switch -sDEVICE=cdj880 to invoke.
This driver adds a few specific command-line options to Ghostscript:
|-dPapertype||0||0=plain paper, 1=bond paper, 2=special paper, 3=photo paper, 4=transparency|
|-dQuality||1||-1=draft, 0=normal, 1=best|
|-dMasterGamma||1.0||(v1.31) Master gamma value. Must be >1.0 for other gamma values to have an effect.|
|-dGammaValC||0.0||(v1.31) Cyan gamma value.|
|-dGammaValM||0.0||(v1.31) Magenta gamma value.|
|-dGammaValY||0.0||(v1.31) Yellow gamma value.|
Consult the Ghostscript documentation for general usage information about Ghostscript.
Example using the driver in Linux:
$ gs -q -sDEVICE=cdj880 -dNOPAUSE -dSAFER -dBATCH\ -sOutputFile=- test.ps |lpr