root / tea4cups / trunk / README @ 674

Revision 674, 5.9 kB (checked in by jerome, 17 years ago)

Changed the copyright years.

  • Property svn:keywords set to Author Date Id Rev
RevLine 
[567]1# $Id$
2
[576]3Tea4CUPS : Tee for CUPS
[567]4
[674]5(c) 2005, 2006 Jerome Alet <alet@librelogiciel.com>
[642]6(c) 2005 Peter Stuge <stuge-tea4cups@cdy.org>
[567]7This program is free software; you can redistribute it and/or modify
8it under the terms of the GNU General Public License as published by
9the Free Software Foundation; either version 2 of the License, or
10(at your option) any later version.
11
12This program is distributed in the hope that it will be useful,
13but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with this program; if not, write to the Free Software
[644]19Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
[567]20
21=============================================================================
22
[644]23Tea4CUPS resembles the *nix command 'tee', but is a CUPS backend.
[567]24
[576]25Tea4CUPS behaves just like any other CUPS backend, but allows you to
[659]26modify print jobs' datas as they pass through it and to transparently
27send them to any number of outputs : other CUPS backends, files or pipes.
[567]28
29This for example allows you to output the same print job on several
30printers at the same time, which is not possible with CUPS.
31
[645]32Another possibility would be for example to send the same document to
[567]33a printer, a PDF generator, a Fax, and as an attachment to an email
34message, all of this by printing it a single time.
35
[645]36Tea4CUPS allows this by permitting you to easily plug your own
37commands into the very last stage of CUPS' filtering chain.
[598]38
[659]39Tea4CUPS provides three ways to launch commands :
[644]40
[659]41        - filters : A filter can modify the input datas before they
42                    are sent to the printer or made available to
43                    the pre and post hooks defined below.
44                    Currently a single filter can be defined
45                    per print queue.
46
[645]47        - prehooks : these are guaranteed to be launched before the
[598]48                     print job is sent to the real printer.
[645]49                     Any prehook which exits -1 can cancel the
[659]50                     print job. Any number of prehooks can be
51                     defined for a particular print queue.
[645]52
[598]53        - posthooks : these are guaranteed to be launched after the
[603]54                      print job has been sent to the real printer,
55                      unless the job was previously cancelled by a
[659]56                      prehook. Any number of posthooks can be
57                      defined for a particular print queue.
[645]58
[586]59To help your own commands, Tea4CUPS makes available as part of the
[617]60environment several variables which can be used from the
[659]61commands you use in pre and post hooks :
[586]62
63        TEAPRINTERNAME : The print queue name.
64        TEADIRECTORY : Tea4CUPS output directory.
65        TEADATAFILE : Full name of Tea4CUPS work file (in $TEADIRECTORY).
66        TEAJOBSIZE : Job's size in bytes.
67        TEAMD5SUM : MD5 sum of the job's datas.
68        TEACLIENTHOST : Client's hostname or IP address.
69        TEAJOBID : Job's Id.
70        TEAUSERNAME : Name of the user who launched the print job.
71        TEATITLE : Job's title.
72        TEACOPIES : Number of copies requested.
73        TEAOPTIONS : Options of the print job.
74        TEAINPUTFILE : Print job's data file or empty when job read from stdin.
[615]75        TEABILLING : Job's billing code (lp -o job-billing=SomeCode file.ps)
76        TEACONTROLFILE : Job's IPP message file (usually /var/spool/cups/c?????)
[645]77        TEASTATUS : Original CUPS backend's exit code : ONLY AVAILABLE FROM
[603]78                    posthooks, obviously.
[645]79
[659]80        None of these environment variables is available to filters.
81 
[627]82NB : Tea4CUPS requires a version of Python >= 2.1
83
[567]84=============================================================================
85
86Installation :
87--------------
88
[591]89  0 - Download Tea4CUPS from :
[645]90
[669]91        http://www.pykota.com/software/tea4cups
[645]92
93      and extract it :
94
[592]95        $ tar -zxf tea4cups-x.yy.tar.gz
[645]96
[592]97        where x.yy is Tea4CUPS' version number.
[645]98
99  1 - Copy the 'tea4cups' command into CUPS' backend directory,
[567]100      for example :
[645]101
[576]102        $ cp tea4cups /usr/lib/cups/backend
[673]103       
[674]104      If you use CUPS v1.2 or higher you must do this as well :
[673]105     
106        $ chown root.root /usr/lib/cups/backend/tea4cups
107        $ chmod 700 /usr/lib/cups/backend/tea4cups
[645]108
[644]109  2 - Restart CUPS in order for this new backend to be detected.
110      NB : For this to work you need CUPS 1.1.15 or higher.
111      You can use Tea4CUPS with older versions if you want, but
112      without autodetection.
[645]113
114  3 - Either from CUPS' web interface, add new printers with
[576]115      'Tea4CUPS managed' in front of the device's name.
[645]116
[674]117      Or by directly modifying CUPS' printers.conf file, or with
118      the lpadmin command line tool, just prepend each DeviceURI
119      value with 'tea4cups://', and restart CUPS.
[644]120      (Use this last method if autodetection doesn't work because
121      the version of CUPS you use is too old)
[645]122
123  4 - Copy tea4cups.conf into CUPS' configuration directory (where
[567]124      cupsd.conf resides) :
[645]125
[576]126        $ cp tea4cups.conf /etc/cups/
[645]127
128  5 - Modify tea4cups.conf to suit your needs. Several examples
[567]129      are included.
[645]130
131  6 - There's no 6 !
132
[567]133=============================================================================
134
[645]135Troubleshooting :
[567]136-----------------
137
138  1 - Set "LogLevel debug2" in CUPS' cupsd.conf
[645]139
[567]140  2 - Restart CUPS.
[645]141
[576]142  3 - Set "debug: yes" in the [global] section of tea4cups.conf
[645]143
[567]144  4 - Print something on a print queue managed
[576]145      by Tea4CUPS.
[645]146
[567]147  5 - Look at CUPS' error_log file for diagnostic and error messages.
[645]148
[567]149=============================================================================
[591]150
[645]151CUPS (Common UNIX(r) Printing System) is trademark property of Easy Software
[591]152Products.
153
154You can download CUPS from :
155
156        http://www.cups.org
157
158=============================================================================
[645]159
[567]160Please e-mail bugs to : alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.