Google

SourceForge Logo hpinkjet.sourceforge.net

Hewlett-Packard Co. Inkjet Driver Project

The Hewlett-Packard Inkjet Driver Project is a add-on to the GNU Ghostscript application. This driver is open source software based on the Hewlett Packard Appliance Printing Development Kit APDK for deskjet printers.

Table of contents


1 Overview

The Hewlett-Packard Inkjet Driver Project (HPIJS) is a add-on printer driver for GNU Ghostscript. This driver is open source software based on the Hewlett-Packard Appliance Printing Development Kit APDK for deskjet printers. The driver will take RGB rasters from Ghostscript and converts them to printer-ready-bits.

Ghostscript uses a generalized IPC interface for HPIJS communications. This interface is called the IJS interface. The IJS interface, which was written by Raph Levien of Ghostscript, was inspired by the first HPIJS interface. The IJS interface can be used by any printer manufacturer.

There are two parts to the IJS interface - IJS client that resides in GNU Ghostscript and the IJS server. The IJS server is built into the printer driver, in our case the HP Inkjet driver. In this document the term IJS server, HPIJS server, HPIJS, or HP Inkjet Driver are all synonymous. They all refer to the same software component. HPIJS runs as a server or co-process to GNU Ghostscript. The server is spawned automatically by GNU Ghostscript. The following figure is a high level overview of the IJS interface between GNU Ghostscript and HPIJS.

GNU Ghostscript is a software application that interprets PostScript and displays the results on the screen or converts the PostScript into a form you can print on a non-PostScript printer.

PostScript is a programming language optimized for printing graphics and text, it is sometimes called a page description language. Most Linux applications support PostScript. Postscript is the standard for printing in any Linux or Unix environment.

Ghostscript supports many output devices, including many different printers. This document addresses how to build, install and use HPIJS with Ghostscript. This document is intended for distributions and experienced users. Other users should refer to their appropriate Linux distribution for HPIJS support.

Although HPIJS runs as a separate process from Ghostscript, HPIJS still looks like just another Ghostscript printer driver. Adding printer drivers is a well documented interface that is described in the GNU Ghostscript documentation at http://www.cs.wisc.edu/~ghost/doc/gnu/index.htm. Together with Ghostscript and HPIJS, PostScript can be converted to a printer language that is compatible with many of the latest HP printer products. See Installation on how to download and install HPIJS.

HPIJS supports both the new IJS interface and the old HPIJS interface. Support for the HPIJS interface is provided for backward compatibility only. All new features will be supported on the IJS interface only. This document only addresses how to use HPIJS using the IJS interface. The old HPIJS interface is defined in the HPIJS 0.97 release. More information on the IJS interface can be found at inkjet-list.

Ghostscript is not a gui application. Ghostscript is a command line application that runs from a Linux shell, similar to a Microsoft DOS command run from a DOS window.

Ghostscript can be used by itself to print to a non-Postscript printer, but generally a print spooler must be used. The print spooler must be configured to use Ghostscript when printing to a non-Postscript printer. Many Linux distributions all ready support HPIJS in their spooler system, see their web site for spooler support questions. Additional information is available at www.linuxprinting.org.


2 License

GNU Ghostscript uses the GNU General Public License (GPL) and the IJS interface uses the MIT License. After HPIJS 1.0.1 the driver uses a BSD license. HPIJS 1.0 and below uses a BSD type license with a "HP product only" clause.

3 System Requirements

HPIJS works with GNU Ghostscript 6.53 or higher. The HPIJS download includes all the necessary files to build the HP Inkjet Driver from source code. Since the current Ghostscript release now has built-in support for the IJS interface, no other Ghostscript files are necessary to run HPIJS.

HPIJS is platform-independent and works on many different Unix and Linux systems. In order to install HPIJS the download includes an automake/autoconf makefile. This portable build procedure requires an ANSI C compiler, ANSI C++ compiler and a POSIX compliant environment.

This version of HPIJS supports both the new IJS interface and the old HPIJS interface. HPIJS requires Ghostscript to support one of these two interfaces.

HPIJS emits standard file output. The output can be directed to a file or to the actual device via the parallel or USB port. Some all-in-one devices, such as OfficeJets require the HP Linux OfficeJet Driver (HPOJ). In this case HPIJS output is sent to HPOJ and then the data is passed to the actual device.

Many platforms (Red Hat, Mandrake, SuSE, Yellow Dog, FreeBSD, Debian, HPUX, AIX, etc) have been confirmed to work, please see those sites for more information.


4 Driver Support

There are currently more than 230 HP printer models supported with HPIJS. HP printer support is defined by the current Hewlett Packard Appliance Printing Development Kit APDK. See the APDK documentation at http://hpapdk.com for more information.

HPIJS supports all the current HP printer models with different Ghostscript command line parameters. Different printer models can be selected with the IEEE 1284 Manufacturer and Model strings. This information can come from the query of a printer over the parallel or usb port.

The following Ghostscript commands are required when using HPIJS.

  -sDEVICE=ijs
  -sIjsServer=hpijs
  -dIjsUseOutputFD
  -sDeviceManufacturer=x   (x equals: "HEWLETT-PACKARD", "HP", "APOLLO")
  -sDeviceModel=x          (x equals: "DESKJET 990", "DESKJET 670", etc...)
The following Ghostscript commands are optional when using HPIJS.
  -dDuplex=false -dTumble=false (none)
  -dDuplex=true  -dTumble=false (book)
  -dDuplex=true  -dTumble=true  (tablet)

  -sIjsParams="Quality:Quality=n,Quality:ColorMode=n,Quality:MediaType=n,
               Quality:PenSet=n,Quality:FullBleed=n,PS:MediaPosition=n"

      Quality equals: 0=normal (default), 1=draft, 2=best, 3=hires
      ColorMode equals: 0=grey_k, 1=grey_cmy, 2=color (default)
      MediaType equals: 0=plain (default), 1=premium, 2=photo
      PenSet equals: 0=black_pen, 1=color_pen, 2=both_pens, 3=mdl_pen, 4=mdl_both
      FullBleed equals: 0=no (default), 1=yes
      MediaPosition equals: 1=upper_tray, 4=lower_tray, 7=autoselect (default) 
PenSet Definitions
  black_pen: only black pen in the printer
  color_pen: only color pen in the printer
  both_pens: black & color pens in printer
  mdl_pen: photo pen in the printer
  mdl_both: color pin and photo pen in printer
Note, there are defaults for all optional commands. PenSet default is defined by each device class.

The Quality, MediaType, ColorMode, PenSet and FullBleed are used to set the print mode. Not all combinations of Quality, MediaType, ColorMode, PenSet and FullBleed are valid print modes. If an invalid print mode is set, the job will still print, because HPIJS will default to a print mode that makes sense given the input. HPIJS will send any error message to stderr and syslog. Print modes are device class specific, see the following device descriptions for more details.

MediaPosition can be any valid PCL Media Source value. MediaPositon defaults to "autoselect" which means the printer will decide which tray to use. MediaPosition is recognized by DJ9xxVIP, DJGenericVIP and HP LaserJet only. All other device classes ignore this command.

4.1 Device Descriptions

HPIJS is a monolithic driver that supports many different printers. Common printers are divided into different device classes. Each device class share common printer attributes such as print modes and paper sizes. HPIJS will automatically map the DeviceModel parameter to one of the devices classes.

