root / pykota / trunk / docs / pkprinters.sgml @ 2949

Revision 2551, 4.8 kB (checked in by jerome, 19 years ago)

Replaced some 'filename' tags with 'command' tags.
Improved pkbcodes' documentation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1<!-- $Id$ -->
2
3<chapter>
4  <title>Manage printers with pkprinters</title>
5  <para>Last modified on $Date$</para>
6 
7  <para>
8    <command>pkprinters</command> is the preferred tool to manage printers in <application>PyKota</application>. 
9    It only manages printers, and do it well. With it you can add or delete printers or printer groups, or modify
10    existing printers or printers groups. This is also the tool to use to put printers into one or more printers groups.
11  </para> 
12 
13  <para>
14    The very first thing you have to do once <application>PyKota</application> is installed but before it can work,
15    is to add into <application>PyKota</application>'s database an entry for each of the print queues on
16    which you want to have print quota or accounting.
17    Although the <command>pkturnkey</command> command can be used to initialize your database and import
18    printers into it, the <command>pkprinters</command> command offers additionnal functionnalities
19    like full management of printers.
20  </para>
21 
22  <para>
23    Let's say your printing system has several print queues defined : <literal>HP2100</literal>, <literal>TekTro</literal>,
24    and <literal>StylusColor1</literal> and <literal>StylusColor2</literal>. You want to charge 5 cents per page on each of this print queues.
25    You just have to type :
26<screen>    
27$ pkprinters --add --charge 0.05 HP2100 TekTro StylusColor1 StylusColor2
28</screen>
29    <warning><title>Warning</title>
30      <para>Printers' names in PyKota are case-sensitive, so be careful to use the exact names
31            exposed by your printing system.
32      </para>
33    </warning>
34  </para>
35 
36  <para>
37    After some minutes, you think that you should charge more on the <literal>StylusColor1</literal>
38    and <literal>StylusColor2</literal> because they can do color.
39    You also want to enter a description for these printers, because you have several
40    of them :
41<screen>    
42$ pkprinters --charge 0.25 "StylusColor*"
43$ pkprinters --description "Stylus Color 900 First floor" StylusColor1
44$ pkprinters --description "Stylus Color 900 Second floor" StylusColor2
45</screen>
46  </para>
47 
48  <para>
49    You can now verify what you did :
50<screen>    
51$ pkprinters --list
52HP2100 [] (0.0 + #*0.05)
53TekTro [] (0.0 + #*0.05)
54StylusColor1 [Stylus Color 900 First floor] (0.0 + #*0.25)
55StylusColor2 [Stylus Color 900 Second floor] (0.0 + #*0.25)
56</screen>
57  </para>
58 
59  <para>
60    The command above has listed all print queues present in <application>PyKota</application>'s database,
61    along with their optional description and their base cost formula.
62    The cost formula includes the price per job, <literal>0.0</literal> in our examples,
63    and the price per page (<literal>#</literal> representing the number of pages).
64  </para>
65 
66  <para>
67    If you defined printers groups, then the total cost is computed as the recursive
68    sum of the printing cost on the current printer plus all the printers groups it
69    is a member of. In addition, each user can have an overcharging (or undercharging)
70    factor, by which the total printing cost will be multiplied to determine the real
71    cost of printing on a particular printer for a particular user.
72  </para>
73 
74  <sect1>
75    <title>Reference</title>
76    <para>
77      <cmdsynopsis>
78        <command>pkprinters</command>
79        <group choice="opt"><arg>-v</arg><arg>--version</arg></group>
80        <group choice="opt"><arg>-h</arg><arg>--help</arg></group>
81        <group choice="opt"><arg>-a</arg><arg>--add</arg></group>
82        <group choice="opt"><arg>-d</arg><arg>--delete</arg></group>
83        <group choice="opt">
84          <arg>-D <replaceable>desc</replaceable></arg>
85          <arg>--description <replaceable>desc</replaceable></arg>
86        </group>
87        <group choice="opt"><arg>-r</arg><arg>--remove</arg></group>
88        <group choice="opt">
89          <arg>-c <replaceable>p</replaceable>,<replaceable>j</replaceable></arg>
90          <arg>--charge <replaceable>p</replaceable>,<replaceable>j</replaceable></arg>
91        </group> 
92        <group choice="opt">
93          <arg>-g <replaceable>pgroup1</replaceable>,<replaceable>pgroup2</replaceable>,<replaceable>...</replaceable></arg>
94          <arg>--groups <replaceable>pgroup1</replaceable>,<replaceable>pgroup2</replaceable>,<replaceable>...</replaceable></arg>
95        </group> 
96        <group choice="opt"><arg>-l</arg><arg>--list</arg></group>
97        <group choice="opt"><arg>-r</arg><arg>--remove</arg></group>
98        <group choice="opt"><arg>-s</arg><arg>--skipexisting</arg></group>
99        <group choice="opt">
100          <arg>-m <replaceable>s</replaceable></arg>
101          <arg>--maxjobsize <replaceable>s</replaceable></arg>
102        </group> 
103        <group choice="opt"><arg>-p</arg><arg>--passthrough</arg></group>
104        <group choice="opt"><arg>-n</arg><arg>--nopassthrough</arg></group>
105      </cmdsynopsis>
106    </para>
107  </sect1>
108</chapter>
109
Note: See TracBrowser for help on using the browser.