Foomatic Data for the HPIJS Printer Drivers =========================================== foomatic-db-hpijs ----------------- Release 1.3.1-1, for HPIJS 1.3.1 Foomatic data for the HP's HPIJS (http://hpinkjet.sourceforge.net) printer drivers, to be added to the Foomatic database (package foomatic-db). Supports also the patched 1.3.1 and 1.2.2 versions from http://www.linuxprinting.org/download/printing/hpijs/. Till Kamppeter <till.kamppeter@gmx.net> http://www.linuxprinting.org/ This usage documentation file is written by Till Kamppeter Intro ----- Foomatic is a database providing information about the usage of printers with free operating systems and free printer drivers, where "free" is meant as free software in the sense of the Free Software Foundation (http://www.gnu.org). Therefore the database only contains information about printer drivers which are free software. The technology of this database can also be used for non-free drivers, but the database entries have to be published in separate packages then. The database can also be run under non-free operating systems (as commercial Unixes) as they often use GhostScript and free printer drivers. Since most free operating systems (GNU/Linux, *BSD, ...) are compatible to Unix, their applications send PostScript to the printer queues. Therefore one usually hands over the PostScript directly to a PostScript printer (sometimes with some prepended PostScript commands for options) or uses GhostScript for generating the data format the printer needs. This is done by the printer spooler which also stores the data in a spool directory when the printer is still occupied by another job, transmits the data to a print server in the network, and so on. The printer drivers for non-PostScript printers are either compiled into GhostScript, a plug-in for GhostScript (e. g. IJS drivers), or they are an extra filter which converts a generic bitmap generated by GhostScript into the printer's data format. For this the spooler has to call complicated command lines of GhostScript and the extra filter (if needed). The user of a free operating system normally does not see these command lines because an installation program takes appropriate filter scripts and/or description files from a database and assigns them to the printer queue. Widely used databases were the RHS-Printfilters and the APS filters. Their disadvantages were that they only supported one spooler (LPD/LPRng) and only a small part of the driver's options (mostly page size and resolution). Foomatic supports all options of the drivers and all known spoolers (LPD, LPRng, GNUlpr, CUPS, PPR, PDQ, CPS, direct spooler-less printing). In addition, all known free software printer drivers are supported. Foomatic also supports printing of various non-PostScript file types for spoolers which do not support this by themselves (LPD, LPRng, GNUlpr, spooler-less printing). To enable this feature you need to have "a2ps", "enscript", or "mpage" installed. Another problem is that the way how to install queues, to print files, and to handle jobs is very different with different spoolers. LPD for example requires editing of configuration files for adding a queue, whereas CUPS and PPR have specialized command line utilities. Foomatic puts a layer between the applications and the spoolers so that one has a common, spooler-independent command line interface for all spoolers, so that switching of spoolers or administration of a network with different spoolers gets much easier, because for the same operations there are the same commands, independent of the spooler. This command line interface can also be used as a base for spooler-independent graphical frontends. Installation ------------ Foomatic runs on all systems where one can run the Perl interpreter. This package itself requires only a Perl interpreter and the Foomatic database, foomatic-db. Install it after you have installed fommatic-db using the commands (if you have downloaded this package from CVS, run "./make_configure" at first, for that you will also need the "autoconf" and "aclocal" utilities, "aclocal" is in the "automake" package in some distributions): ./configure make make install "make install" must be run as "root", "./configure" and "make" can be run as a normal user. The "configure" script will auto-detect the place where your Foomatic database is located and generate the Makefile, which is used to build and install the Foomatic data. If "configure" fails because of something not being installed, do rm -rf config.cache autom*.cache before you run "configure" again (after installing the missing parts). By default, ths package is installed into subdirectories of /usr/local (e. g. /usr/local/share/foomatic), to get it into subdirectories of /usr (/usr/share/foomatic), enter: ./configure --prefix=/usr make install There are other things which can be adjusted by options on the "configure" command line, enter "./configure --help" for more info. You can also modify variables in the beginning of the "Makefile" after running "configure", but note that every run of "configure" re-creates the "Makefile". If "configure" did no auto-detect where you have placed the database (or if you intend to install the database afterwards), do export LIBDIR=/path/to/the/database ./configure make make install You have specified the path correctly, when /path/to/the/database/db/source/driver/ljet4.xml exists. You can also run Foomatic out of the source directory of foomatic-db-engine (for example when you want to try it out, or when you don't have root access, see USAGE of foomatic-db-engine). Therefore enter (can be done as a normal user): ./configure make inplace Then the Foomatic data for HPIJS is not inserted into the system-wide database, but into the local one. For that both the tarball of this package and of the foomatic-db package must be put into the same directory. After unpacking both and doing the command shown above, the data will go into the right place. "make clean" will remove the data.