The following devices classes are currently supported by HPIJS. Each device class support 300x300dpi unless specified otherwise. The DeviceModel parameters listed for each device class are case sensitive.

  • DeskJet 350 series (DJ350) - The DJ350 device class only supports one pen at a time. Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 350 
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
       Normal Grayscale
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=1
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=0
    

  • DeskJet 540 series (DJ540) - The DJ540 device class targets the DeskJet 540, but it should work for any DeskJet 500 and Deskjet 400 series. OfficeJet LX and OfficeJet Series 300 only support grayscale. This device class only supports one pen at a time. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 540
         OfficeJet (OfficeJet LX) 
         OfficeJet Series 300
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
       Normal Grayscale
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=1
    

  • DeskJet 630C series (DJ630) - The DJ630 device class will support single pen printing. Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 630
         DESKJET 632
         DESKJET 656
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2
       Normal Grayscale
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color
         Quality=0 ColorMode=2 MediaType=0 PenSet=1 (default)	    
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=0
       Photo 
         Quality=2 ColorMode=2 MediaType=1 PenSet=4	    
    

  • DeskJet 600C series (DJ6xx) - Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 600
         DESKJET 660
         DESKJET 670
         DESKJET 672
         DESKJET 670
         DESKJET 680
         DESKJET 682
         e-printer e20
         OfficeJet Series 500
         OfficeJet Series 600
         OfficeJet Series 700
         Printer/Scanner/Copier 300
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=2
    

  • DeskJet 600C series photo (DJ6xxPhoto) - Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 610
         DESKJET 612
         DESKJET 640
         DESKJET 648
         DESKJET 690
         DESKJET 692
         DESKJET 693
         DESKJET 694
         DESKJET 695
         DESKJET 697
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=2
       Photo 
         Quality=2 ColorMode=2 MediaType=1 PenSet=4	    
    

  • DeskJet 800C series (DJ8xx) - Resolution setting 600x600 is available for Normal Grayscale and Photo modes. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 810
         DESKJET 812
         DESKJET 815
         DESKJET 816
         DESKJET 830
         DESKJET 832
         DESKJET 840
         DESKJET 842
         DESKJET 880
         DESKJET 882
         DESKJET 895
         OFFICEJET R
         OfficeJet T
         PSC 500
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Photo 
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	    
    

  • Deskjet 825 series (DJ8x5) - Resolution setting 600x600 is available for Normal Grayscale and Photo modes. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 825
         DESKJET 845
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=1	    
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color
         Quality=0 ColorMode=2 MediaType=0 PenSet=1 (default)	    
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Photo 
         Quality=2 ColorMode=2 MediaType=2 PenSet=1	    
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	    
    

  • DeskJet 850C series (DJ850) - Resolution setting 600x600 is available for Normal Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 850
         DESKJET 855
         DESKJET 870
         OFFICEJET PRO 1150
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
    

  • DeskJet 890C series (DJ890) - Resolution setting 600x600 is available for Normal Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         DESKJET 890
         OFFICEJET PRO 1170/1175
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
    

  • DeskJet 900C series (DJ9xx) - For the DJ9xx device class, HiRes is another photo mode which supports 1200x1200 dpi. Resolution setting 600x600 is available for Normal Grayscale, Best Color and Photo modes. Resolution setting 1200x1200 is available for HiRes mode.

    Duplex printing is supported. Duplex is not available in Photo mode or HiRes.

    Note, the Deskjet 1120/1125 series does not suport Best Color, Photo or HiRes modes.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         DESKJET 916
         DESKJET 920
         DESKJET 930
         DESKJET 932
         DESKJET 940
         DESKJET 948
         DESKJET 950
         DESKJET 952
         DESKJET 957 
         DESKJET 959
         DESKJET 970
         DESKJET 975
         DESKJET 1120
         DESKJET 1125
         DESKJET 1220
         DESKJET 3810
         DESKJET 3816
         DESKJET 3820
         DESKJET 3822
         hp deskjet 9300
         PHOTOSMART P1000
         PHOTOSMART P1100
         OfficeJet K
         OfficeJet V
         OfficeJet G
         officejet 5100 series
         PSC 750
         PSC 900
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	    
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Color
         Quality=2 ColorMode=2 MediaType=0 PenSet=2	    
       Photo 
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	    
       HiRes 
         Quality=3 ColorMode=2 MediaType=2 PenSet=2	    
    

  • DeskJet 990C series (DJ9xxVIP) - In Draft and Normal modes the DJ9xxVIP device class will detect photo paper and automatically print in Photo mode. HiRes is another photo mode which supports the maximum resolution of the printer. HiRes mode does not do auto media detection. Resolution setting 600x600 is available for Normal modes. Resolution setting 1200x1200 is available for HiRes mode.

    Duplex printing is supported. Duplex is not available in HiRes mode.

    Note, the HP Business Inkjet 2200 series does not support HiRes mode and auto media detection. Photo mode was added for these printers.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         DESKJET 960
         DESKJET 980
         DESKJET 990
         DESKJET 995
         deskjet 6122
         deskjet 6127
         PHOTOSMART 1115
         PHOTOSMART 1215
         PHOTOSMART 1218
         PHOTOSMART 1315
         cp1160
         HP Color Inkjet CP1700
         hp business inkjet 1100
         HP BUSINESS INKJET 2200
         HP BUSINESS INKJET 2230
         HP BUSINESS INKJET 2250
         HP BUSINESS INKJET 2280
         officejet d
         officejet 7100
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	 
       Photo
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	 
       HiRes
         Quality=3 ColorMode=2 MediaType=2 PenSet=2	    
    

  • DeskJet 3320 series (DJ3320) - The DJ3320 device class will support single pen printing. Resolution setting 600x600 is available for Normal and Photo modes.

    The 3320 series handles pen alignment parameters differently than normal HP inkjet printers. Most inkjets store pen alignment parameters in the printer and any pen alignment values would be used by printer firmware. For the 3320 pen alignment parameters are stored in the printer, but any pen alignment would be performed by the device class.

    Currently the DJ3320 device class does not use pen alignment parameters stored in the printer. This could be a issue with two pen color print modes - Draft Color and Normal Color (KCMY). This is not a problem for two pen Photo mode (mostly CMY).

    If there are pen alignment issues with two pen color printing, use a single pen color print mode (ie: PenSet=1). We are currently evaluating pen alignment options and expect to address this issue in a future release.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         deskjet 3320
         deskjet 3420
         deskjet 3425
         deskjet 3500
         officejet 4100
         officejet 4200
         psc 1100 series
         psc 1200 series
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color 
         Quality=0 ColorMode=2 MediaType=0 PenSet=1
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	(default)
       Photo
         Quality=2 ColorMode=2 MediaType=2 PenSet=1
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	    
    

  • DeskJet 3600 series (DJ3600) - The DJ3600 device class supports full bleed (borderless) printing. DJ3600 is backward compatable with DJ3320. This means all DJ3320 caveats apply to DJ3600. Resolution setting 600x600 is available for Normal and Photo modes. The photo pen is also supported.

    Full bleed support is paper size specific. Full bleed is only available for paper sizes Oufuku-Hagaki or smaller.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         deskjet 3600
         officejet 5500
         psc 1300
         psc 1310
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
       Normal Color 
         Quality=0 ColorMode=2 MediaType=0 PenSet=1
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	(default)
       Photo
         Quality=2 ColorMode=2 MediaType=2 PenSet=1
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	    
         Quality=2 ColorMode=2 MediaType=2 PenSet=4	    
    

  • DeskJet 5550 series (DJGenericVIP) - The DJGenericVIP device class supports full bleed (borderless) printing. Single pen printing is supported, but this is independent of the driver. DJGenericVIP is backward compatable with DJ9xxVIP.

    In Draft and Normal modes the DJGenericVIP device class will detect photo paper and automatically print in Photo mode. HiRes is another photo mode which supports the maximum resolution of the printer. HiRes mode does not do auto media detection. Resolution setting 600x600 is available for Normal modes. Resolution setting 1200x1200 is available for HiRes mode.

    Duplex printing is supported. Duplex is not available in HiRes mode.

    Note, the Deskjet 450 does not support auto media detection and full bleed. Use Photo or HiRes mode for photo media.

    Full bleed support is paper size specific. Full bleed is only available for paper sizes Oufuku-Hagaki or smaller.

    Current full bleed support is 3-sided. We are currently evaluating 4-sided large paper size or smaller full bleed support (ie: Deskjet 5100/5600) and expect to address this issue in a future release.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         dj450
         deskjet 5100
         deskjet 5550
         deskjet 5551
         deskjet 5600
         deskjet 5800
         deskjet 9600
         photosmart 7150
         photosmart 7260
         photosmart 7268
         photosmart 7345
         photosmart 7350
         photosmart 7550
         photosmart 7660
         photosmart 7760
         photosmart 7960
         OfficeJet 6100
         OfficeJet 6150
         PSC 2100
         PSC 2150
         PSC 2170
         PSC 2200
         psc 2300
         psc 2400
         psc 2500
    
       Draft Grayscale 
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color 
         Quality=1 ColorMode=2 MediaType=0 PenSet=2	
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	 
       Photo
         Quality=2 ColorMode=2 MediaType=2 PenSet=2	 
       HiRes
         Quality=3 ColorMode=2 MediaType=2 PenSet=2	    
    

  • Apollo 2000 series (AP2xxx) - The AP2xxx device class will support single color pen printing. Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         APOLLO P-22 (Apollo 2200/2250)
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color 
         Quality=0 ColorMode=2 MediaType=0 PenSet=1	(default)    
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=2
       Photo
         Quality=2 ColorMode=2 MediaType=1 PenSet=4	    
    

  • Apollo 2100 series (AP21xx) - The AP21xx device class will support single color pen printing. Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         P-2000U (Apollo 2100/2150)
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color 
         Quality=0 ColorMode=2 MediaType=0 PenSet=1	(default)    
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=2
       Photo
         Quality=2 ColorMode=2 MediaType=1 PenSet=4	    
    

  • Apollo 2560 series (AP2560) - The AP2560 device class will support single color pen printing. Resolution setting 600x300 is required for Best Grayscale mode. The following options can be selected with Ghostscript commands.
       DeviceModel
         APOLLO P2500/2600
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=1
         Quality=1 ColorMode=2 MediaType=0 PenSet=2
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color 
         Quality=0 ColorMode=2 MediaType=0 PenSet=1	(default)    
         Quality=0 ColorMode=2 MediaType=0 PenSet=2	    
       Best Grayscale
         Quality=2 ColorMode=0 MediaType=0 PenSet=2
       Photo
         Quality=2 ColorMode=2 MediaType=1 PenSet=4	    
    

  • Photosmart 100 series (PS100) - The PS100 device class supports full bleed (borderless) photo printing and only uses the color pen. In Normal mode the 100 series printers will detect photo paper and automatically print in Photo mode. HiRes is another photo mode which supports the maximum resolution of the printer. HiRes mode does not do auto media detection like Normal mode. Resolution setting 600x600 is available for Normal mode. Resolution setting 1200x1200 is available for HiRes mode.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         PHOTOSMART 100
         PHOTOSMART 130
         photosmart 140
         PHOTOSMART 230
         photosmart 240     
    
       Normal (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=1 FullBleed=1	    
       HiRes 
         Quality=3 ColorMode=2 MediaType=2 PenSet=1 FullBleed=1	    
    
  • LaserJet Monochrome series (LJMono) - This device class provides PCL monochrome support for HP LaserJets. The LJMono device class targets PCL only HP LaserJets, but it should work on all HP LaserJets that support PCL.

    The paper input tray can be selected with the MediaPosition command. Duplex printing is supported.

    Resolution setting 600x600 is available for Normal mode.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         HP LaserJet 1100
         hp LaserJet 1150
         HP LaserJet 2100
         HP LaserJet 4
         HP LaserJet 5
         HP LaserJet 6
         HP LaserJet 3200
    
       Draft
         Quality=1 ColorMode=0 MediaType=0 PenSet=0
       Normal (default)
         Quality=0 ColorMode=0 MediaType=0 PenSet=0
    
  • LaserJet Color series (LJColor) - This device class provides PCL color HP LaserJet support. The LJColor device class targets PCL only HP LaserJets, but it should work on all HP Color LaserJets that support PCL.

    The paper input tray can be selected with the MediaPosition command. Duplex printing is supported.

    Maximum resolution setting for Draft Color is 150x150. Resolution setting 600x600 is available for Normal Grayscale and Best Color modes.

    The following options can be selected with Ghostscript commands.

       DeviceModel
         hp color LaserJet 5500
         hp business inkjet 2300
         hp business inkjet 3000
         hp officejet 9100
    
       Draft Grayscale
         Quality=1 ColorMode=0 MediaType=0 PenSet=2
       Draft Color
         Quality=1 ColorMode=2 MediaType=0 PenSet=2
       Normal Grayscale 
         Quality=0 ColorMode=0 MediaType=0 PenSet=2
       Normal Color (default)
         Quality=0 ColorMode=2 MediaType=0 PenSet=2
       Best Color
         Quality=2 ColorMode=2 MediaType=0 PenSet=2
    
Note, the DeviceModel parameters listed above for each device class are not the full Model string returned by a IEEE 1284 Device ID query. When HPIJS maps the DeviceModel to a device class, the match is wild-carded and trailing characters are ignored.

For example, a Device ID query on a Deskjet 990Cxi will return "DESKJET 990C". If DeviceModel="DESKJET 990C", HPIJS will match to "DESKJET 99", ignore the "0C" and select the DJ9xxVIP device class. See the proxy table for each device class (ie: dj9xxvip.cpp) for a list of model strings and how they are wild-carded.

4.2 Paper Sizes

For device classes that support PCL encapsulation, the paper size command is determined automatically. HPIJS selects the paper size based on the physical paper size set by Ghostscript. The following standard paper sizes are supported by HPIJS.
                              inches:      postscript units:
  1. Letter                  8.5 x 11          612 x 792
  2. Legal                   8.5 x 14          612 x 1008
  3. Ledger                   11 x 17          792 x 1224
  4. Executive              7.25 x 10.5        522 x 756
  5. A3                    11.69 x 16.53       842 x 1190
  6. A4                     8.27 x 11.69       595 x 842
  7. A5                     5.83 x 8.27        420 x 595
  8. A6                     4.13 x 5.83        297 x 420 
  9. Photo                     4 x 6           288 x 432 
 10. B4                   10.126 x 14.342      729 x 1033 
 11. B5                     7.17 x 10.126      516 x 729
 12. Oufuku-Hagaki          5.83 x 7.87        420 x 567
 13. Hagaki                 3.94 x 5.83        284 x 420
 14. Super B                  13 x 19          936 x 1368
 15. Flsa                    8.5 x 13          612 x 936
 16. Number 10 Envelope     4.12 x 9.5         297 x 684
 17. A2 Envelope            4.37 x 5.75        315 x 414
 18. C6 Envelope            4.49 x 6.38        323 x 459
 19. DL Envelope            4.33 x 8.66        312 x 624
 20. Japanese Envelope #3   4.72 x 9.25        340 x 666
 21. Japanese Envelope #4   3.54 x 8.07        255 x 581

If the paper size is not one of the above standard papers sizes HPIJS will default to a custom paper size. Most printers are capable of printing custom-sized media of any dimension provided it conforms to the minimum and maximum paper size definition in the product specification. For example on a Deskjet 990, the minimum paper size is 3x5 inches and the maximum paper size is 8.5x14 inches.

All device classes support custom papers sizes. Although HPIJS does not explicitly support the following printer models, custom-sized media are not supported on - DJ340, DJ500, DJ500C, DJ510, DJ520, DJ550C and DJ560C.


4.3 Printable Area

Printable area or margins are device class and print mode dependent. For example inkjet products, when Duplex mode is set the top margin is set to 1/2 inch. Normally the top margin is 1/8 inch. Laserjet products do not have different margins during duplex. Printers that support full bleed will require a slightly oversize printable width and height to account for over spray and paper skew.

The printable area values are available over the IJS interface. Ghostscript uses this data during postscript to raster conversion.

The following table lists the physical printable area for all paper sizes supported by HPIJS. Custom (8.5 x 12) is a custom paper size example.

Device Class Paper (inches) Normal Duplex Full Bleed
Left Top Width Height Left Top Width Height Left Top Width Height
DJ350
DJ540
DJ630
DJ6xx
DJ6xxPhoto
AP2xxx
AP21xx
AP2560
Letter (8.5x11) 0.25 0.125 8 10.205 n/a n/a n/a n/a n/a n/a n/a n/a
A4 (8.27x11.69) 0.135 0.125 8 10.895 n/a n/a n/a n/a n/a n/a n/a n/a
Legal (8.5x14) 0.25 0.125 8 13.205 n/a n/a n/a n/a n/a n/a n/a n/a
Photo (4x6) 0.25 0.125 3.5 5.205 n/a n/a n/a n/a n/a n/a n/a n/a
A6 (4.13x5.83) 0.25 0.125 3.63 5.035 n/a n/a n/a n/a n/a n/a n/a n/a
B4 (10.126x14.342) 0.25 0.125 9.626 13.547 n/a n/a n/a n/a n/a n/a n/a n/a
B5 (7.17x10.126) 0.25 0.125 6.67 9.331 n/a n/a n/a n/a n/a n/a n/a n/a
Oufuku-Hagaki (5.83x7.87) 0.25 0.125 5.33 7.075 n/a n/a n/a n/a n/a n/a n/a n/a
Hagaki (3.94x5.83) 0.25 0.125 3.44 5.035 n/a n/a n/a n/a n/a n/a n/a n/a
A3 (11.69x16.53) 0.25 0.125 11.19 15.735 n/a n/a n/a n/a n/a n/a n/a n/a
A5 (5.83x8.27) 0.25 0.125 5.33 7.475 n/a n/a n/a n/a n/a n/a n/a n/a
Ledger (11x17) 0.25 0.125 10.5 16.205 n/a n/a n/a n/a n/a n/a n/a n/a
Super B (13x19) 0.25 0.125 12.5 18.205 n/a n/a n/a n/a n/a n/a n/a n/a
Executive (7.25x10.5) 0.25 0.125 6.75 9.705 n/a n/a n/a n/a n/a n/a n/a n/a
Flsa (8.5x13) 0.25 0.125 8 12.205 n/a n/a n/a n/a n/a n/a n/a n/a
Custom (8.5x12) 0.25 0.125 8 11.205 n/a n/a n/a n/a n/a n/a n/a n/a
Number 10 Envelope (4.12x9.5) 0.25 0.125 3.62 8.705 n/a n/a n/a n/a n/a n/a n/a n/a
A2 Envelope (4.37x5.75) 0.25 0.125 3.87 4.955 n/a n/a n/a n/a n/a n/a n/a n/a
C6 Envelope (4.49x6.38) 0.25 0.125 3.99 5.585 n/a n/a n/a n/a n/a n/a n/a n/a
DL Envelope (4.33x8.66) 0.25 0.125 3.83 7.865 n/a n/a n/a n/a n/a n/a n/a n/a
Japanese Envelope #3 (4.72x9.25) 0.25 0.125 4.22 8.455 n/a n/a n/a n/a n/a n/a n/a n/a
Japanese Envelope #4 (3.54x8.07) 0.25 0.125 3.04 7.275 n/a n/a n/a n/a n/a n/a n/a n/a
DJ8xx
DJ8x5
DJ850
DJ890
DJ3320
Letter (8.5x11) 0.25 0.125 8 10.375 n/a n/a n/a n/a n/a n/a n/a n/a
A4 (8.27x11.69) 0.135 0.125 8 11.065 n/a n/a n/a n/a n/a n/a n/a n/a
Legal (8.5x14) 0.25 0.125 8 13.375 n/a n/a n/a n/a n/a n/a n/a n/a
Photo (4x6) 0.125 0.125 3.75 5.75 n/a n/a n/a n/a n/a n/a n/a n/a
A6 (4.13x5.83) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a n/a n/a n/a n/a
B4 (10.126x14.342) 0.25 0.125 9.626 13.717 n/a n/a n/a n/a n/a n/a n/a n/a
B5 (7.17x10.126) 0.25 0.125 6.67 9.5 n/a n/a n/a n/a n/a n/a n/a n/a
Oufuku-Hagaki (5.83x7.87) 0.25 0.125 5.33 7.37 n/a n/a n/a n/a n/a n/a n/a n/a
Hagaki (3.94x5.83) 0.125 0.125 3.69 5.58 n/a n/a n/a n/a n/a n/a n/a n/a
A3 (11.69x16.53) 0.2 0.125 11.29 15.905 n/a n/a n/a n/a n/a n/a n/a n/a
A5 (5.83x8.27) 0.125 0.125 5.58 7.645 n/a n/a n/a n/a n/a n/a n/a n/a
Ledger (11x17) 0.2 0.125 10.6 16.375 n/a n/a n/a n/a n/a n/a n/a n/a
Super B (13x19) 0.2 0.125 12.6 18.375 n/a n/a n/a n/a n/a n/a n/a n/a
Executive (7.25x10.5) 0.25 0.125 6.75 9.875 n/a n/a n/a n/a n/a n/a n/a n/a
Flsa (8.5x13) 0.25 0.125 8 12.375 n/a n/a n/a n/a n/a n/a n/a n/a
Custom (8.5x12) 0.25 0.125 8 11.375 n/a n/a n/a n/a n/a n/a n/a n/a
Number 10 Envelope (4.12x9.5) 0.1225 0.125 3.875 8.875 n/a n/a n/a n/a n/a n/a n/a n/a
A2 Envelope (4.37x5.75) 0.125 0.125 4.12 5.125 n/a n/a n/a n/a n/a n/a n/a n/a
C6 Envelope (4.49x6.38) 0.125 0.125 4.24 5.755 n/a n/a n/a n/a n/a n/a n/a n/a
DL Envelope (4.33x8.66) 0.125 0.125 4.08 8.035 n/a n/a n/a n/a n/a n/a n/a n/a
Japanese Envelope #3 (4.72x9.25) 0.125 0.125 4.47 8.625 n/a n/a n/a n/a n/a n/a n/a n/a
Japanese Envelope #4 (3.54x8.07) 0.125 0.125 3.29 7.445 n/a n/a n/a n/a n/a n/a n/a n/a
DJ9xx
DJ9xxVIP
Letter (8.5x11) 0.25 0.125 8 10.375 0.25 0.5 8 10 n/a n/a n/a n/a
A4 (8.27x11.69) 0.135 0.125 8 11.065 0.135 0.5 8 10.69 n/a n/a n/a n/a
Legal (8.5x14) 0.25 0.125 8 13.375 0.25 0.5 8 13 n/a n/a n/a n/a
Photo (4x6) 0.125 0.125 3.75 5.75 0.125 0.5 3.75 5 n/a n/a n/a n/a
A6 (4.13x5.83) 0.125 0.125 3.88 5.205 0.125 0.5 3.88 4.83 n/a n/a n/a n/a
B4 (10.126x14.342) 0.25 0.125 9.626 13.717 0.25 0.5 9.626 13.342 n/a n/a n/a n/a
B5 (7.17x10.126) 0.25 0.125 6.67 9.5 0.25 0.5 6.67 9.126 n/a n/a n/a n/a
Oufuku-Hagaki (5.83x7.87) 0.25 0.125 5.33 7.37 0.25 0.5 5.33 6.87 n/a n/a n/a n/a
Hagaki (3.94x5.83) 0.125 0.125 3.69 5.58 0.125 0.5 3.69 4.83 n/a n/a n/a n/a
A3 (11.69x16.53) 0.2 0.125 11.29 15.905 0.2 0.5 11.29 15.53 n/a n/a n/a n/a
A5 (5.83x8.27) 0.125 0.125 5.58 7.645 0.125 0.5 5.58 7.27 n/a n/a n/a n/a
Ledger (11x17) 0.2 0.125 10.6 16.375 0.2 0.5 10.6 16 n/a n/a n/a n/a
Super B (13x19) 0.2 0.125 12.6 18.375 0.2 0.5 12.6 18 n/a n/a n/a n/a
Executive (7.25x10.5) 0.25 0.125 6.75 9.875 0.25 0.5 6.75 9.5 n/a n/a n/a n/a
Flsa (8.5x13) 0.25 0.125 8 12.375 0.25 0.5 8 12 n/a n/a n/a n/a
Custom (8.5x12) 0.25 0.125 8 11.375 0.25 0.5 8 11 n/a n/a n/a n/a
Number 10 Envelope (4.12x9.5) 0.1225 0.125 3.875 8.875 0.1225 0.5 3.875 8.5 n/a n/a n/a n/a
A2 Envelope (4.37x5.75) 0.125 0.125 4.12 5.125 0.125 0.5 4.12 4.75 n/a n/a n/a n/a
C6 Envelope (4.49x6.38) 0.125 0.125 4.24 5.755 0.125 0.5 4.24 5.38 n/a n/a n/a n/a
DL Envelope (4.33x8.66) 0.125 0.125 4.08 8.035 0.125 0.5 4.08 7.66 n/a n/a n/a n/a
Japanese Envelope #3 (4.72x9.25) 0.125 0.125 4.47 8.625 0.125 0.5 4.47 8.25 n/a n/a n/a n/a
Japanese Envelope #4 (3.54x8.07) 0.125 0.125 3.29 7.445 0.125 0.5 3.29 7.07 n/a n/a n/a n/a
DJ3600 Letter (8.5x11) 0.25 0.125 8 10.375 n/a n/a n/a n/a 0.25 0.125 8 10.375
A4 (8.27x11.69) 0.135 0.125 8 11.065 n/a n/a n/a n/a 0.135 0.125 8 11.065
Legal (8.5x14) 0.25 0.125 8 13.375 n/a n/a n/a n/a 0.25 0.125 8 13.375
Photo (4x6) 0.125 0.125 3.75 5.75 n/a n/a n/a n/a 0 0 4.216 6.174
A6 (4.13x5.83) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.346 5.33
B4 (10.126x14.342) 0.25 0.125 9.626 13.717 n/a n/a n/a n/a 0.25 0.125 9.626 13.717
B5 (7.17x10.126) 0.25 0.125 6.67 9.5 n/a n/a n/a n/a 0.25 0.125 6.67 9.5
Oufuku-Hagaki (5.83x7.87) 0.25 0.125 5.33 7.37 n/a n/a n/a n/a 0 0 6.046 7.37
Hagaki (3.94x5.83) 0.125 0.125 3.69 5.58 n/a n/a n/a n/a 0 0 4.156 5.33
A3 (11.69x16.53) 0.2 0.125 11.29 15.905 n/a n/a n/a n/a 0.2 0.125 11.29 15.905
A5 (5.83x8.27) 0.125 0.125 5.58 7.645 n/a n/a n/a n/a 0.125 0.125 5.58 7.645
Ledger (11x17) 0.2 0.125 10.6 16.375 n/a n/a n/a n/a 0.2 0.125 10.6 16.375
Super B (13x19) 0.2 0.125 12.6 18.375 n/a n/a n/a n/a 0.2 0.125 12.6 18.375
Executive (7.25x10.5) 0.25 0.125 6.75 9.875 n/a n/a n/a n/a 0.25 0.125 6.75 9.875
Flsa (8.5x13) 0.25 0.125 8 12.375 n/a n/a n/a n/a 0.25 0.125 8 12.375
Custom (8.5x12) 0.25 0.125 8 11.375 n/a n/a n/a n/a 0.25 0.125 8 11.375
Number 10 Envelope (4.12x9.5) 0.1225 0.125 3.875 8.875 n/a n/a n/a n/a 0.1225 0.125 3.875 8.875
A2 Envelope (4.37x5.75) 0.125 0.125 4.12 5.125 n/a n/a n/a n/a 0.125 0.125 4.12 5.125
C6 Envelope (4.49x6.38) 0.125 0.125 4.24 5.755 n/a n/a n/a n/a 0.125 0.125 4.24 5.755
DL Envelope (4.33x8.66) 0.125 0.125 4.08 8.035 n/a n/a n/a n/a 0.125 0.125 4.08 8.035
Japanese Envelope #3 (4.72x9.25) 0.125 0.125 4.47 8.625 n/a n/a n/a n/a 0.125 0.125 4.47 8.625
Japanese Envelope #4 (3.54x8.07) 0.125 0.125 3.29 7.445 n/a n/a n/a n/a 0.125 0.125 3.29 7.445
DJGenericVIP Letter (8.5x11) 0.25 0.125 8 10.375 0.25 0.5 8 10 0.25 0.125 8 10.375
A4 (8.27x11.69) 0.135 0.125 8 11.065 0.135 0.5 8 10.69 0.135 0.125 8 11.065
Legal (8.5x14) 0.25 0.125 8 13.375 0.25 0.5 8 13 0.25 0.125 8 13.375
Photo (4x6) 0.125 0.125 3.75 5.75 0.125 0.5 3.75 5 0 0 4.12 6.06
A6 (4.13x5.83) 0.125 0.125 3.88 5.205 0.125 0.5 3.88 4.83 0 0 4.25 5.33
B4 (10.126x14.342) 0.25 0.125 9.626 13.717 0.25 0.5 9.626 13.342 0.25 0.125 9.626 13.717
B5 (7.17x10.126) 0.25 0.125 6.67 9.5 0.25 0.5 6.67 9.126 0.25 0.125 6.67 9.5
Oufuku-Hagaki (5.83x7.87) 0.25 0.125 5.33 7.37 0.25 0.5 5.33 6.87 0 0 5.95 7.37
Hagaki (3.94x5.83) 0.125 0.125 3.69 5.58 0.125 0.5 3.69 4.83 0 0 4.06 5.33
A3 (11.69x16.53) 0.2 0.125 11.29 15.905 0.2 0.5 11.29 15.53 0.2 0.125 11.29 15.905
A5 (5.83x8.27) 0.125 0.125 5.58 7.645 0.125 0.5 5.58 7.27 0.125 0.125 5.58 7.645
Ledger (11x17) 0.2 0.125 10.6 16.375 0.2 0.5 10.6 16 0.2 0.125 10.6 16.375
Super B (13x19) 0.2 0.125 12.6 18.375 0.2 0.5 12.6 18 0.2 0.125 12.6 18.375
Executive (7.25x10.5) 0.25 0.125 6.75 9.875 0.25 0.5 6.75 9.5 0.25 0.125 6.75 9.875
Flsa (8.5x13) 0.25 0.125 8 12.375 0.25 0.5 8 12 0.25 0.125 8 12.375
Custom (8.5x12) 0.25 0.125 8 11.375 0.25 0.5 8 11 0.25 0.125 8 11.375
Number 10 Envelope (4.12x9.5) 0.1225 0.125 3.875 8.875 0.1225 0.5 3.875 8.5 0.1225 0.125 3.875 8.875
A2 Envelope (4.37x5.75) 0.125 0.125 4.12 5.125 0.125 0.5 4.12 4.75 0.125 0.125 4.12 5.125
C6 Envelope (4.49x6.38) 0.125 0.125 4.24 5.755 0.125 0.5 4.24 5.38 0.125 0.125 4.24 5.755
DL Envelope (4.33x8.66) 0.125 0.125 4.08 8.035 0.125 0.5 4.08 7.66 0.125 0.125 4.08 8.035
Japanese Envelope #3 (4.72x9.25) 0.125 0.125 4.47 8.625 0.125 0.5 4.47 8.25 0.125 0.125 4.47 8.625
Japanese Envelope #4 (3.54x8.07) 0.125 0.125 3.29 7.445 0.125 0.5 3.29 7.07 0.125 0.125 3.29 7.445
PS100 Letter (8.5x11) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
A4 (8.27x11.69) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Legal (8.5x14) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Photo (4x6) 0.125 0.125 3.75 5.75 n/a n/a n/a n/a 0 0 4.12 6.06
A6 (4.13x5.83) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
B4 (10.126x14.342) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
B5 (7.17x10.126) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Oufuku-Hagaki (5.83x7.87) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Hagaki (3.94x5.83) 0.125 0.125 3.69 5.58 n/a n/a n/a n/a 0 0 4.06 5.33
A3 (11.69x16.53) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
A5 (5.83x8.27) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Ledger (11x17) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Super B (13x19) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Executive (7.25x10.5) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Flsa (8.5x13) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Custom (8.5x12) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Number 10 Envelope (4.12x9.5) 0.1225 0.125 3.875 8.875 n/a n/a n/a n/a 0 0 4.24 9
A2 Envelope (4.37x5.75) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
C6 Envelope (4.49x6.38) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
DL Envelope (4.33x8.66) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Japanese Envelope #3 (4.72x9.25) 0.125 0.125 3.88 5.205 n/a n/a n/a n/a 0 0 4.25 5.33
Japanese Envelope #4 (3.54x8.07) 0.125 0.125 3.29 7.445 n/a n/a n/a n/a 0 0 3.66 7.57
LJMono
LJColor
Letter (8.5x11) 0.25 0.2 8 10.6 0.25 0.2 8 10.6 n/a n/a n/a n/a
A4 (8.27x11.69) 0.25 0.2 7.77 11.29 0.25 0.2 7.77 11.29 n/a n/a n/a n/a
Legal (8.5x14) 0.25 0.2 8 13.6 0.25 0.2 8 13.6 n/a n/a n/a n/a
Photo (4x6) 0.25 0.2 3.5 5.6 0.25 0.2 3.5 5.6 n/a n/a n/a n/a
A6 (4.13x5.83) 0.25 0.2 3.63 5.43 0.25 0.2 3.63 5.43 n/a n/a n/a n/a
B4 (10.126x14.342) 0.25 0.2 9.626 13.942 0.25 0.2 9.626 13.942 n/a n/a n/a n/a
B5 (7.17x10.126) 0.25 0.2 6.67 9.726 0.25 0.2 6.67 9.726 n/a n/a n/a n/a
Oufuku-Hagaki (5.83x7.87) 0.25 0.2 5.33 7.47 0.25 0.2 5.33 7.47 n/a n/a n/a n/a
Hagaki (3.94x5.83) 0.25 0.2 3.44 5.43 0.25 0.2 3.44 5.43 n/a n/a n/a n/a
A3 (11.69x16.53) 0.25 0.2 11.19 16.13 0.25 0.2 11.19 16.13 n/a n/a n/a n/a
A5 (5.83x8.27) 0.25 0.2 5.33 7.87 0.25 0.2 5.33 7.87 n/a n/a n/a n/a
Ledger (11x17) 0.25 0.2 10.5 16.6 0.25 0.2 10.5 16.6 n/a n/a n/a n/a
Super B (13x19) 0.25 0.2 12.5 18.6 0.25 0.2 12.5 18.6 n/a n/a n/a n/a
Executive (7.25x10.5) 0.25 0.2 6.75 10.1 0.25 0.2 6.75 10.1 n/a n/a n/a n/a
Flsa (8.5x13) 0.25 0.2 8 12.6 0.25 0.2 8 12.6 n/a n/a n/a n/a
Custom (8.5x12) 0.25 0.2 8 11.6 0.25 0.2 8 11.6 n/a n/a n/a n/a
Number 10 Envelope (4.12x9.5) 0.25 0.2 3.62 9.1 0.25 0.2 3.62 9.1 n/a n/a n/a n/a
A2 Envelope (4.37x5.75) 0.25 0.2 3.87 5.35 0.25 0.2 3.87 5.35 n/a n/a n/a n/a
C6 Envelope (4.49x6.38) 0.25 0.2 3.99 5.98 0.25 0.2 3.99 5.98 n/a n/a n/a n/a
DL Envelope (4.33x8.66) 0.25 0.2 3.83 8.26 0.25 0.2 3.83 8.26 n/a n/a n/a n/a
Japanese Envelope #3 (4.72x9.25) 0.25 0.2 4.22 8.85 0.25 0.2 4.22 8.85 n/a n/a n/a n/a
Japanese Envelope #4 (3.54x8.07) 0.25 0.2 3.04 7.67 0.25 0.2 3.04 7.67 n/a n/a n/a n/a

Left edge, Top edge, Width and Height values are in inches. "n/a" means option is not available.


5 Updates

  • HPIJS 1.7.1 - This release has the following changes.
       1. Added PPD files for the following new printers.
    
          LJMono:
          LaserJet 2410
          LaserJet 2420
          LaserJet 2430
          LaserJet 4250
          LaserJet 4350
    
    

  • HPIJS 1.7 - This minor release has the following changes.
       1. Changed build package prefix default from /usr to /usr/local in configure. 
          This means "./configure --prefix=/usr" must be used when replacing an existing hpijs installation.
    
       2. Added some NULL pointer checks as per Debian request.
     
       3. Added PPD files for the following new printers.
    
          DJGenericVIP:
          DeskJet 5740
          PhotoSmart 2600
          PhotoSmart 2700
          psc 1600
          psc 2350
          OfficeJet 6200
          OfficeJet 7200
          OfficeJet 7300
          OfficeJet 7400
    
          DJ3320:
          DeskJet 3740
    
          DJ3600:
          DeskJet 3840
    
          LJColor:
          Color LaserJet 2550
          Color LaserJet 5550
    
          LJMono:
          LaserJet 1160
          LaserJet 9050
          LaserJet 9050 MFP
          LaserJet 9040 MFP
    
    

  • HPIJS 1.6.2 - This minor release has the following changes.
       1. Updated foomatic-rip (3.0.2 SECURITY FIX).
    
       2. Regenerated all PPD files with foomatic 3.0.2.
     
       3. Added PPD files for the following new printers. There are no HPIJS code changes. 
    
          DJGenericVIP:
          DeskJet 6800
          DeskJet 6840
    
          LJMono:
          LaserJet 1160
          LaserJet 1320
    
          LJColor:
          hp business inkjet 1200
          Color LaserJet 9500 MFP
    
    

  • HPIJS 1.6.1 - This minor release has the following changes.
       1. Added PPD files for the following new printers. There are no HPIJS code changes. 
    
          DJGenericVIP:
          Photosmart 7400
          Photosmart 8100
          Photosmart 8400
          DeskJet 6540
          DeskJet 6520
    
          PS100:
          Photosmart 320
          Photosmart 370
    

  • HPIJS 1.6 - This release has the following changes.
       1. Added support for the following printers.
    
          LJColor:
          hp business inkjet 2300
          hp officejet 9100
    
          DJ3320:
          officejet 4200
    
          DJ3600:
          psc 1310
    
       2. Added the following envelope support. Needed for center-feed envelope trays (ie: laserjets). 
    
          No. 10 Envelope (4.12 x 9.5 in.)
          A2 Envelope (4.37 x 5.75 in.)
          C6 Envelope (4.49 x 6.38 in.)
          DL Envelope (4.33 x 8.66 in.)
          Japanese Envelope #3 (4.72 x 9.25 in.)
          Japanese Envelope #4 (3.54 x 8.07 in.)
    
       3. Added KRGB support.  
    
    HPIJS now supports two color spaces RGB and KRGB. KRGB provides image enhanced printing for black text and black line drawings which can not be done with current RGB based raster drivers.
       KRGB definition:
       1. K=1-bit black plane, RGB=24 bit color raster.
       2. K-plane will only contain objects that are black text and black line drawings.
       3. RGB raster will not contain K-plane objects.
       4. K resolution and RGB resolution will be equal.
       5. K-plane will be byte aligned.
       6. K-plane bit definition; 1=black, 0=nothing.
    
    KRGB requires Ghostscript suppport. Current versions of Ghostscript do not support KRGB. In order to support KRGB, a Ghostscript KRGB patch is included in the HPIJS package. The patch modifies the IJS client in Ghostscript and is free to use under the MIT license. The new IJS client should be backward compatible with existing IJS servers. This means KRGB support is optional.

    Use the following command in the Ghostscript source directory to apply the KRGB patch, then rebuild Ghostscript.

       $ patch -p0 < gdevijs-krgb-1.0.patch
    

  • HPIJS 1.5 - This release has the following changes.
       1. Added support for the following printers.
    
          DeskJet 5600
          DeskJet 5100
          DeskJet 5800
          DeskJet 3600
          DeskJet 3500
          DeskJet 9600
          PSC 2300
          PSC 2400
          PSC 2500
          PSC 2170
          psc 1300
          OfficeJet 5500
          OfficeJet 4100
          OfficeJet 6150
          Business InkJet 1100
          Photosmart 240
          Photosmart 140
          Photosmart 7960
          Photosmart 7760
          Photosmart 7660
          Photosmart 7260
          Photosmart 7268
    
       2. Removed support for hpijs 0.97.
       3. Corrected the model name for the cp1700.
       4. Added DJ3600 device class.
       5. Updated the foomatic PPD files and foomatic-rip. 
       6. Added $(DESTDIR) in Makefile.am to facilitate rpm builds. Special thanks to Robert van den Aker
          for this suggestion.
       
    

  • HPIJS 1.4.1 - This release has the following changes.
       1. Fixed a GCC 2.95 compile problem with debug.h.
       2. Fixed a foomatic-install issue with gzip 1.3 in Makefile.am. Removed the gzip -r option.
       3. Updated the foomatic PPD files for HPIJS.
    

  • HPIJS 1.4 - This release has the following changes.
       1. Added the following new printer support.
          
          PSC 1100 Series
          PSC 1200 Series
          Officejet 5100 Series
          Officejet 6100 Series
          Officejet 7100 Series
          Photosmart 7345
          LaserJet 1150
          Business InkJet 3000
          Deskjet 9300
    
       2. Added 4096 byte output buffering to improve USB performance.
       3. Enabled data compression for DJ3320. Last release was not enabled.
       4. Updated DJ3320 colormap for Normal and Draft.
       5. Updated DJ9xx colormap and break point table for Normal and Best.
       6. Model support is now done by printerfactory and printerproxy.
       7. Fixed a Deskjet 5550 problem with odd page duplex jobs.
       8. Documented new Photo mode for VIP printers with no auto media detection.  
       9. Package now includes all Footmatic 3.0 PPD files for HPIJS.
      10. Turns out DJGenericVIP printers only supports full bleed with Oufuku-Hagaki or smaller.
          Code was changed to reflect this. 
    

    HPIJS installation "make install" now supports Foomatic and CUPS by default. Use "./configure" options "foomatic-install" and "cups-install" to disable this feature.

    Special thanks to Till Kamppeter for his support with the Foomatic project at www.linuxprinting.org. His tireless endeavor has consistently improved the printing process.

  • HPIJS 1.3.1 - This release has the following changes.
       1. Added data compression to DJ3320.
       2. Changed the default black pen vertical alignment value for the DJ3320.
       3. Added support for custom paper size.
       4. Removed 3425-COVER paper size, this is now a custom paper size.
       5. Added Printable Area documentation.
       6. Fixed a Officejet hang problem (ie: Officejet 500/600/700 and PSC 300). 
          The Officejet would hang after printing a job.
    

  • HPIJS 1.3 - This release has the following changes.
       1. Added the following new printer support.
    
          Deskjet 450
          Deskjet 3320
          Deskjet 3420
          Deskjet 3425 
          Deskjet 3810
          Deskjet 3816
          Deskjet 3822
          Deskjet 6122
          Deskjet 6127
          Photosmart 230
          Photosmart 7550
          PSC 2100
          PSC 2150
          PSC 2200
    
       2. Made a change to configure.in to check for uint32_t in stdint.h, machine/types.h and inttypes.h.
       3. Added 600 dpi Best and 1200 dpi Photo to DJ9xx.
       4. Added a new paper size for printing covers on Deskjet 3425.
       5. Fixed a DJ850 extra page and top margin problem. 
       6. Fixed a Deskjet 1120/1125 multiple page problem. These printers now use the DJ9xx device class 
          with limited support. 
    

    Special credit goes to Matthias Bunte and Richard Spencer-Smith for providing input for the new DJ9xx 600/1200 dpi print modes. The new print modes are based on a patch originated by Matthias Bunte.

  • HPIJS 1.2.2 - This release has the following changes.
       1. Made support for stdint.h conditional.
       2. Added a check in configure.in for platforms that don't support stdint.h.
    

  • HPIJS 1.2.1 - This release has the following changes.
       1. Added PS:MediaPositon parameter for tray selection.
       2. The LJ1100 too light problem should be fixed.
       3. DJ540 will now support DJ400.
       4. Where appropriate, changed "long" to uint32_t for 64-bit platforms.
       5. Updated HPIJS documentation.
          - Best Grayscale for DJ350, DJ6xx, DJ630 and Apollo is 600x300 not 600x600 dpi.
          - Deskjet 5550/5551 and PhotoSmart 7150/7350 will support full bleed.
    

  • HPIJS 1.2 - This release has the following changes.
       1. Added the following new printer support.
    
          Deskjet 3820
          Deskjet 5550
          Deskjet 5551
          Photosmart 130
          Photosmart 7150
          Photosmart 7350
    
       2. Added monochrome support for following PCL only LaserJets. 
    
          LaserJet 1100
          LaserJet 2100
          LaserJet 6
          LaserJet 5
          LaserJet 4
    
       3. Added grayscale 600dpi support to DJ350, DJ6xx, DJ630 and Apollo device classes.
       4. Added legacy support for DJ540, DJ850 and DJ890 series.
       5. Added OfficeJet support (some must be used with HPOJ driver).
       6. Fixed the Flsa paper size problem.
       7. Made minor changes to configure.in for Unix platforms.
       8. Added more support for IJS List and Enumerate commands.
       9. Updated IJS files to IJS 0.34.
    

  • HPIJS 1.1 - This release has the following changes.
       1. Added new printer support for Business Inkjet 2200/2230/2250/2280.
       2. Added HiRes mode to the PS100 device class.
       3. Added Draft modes to most device classes.
       4. Bumped DJ8xx and DJ8x5 Normal Grayscale support to 600 dpi.
       5. Added support for paper sizes Ledger, Executive, Super B and Flsa.
    
    This release fixes a DJ9xxVIP duplex problem with GNU Ghostscript 7.05 and HPIJS 1.0.4. The problem caused the second page to print incorrectly when duplex was enabled. The problem occurred with 300 dpi input not 600 dpi input.

  • HPIJS 1.0.4 - This update has the following changes.
       1. Added a new HiRes mode to DJ9xxVIP device class.
       2. Added support for paper sizes A3 and A5.
       3. Removed Photo Full Bleed paper size and added a FullBleed parameter.
       4. Fixed a duplex top margin problem with paper sizes other than Letter.
       5. Fixed a duplex top margin problem with grey_k and grey_cmy.
       6. Fixed a problem detecting B4 and B5 paper sizes.
       7. Fixed a artifact (black vertical line) that could occur in the right margin.
    
    The new HiRes mode supports the maximum resolution for DJ9xxVIP device class. For these devices the box specification for resolution is 2400x1200. In the past no scaling was done to 2400 in the printer.

    Full bleed support is no longer a separate paper size. Full bleed is enabled with a new Ghostscript command called FullBleed. Now you just select your 4x6 paper size and set FullBleed=1.

  • HPIJS 1.0.3 - Added support for AFPL Ghostscript 7.04 and GNU Ghostscript 6.53. HPIJS is now compatible with the IJS client that comes with Ghostscript. This means the IJS client (gdevijs.c) included with HPIJS 1.0.2 is no longer needed.

    This release is compatible with IJS 0.33. In order to be compliant with IJS 0.33, some Ghostscript commands have changed from HPIJS 1.0.2.

    The Duplex command has changed from -dDuplex=n (n equals: 0=none, 1=tablet, 2=book) to following.

       -dDuplex=false -dTumble=false (none)
       -dDuplex=true  -dTumble=false (book)
       -dDuplex=true  -dTumble=true  (tablet)
    
    HPIJS print mode parameters must use the "Quality:" prefix. The prefix will allow better management of parameter namespace. See the following Ghostscript command example.
       -sIjsParams="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" 
    
    The following Ghostscript command without the "Quality:" prefex is no longer supported.
       -sIjsParams="Quality=0,ColorMode=2,MediaType=0,PenSet=2" 
    
    The new Ghostscript command -dIjsUseOutputFD is required when using HPIJS.

  • HPIJS 1.0.2 - This update has the following changes.
       1. Fixed a problem printing Photo Full Bleed on the Photosmart 100.
       2. Cleaned up BSD documentation in source files.
    
  • HPIJS 1.0.1 - This release now meets Debian Free Software Guidelines (DFSG) and addresses the following problems.
       1. Fixed a setpagedevice problem with the IJS client. PageSize can now be set from postscript. 
       2. Fixed a off-by-one error in IJS server, gcc -O2 optimization now seems to work. 
       3. Updated the documentation, see the hpijs_readme.html file.
    
  • HPIJS 1.0 - Updated HPIJS to APDK 3.01 which adds support for the following printers.
       Deskjet 656           Photosmart 100        Apollo P-22
       Deskjet 825/845       Photosmart 1115       Apollo P2500
       Deskjet 920           Photosmart 1215       Apollo P2600
       Deskjet 940/948       Photosmart 1315       
       Deskjet 995           CP 1160
       Deskjet 1125          CP 1700
       Deskjet 1220
       Deskjet 2250
    

    Added support for the IJS interface. This release is backward compatible with HPIJS 0.97 interface.

    Added support for Duplex. Duplex is only available with the IJS interface. When Duplex mode is set, top and bottom margins are set to 1/2 inch.

    Added support for the following paper sizes. The new paper sizes are only available with the IJS interface.

       Photo, Photo Full Bleed, A6, B4, B5, Oufuku-Hagaki, Hagaki
    
    The PrintMode command has been replaced with separate commands - Quality, ColorMode, MediaType and PenSet. These commands are only available with the IJS interface.

    Changed top margin from 1/3 to 1/8 inch. Also, changed the bottom margin to 1/2 inch. Note, on the 6xx series the maximum bottom margin is .46 inch for black and .587 for color. This means for the 6xx series, color printing to within 1/2 inch bottom margin is not guaranteed.

    Added a platform-independent automake/autoconf makefile.

  • HPIJS 0.97 - Made some bug fixes to the APDK 2.4 code and changed the top margin settings in gdevhpij.c back to a value that is compatible with existing printer drivers.

    This update fixes some of the following problems.

       1. A line of text near the top of the page would not print.
       2. Top and bottom margins on multiple page jobs was not consistent.
    

  • HPIJS 0.96 - Updated HPIJS to APDK 2.4 which adds support for the following printers.
       DeskJet980
       DeskJet960
       DeskJet350             
       Photosmart 1000/1100
       Photosmart 1215/1218
    

    Made a small change to the top and right margins in gdevhpij.c. This corrects a problem where both Ghostscript and HPIJS were trying to set the margins.

    Added some query commands to the GS/HPIJS communication interface. These commands can be used to return current printer parameters.

    This release is backward compatible with HPIJS 0.95.

  • HPIJS 0.95 - Fixed a scaling problem with device-dependent postscript using CUPS. This was a problem with DJ630, DJ6xxP and DJ8xx photo mode only. This was not a problem printing device-independent postscript.

    Changed Ghostscript command interface to HPIJS driver. The HPIJS driver is now called with the following Ghostscript commands.

       -sDEVICE=hpijs
       -sDeviceName=x
          where x equals: DJ630, DJ6xx, DJ6xxPhoto, DJ8xx, DJ9xx or DJ9xxVIP
    
    This removes the hard coded device parameters from gdevhpij.c so new printer drivers can be added to HPIJS with out re-compiling Ghostscript.

    The old interface used the following Ghostscript commands.

       -sDEVICE=x
          where x equals: DJ630, DJ6xx, DJ6xxP, DJ8xx, DJ9xx or DJ9xxVIP
    
    The old interface is degraded and will eventually be dropped. New printer drivers will not use the old interface.

  • HPIJS 0.94 - Minor changes where made to the add-on files for Ghostscript. No functional changes or bug fixes. Changed gdevhpijs.c to gdevhpij.c (8.3 Ghostscript convention). Moved defines from models.h and hpijs.h to new gdevhpij.h. The gdevhpij.h file is LGPL.

  • HPIJS 0.93 - Initial release.

6 Installation

HPIJS is not spooler specific, but the Common Unix Printing System (CUPS) is probably the best supported spooler system. Foomatic is a database-driven system for integrating free software printer drivers with common spoolers such as CUPS. Both CUPS and Foomatic are supported by most Linux and Unix distributions. See cups.org for more information about CUPS and Foomatic.

Starting with HPIJS 1.4, HPIJS has built-in support for CUPS and Foomatic. CUPS and Foomatic support is optional via "configure" options.

This section addresses how to install HPIJS. In most cases this is all you need to do. If your current copy of Ghostscript does not support HPIJS you will need to update Ghostscript.

This section includes instructions for compiling Ghostscript from source code, but this is not an easy task. Before attempting to update Ghostscript, check with your distribution, they may have a Ghostscript update with the latest HPIJS support.

This section will show you how to install HPIJS for a CUPS system using Foomatic. This section does not address other spoolers or how to use HPIJS with your spooler. See your distribution about spooler questions. Additional information is available at www.linuxprinting.org and hpinkjet.sourceforge.net.

6.1 HP Inkjet Driver

You can download HPIJS here. The download includes the HPIJS source code and a platform-independent automake/autoconf makefile. The makefile will compile and install hpijs. By default the makefile will also do a Foomatic and CUPS install. After downloading to your directory use the following instructions.
# tar xzvf hpijs-1.x.tar.gz
# cd hpijs-1.x
# ./configure --prefix=/usr
# make
# make install
# killall -HUP cupsd
The Foomatic install will (1) copy HP HPIJS PPD files to /(prefix)/share/ppd/HP (2) copy foomatic-rip to /(prefix)/bin (3) gzip all PPD files.

The CUPS install will (1) remove any old HP HPIJS PPD files from the CUPS PPD directory (2) symlink the HP HPIJS PPD files to the CUPS PPD directory (3) symlink foomatic-rip to the CUPS filter directory.

The "killall -HUP cupsd" will cause the CUPS daemon to re-read all the PPD files in the PPD directory.

If you do not want Foomatic and CUPS install use the following commands instead.

# ./configure --disable-foomatic-install
# make
# make install
You can verify HPIJS was build and installed correctly with the following command.
# hpijs -h

Hewlett-Packard Co. Inkjet Server 1.x
Copyright (c) 2001-2002, Hewlett-Packard Co.
This is all you need to do to install HPIJS. If your current Ghostscript supports the IJS interface you are done. If you are not sure the Ghostscript Install section will show you how to verify IJS interface support.

6.2 Ghostscript

Your current Ghostscript may already support HPIJS. You can verify this with the gs -h command. You should see output similar to this.

GNU Ghostscript 7.05 (2002-04-22)
Copyright (C) 2002 artofcode LLC, Benicia, CA.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -gx  page size in pixels   | -r  pixels/inch resolution
 -sDEVICE=  select device         | -dBATCH  exit after last file
 -sOutputFile= select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF
Available devices:
   x11 x11alpha x11cmyk x11gray2 x11gray4 x11mono bmpmono bmpgray bmpsep1
   bmpsep8 bmp16 bmp256 bmp16m bmp32b deskjet djet500 laserjet ljetplus
   ljet2p ljet3 ljet3d ljet4 ljet4d lj5mono lj5gray cdeskjet cdjcolor
   cdjmono cdj550 pj pjxl pjxl300 uniprint ijs bj10e bj200 bjc600 bjc800
   faxg3 faxg32d faxg4 pcxmono pcxgray pcx16 pcx256 pcx24b pcxcmyk pbm
   pbmraw pgm pgmraw pgnm pgnmraw pnm pnmraw ppm ppmraw pkm pkmraw pksm
   pksmraw tiffcrle tiffg3 tiffg32d tiffg4 tifflzw tiffpack tiff12nc
   tiff24nc psmono psgray psrgb bit bitrgb bitcmyk png16m pnggray pngmono
   png256 png16 jpeg jpeggray pdfwrite pswrite epswrite pxlmono pxlcolor
   cljet5 cljet5c nullpage
Search path:
   . : /usr/share/ghostscript/7.05/lib : /usr/share/ghostscript/fonts
For more information, see /usr/share/ghostscript/7.05/doc/Use.htm.
Report bugs to bug-gs@ghostscript.com, using the form in Bug-form.htm.
If you don't see the above highlighted "ijs" device your version of Ghostscript does not have built-in support for HPIJS.

If Ghostscipt does not support HPIJS, check with your distribution and see if they have a Ghostsript update.

If necessary, the following instructions show you how to build GNU Ghostscipt 7.05. Other versions of Ghostscript are built in a similar manor. GNU Ghostscript 6.53 or higher will have built-in support for the IJS interface.

  1. Download the source code for gs, jpeg, png and zlib into the following directories respectfully. See the GNU Ghostscript documentation for more information. You can create this directory structure in your user directory. Be sure to use the following directory names for jpeg, libpng and zlib.
    ../gs7.05/
    ../gs7.05/jpeg/
    ../gs7.05/libpng/
    ../gs7.05/zlib/
    
  2. Ghostscript looks for fonts in hardcoded directories, see GS_LIB_DEFAULT in the makefile. For Red Hat the following symbolic link will allow Ghostscript to find fonts with out modifying the makefile. Other distributions may have different font directories.

    # ln -s /usr/share/fonts/default/Type1 /usr/share/ghostscript/fonts
    
  3. Now build and install Ghostscript by running the following commands in the Ghostscript directory.
    # ./configure --prefix=/usr
    # make
    # make install
    
  4. Now run the gs -h command, you should see the ijs device name.

6.3 PrintTool

If you use PrintTool (ie: RH6.2 and RH7.0) and you want PrintTool to recognize the new ijs device add the following lines to /usr/lib/rhs/rhs-printfilters/printerdb file.
StartEntry: IJS
  GSDriver: ijs
  Description: {IJS Client}
  About: { \
           This is a generalized IJS client interface for ghostscript printer \
           drivers. Different drivers and options are specified in the \
           "Extra GS options" box. The following ghostscript commands are used by the \
           HP Inkjet Driver (HPIJS): -sIjsServer=hpijs, \
           -sDeviceManufacturer="HEWLETT-PACKARD", \
           -dIjsUseOutputFD, -sDeviceModel=model, -dDuplex, -dTumble, -sIjsParams=options. \
           Where DeviceModel equals one of the following: "DESKJET 990", "DESKJET 970", etc... \
           -dDuplex equals book, -dDuplex -dTumble equals tablet. \
           IjsParams can be any of the following: Quality=n, MediaType=n, ColorMode=n, PenSet=n. \
           Where Quality equals one of the following: 0=normal (default), 1=draft, 2=best. \
           MediaType equals one of the following: 0=plain (default), 1=premium, 2=photo. \
           ColorMode equals one of the following: 0=grey_k, 1=grey_cmy, 2=color (default). \
           PenSet equals one of the following:  0=black_pen, 1=color_pen, 2=both_pens, \
           3=mdl_pen, 4=mdl_both. \
           Not all combinations of Quality, MediaType and ColorMode are valid print modes. \
           Resolution setting 600x600 is available for some print modes only. \
           In printtool special characters must be preceded by a double backslash see the \ 
           following example for HP 990C: -sIjsServer=hpijs -sDeviceManufacturer=\\"HEWLETT-PACKARD\\" \
           -dIjsUseOutputFD -sDeviceModel=\\"DESKJET 990C\\". \ 
         }
  Resolution: {300} {300} {}
  Resolution: {600} {600} {}
EndEntry
In PrintTool special characters must be preceded by a double backslash (see example above). Note, PrintTool has a problem with double backslash. PrintTool allows you to set double backslash, but it will only read one backslash back when editing. This means if you are editing the Extra GS options you must re-enter the double backslash.


7 Usage

7.1 Spooler Example

The following command will print a postscript file to the lp0 spooler.

$ lpr -Plp0 tiger.ps

Most applications use the lpr command to print documents.

7.2 Ghostscript Example

Here is a Ghostscript example using our driver on a 990C deskjet from the command line. This command bye passes the spooler and prints directly to the printer. You must be logged in as root in order direct the output directly to /dev/lp0.
$ gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" \
  -sDeviceModel="DESKJET 990" -r300 -dNOPAUSE -dSAFER -sOutputFile="/dev/lp0" file.ps -c quit
This command line example shows how to print a 4x6 inch photo from a digital camera.
$ convert -rotate 90 p8160010.jpg p8160010.png
$ convert -page 324x432-18+0 p8160010.png photo.ps
$ gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" \
  -sDeviceModel="DESKJET 990" -r300 -dNOPAUSE -dSAFER -sOutputFile="/dev/lp0" \
  -dDEVICEWIDTHPOINTS=288 -dDEVICEHEIGHTPOINTS=432 photo.ps -c quit
The first command rotates the picture 90 degrees and converts from jpg to png. The second command converts the png to postscript and scales the image to 4.5x6 inches. The original photo was 1280x960 pixels. In order to keep the same aspect ratio as the original photo, the second command scales to 4.5x6 instead of 4x6 inches. The means we need to clip the top and bottom (x axis) by 0.25 inches. Ghostscript parameters DEVICEWIDTHPOINTS=288 and DEVICEHEIGHTPOINTS=432 specify the actual paper size in postscript units, which in this case represents 4x6 inches (288=4*72, 432=6*72).

Similar to the above example, here is a 4x6 full bleed (borderless) photo printing example using the Photosmart 100.

$ convert -rotate 90 p8160010.jpg p8160010.png
$ convert -page 324x432-18+0 p8160010.png photo.ps
$ gs -sDEVICE=ijs -sIjsServer=hpijs -dIjsUseOutputFD -sDeviceManufacturer="HEWLETT-PACKARD" \
  -sDeviceModel="PHOTOSMART 100" -r600 -sIjsParams="Quality:FullBleed=1" -dNOPAUSE -dSAFER \
  -sOutputFile="/dev/usb/lp0" -dDEVICEWIDTHPOINTS=288 -dDEVICEHEIGHTPOINTS=432 photo.ps -c quit


David Suffield
© 2001-2004 Hewlett-Packard Company
HPIJS 1.7.1, last updated October 15, 2004