Sophie

Sophie

distrib > Mandriva > 10.0 > i586 > media > updates > by-pkgid > 9f76d24be37ca2d6b601b0e9b5bc1cc7 > files > 324

printer-filters-1.0-138.2.100mdk.i586.rpm

Eine deutsche Version dieser Anleitung finden Sie weiter unten.

*************************************************************************** 
*   Project:   Development of a Lexmark 2070 Driver for                   * 
*              Linux as an add on to Ghostscript PBMs;                    * 
*              S/W for now, CMYK perhaps in the future.                   * 
*									  * 
*   Author:    Christian Kornblum,        				  * 
*                                                                         * 
*   Thanks to: Tim Norman, the developer of pbm2ppa for HP-Printers.      * 
*              The design of this program is very well documented.        * 
*              Michael Bletzinger, Andrew Waldram, Daniel F. O'Neill      * 
*	       and many others for the translation of this document.      * 
*                                                                         * 
*   Copyright: Licensed under GPL, this includes the PBM-Routines         * 
*              which are taken from Tim Norman's project.                 * 
*                                                                         * 
*   Version:   0.6 - 29.06.1999                                           *  
*                                                                         * 
*   History:                                                   		  *
*    o improved version 0.6                                               *
*         -29.06.1999 New algorithm prevents driver from printing         *
*                     empty lines and whitespace. Makefile added.         *
*    o First official release 0.5                                         *
*         -May 1999 in the Internet                                       *
*    o Pre-Release:                                                       * 
*         -29.03.1999 first apparently working version                    * 
*         -19.01.1999 Implementation of pbm-Routinenes                    * 
***************************************************************************/ 
 
 
What can this program do? 
-------------------------------------------------------------------------- 
 
This small C program allows a Linux user to print S/W on a Lexmark 2070 in  
300dpi.  The program was tested with SuSE Linux 6.0, but the program should 
run under any Unix system with a C compiler. 
 
The program reads from STDIN a black and white PBM formatted picture and  
converts it to a typesetting code that the Lexmark Color Jetprinter 2070  
understands and can print.  The output is piped into STDOUT.   
 
Lexmark has not released the interface protocols of their printers so 
these have been reversed-engineered.  It works very well for me but I am 
promising ABSOLUTELY NO GUARANTEE that it will work for you. 
 
Installation 
-------------------------------------------------------------------------- 
 
This installation is not for beginners, as ist is the case with most problems 
under Linux. If you become frustrated....in the words of my professor: 
 
  "Autofahren kann jeder, aber ein Rennwagen fährt sich eben trotzdem  
   nicht so einfach." 
 
  "Anyone can drive a car, but to race one is not so simple." 
 
And so Lots of Luck. 
 
Untar the archive into a build directory as follows: 
 
      tar -xzvf Lexmark2070.tar.gz 
 
Compile the code using the following line or ´make´:
 
      gcc -o Lexmark2070 Lexmark2070-0.5.c pbm.c  
 
Now the Lexmark2070 binary needs to be installed into the printing process. 
I do not have a whole lot of experience with this so I used a dirty trick. 
If you have a better way please let me know! 
 
This driver resembles the the drivers for the new HP printers (720C, 800er 
series) which also aren't that standard. With SuSE, these drivers are in the 
package "ppa" in the series "ap". 
 
With this you can use the SuSE APSFILTER-SETUP to install one of the  
HP drivers.  The setup is in: 
 
       /usr/lib/apsfilter/SETUP 
 
If you want more details on how this filter setup works please consult 
your SuSE documentation. Install the HP720C with A4 paper and a  
resolution of 300x300dpi. 
 
If this works then you can replace the HP driver located at  
/usr/bin/pbm2ppa with the Lexmark2070 binary (´make install´): 
 
       cp Lexmark2070 /usr/bin/pbm2ppa 
 
Make sure that the permissions are the same as the HP binary. 
 
Now you should be able to print with the "lpr" command. If nothing 
happens list the processes and look for a sleeping pbm2ppa-Process 
which means that the print job did not end correctly. You can fix  
this by modifying the /etc/printcap file. 
 
Puuh... 
 
 
To Do 
-------------------------------------------------------------------------- 
 
I am planning on doing further development of this driver. Help is 
welcomed. Anyone can work on the source code.  If you make some money 
off of this  driver, please send me a small commission ;-) 
 
I am planning on submitting this to SuSE so that they can include it in 
their distribution. 
 
Suggestions (especially regarding the driver API) are welcome.  It would 
be nice if this driver could be improved. 
 
e-Mail:     kornblum@studst.fh-muenster.de 
Current Version:  http://www.studet.fh-muenster.de/~kornblum 
 
 
License 
-------------------------------------------------------------------------- 
 
This driver is licensed under GPL and can be used for any purpose without 
problems.  It is listed in the archive in the file LICENSE. 


/***************************************************************************
 *   Projekt:	Entwicklung eines Lexmark 2070 Treibers für		   *
 *              Linux als Nachverarbeitung von Ghostscript PBMs;           *
 *              zuerst mal S/W, später vielleicht auch CMYK.               *
 *                                                                         *
 *   Autor:	Christian Kornblum, <kornblum@studst.fh-muenster.de>       *
 *                                                                         *
 *   Dank an:   Tim Norman, den Entwickler von pbm2ppa für HP-Drucker.     *
 *              Dieses Programm orientiert sich weitgehend an seiner       *
 *              Vorlage.                                                   *
 *                                                                         *
 *   Copyright: entsprechend der GPL, unter die auch die PBM-Routinen      *
 *              fallen, die ich nur benutze.                               *
 *									   *
 *   Version:   0.6 - 29.06.1999                                           * 
 *                                                                         *
 *   Versionsgeschichte:						   *
 *    o Version 0.6                                                        *
 *         -29.06.1999 keine leeren Zeilen an Drucker senden,              *
 *                     nur noch über tatsächlich gedruckte Breite          *
 *                     drucken (schneller & professioneller)               *
 *                     Makefile hinzugefügt                                *
 *    o Version 0.5                                                        *
 *         -seit Mai 99 im Internet verfügbar                              *
 *    o Pre-Release:                                                       *
 *         -29.03.1999 Erstes lauffähiges Release (Clean Room)             *
 *         -19.01.1999 Implementierung der pbm-Routinen                    *
 ***************************************************************************/


Was kann dieses Programm?
--------------------------------------------------------------------------

Mit diesem kleinen C-Programm kann jetzt auch jeder LINUX-Nutzer mit einem
Lexmark 2070 in 300dpi S/W drucken. Getestet wurde die Funktionalität unter
SuSE Linux 6.0, aber laufen sollte das Programm eigentlich auf jedem UNIX
System mit C-Compiler.

Das Programm liest am Standard-Input ein PBM-Schwarzweißbild ein und wandelt
es in die Druckerbefehle um, die der Lexmark Color Jetprinter 2070 benötigt,
um drucken zu können, die dann auf den Standard-Output geschrieben werden.
Über den SuSE Apsfilter und Ghostscript kann somit gedruckt werden.

Da Lexmark mir die Spezifikationen Ihres Protokolls nicht zur Verfügung 
stellen wollte, habe ich das Protokoll selbst entschlüsselt. Das funktio-
niert auch sehr gut, aber ich übernehme ABSOLUT KEINE GARANTIE für die
Ergebnisse.



Installation
--------------------------------------------------------------------------

Die Installation, die hier beschrieben wird, ist nicht unbedingt für Anfänger
geeignet. Aber strenggenommen gilt das wohl für LINUX im Allgemeinen - also
nicht verzweifeln, denn wie sagt mein Professor:
  "Autofahren kann jeder, aber ein Rennwagen fährt sich eben trotzdem 
   nicht so einfach."
Also, in diesem Sinne: Viel Erfolg.

Das Archiv wird wie üblich mit dem Befehl

      tar -xvf Lexmark2070.tar.gz

entpackt. Danach muß der Code compiliert werden (´make´):

      gcc -o Lexmark2070 Lexmark2070-0.5.c pbm.c 

So erhält man das ausführbare Binary Lexmark2070, das nun in den Druckprozeß
eingebunden werden muß. Da ich selber nicht so ganz dahintergekommen bin
(bis jetzt zumindest) wird dazu ein ziemlich unsauberer Trick benutzt. Wer
es besser kann, möchte sich doch bitte umgehend bei mir melden!

Es gibt da so einen Treiber für die neueren HP-Drucker (720C, 800er Serie),
der auch nicht so richtig Standard ist. Dieser Treiber bildet die Grundlage
für den Lexmark Treiber und wird daher auch genauso eingebunden.
Unter SuSE steht dieser Treiber als Paket ppa in der Serie ap zur Verfügung.
Dieser Treiber muß nun zunächst einmal installiert werden.

Ist das erfolgreich geschehen, wird dieser Treiber über das APSFILTER-SETUP
(nicht über yast) konfiguriert. Das APSFILTER-SETUP ist der Befehl

       /usr/lib/apsfilter/SETUP

Wie das funktioniert genau funktioniert, kann man in der zugehörigen 
Dokumentation oder be SuSE erfahren. Etwas Hartnäckigkeit kann dabei
durchaus hilfreich sein. Installiert werden sollte ein HP720C mit A4 Papier
und einer Auflösung von 300dpi.

Hat das alles funktioniert, wird nun einfach die Datei /usr/bin/pbm2ppa
durch unser oben erzeugtes Binary Lexmark2070 ersetzt (´make install´):

       cp Lexmark2070 /usr/bin/pbm2ppa

Damit sollten dann auch die Zugriffsrechte stimmen.

Jetzt könnte eigentlich gedruckt werden. Mit lpr <datei> kann man eine
Datei an den Drucker schicken. Passiert nichts, schaut man mal in die
Liste der laufenden Prozesse. Wenn da ein schlafender pbm2ppa-Prozeß 
zu finden ist, ist nur ein falscher Druckeranschluß angegeben, was sich 
am besten direkt in der /etc/printcap ändern läßt.

Puuh...


Zukünftiges
--------------------------------------------------------------------------

Ich habe vor, diesen Treiber weiterzuentwickeln - Hilfe ist mir dabei 
willkommen. Jeder kann mit dem Quellcode treiben, was er will. Wenn man
Geld damit verdienen kann, bitte ich um eine angemessene Beteiligung ;-).

Ich werde das ganze auch an SuSE schicken, vielleicht binden die das
dann ja auch noch ein...

Wenn jemand Verbesserungsvorschläge hat (insbesondere was die Einbindung
des Treibers angeht) wäre mir das sehr willkommen. Es wäre wirklich nett,
wenn man mir verbesserte Versionen zuschicken würde.

Meine e-Mail Adresse:     kornblum@studst.fh-muenster.de
Aktuelle Treiberversion:  http://www.studet.fh-muenster.de



Lizenz
--------------------------------------------------------------------------

Da Teile des verwendeten Codes der GPL unterliegen, gilt das natürlich
auch für mein Programm. Die GPL sollte sich überall problemlos finden
lassen und ist auch in das Archiv eingebunden (LICENSE).

Christian Kornblum, 31.03.1999