1 | <!-- $Id$ --> |
---|
2 | |
---|
3 | <chapter> |
---|
4 | <title>Manage printers with pkprinters</title> |
---|
5 | <para>Last modified on $Date$</para> |
---|
6 | |
---|
7 | <para> |
---|
8 | <filename>pkprinters</filename> 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 | </para> |
---|
18 | |
---|
19 | <para> |
---|
20 | Let's say your printing system has several print queues defined : <literal>HP2100</literal>, <literal>TekTro</literal>, |
---|
21 | and <literal>StylusColor1</literal> and <literal>StylusColor2</literal>. You want to charge 5 cents per page on each of this print queues. |
---|
22 | You just have to type : |
---|
23 | <screen> |
---|
24 | $ pkprinters --add --charge 0.05 HP2100 TekTro StylusColor1 StylusColor2 |
---|
25 | </screen> |
---|
26 | <warning><title>Warning</title> |
---|
27 | <para>Printers' names in PyKota are case-sensitive, so be careful to use the exact names |
---|
28 | exposed by your printing system. |
---|
29 | </para> |
---|
30 | </warning> |
---|
31 | </para> |
---|
32 | |
---|
33 | <para> |
---|
34 | After some minutes, you think that you should charge more on the <literal>StylusColor1</literal> |
---|
35 | and <literal>StylusColor2</literal> because they can do color. |
---|
36 | You also want to enter a description for these printers, because you have several |
---|
37 | of them : |
---|
38 | <screen> |
---|
39 | $ pkprinters --charge 0.25 "StylusColor*" |
---|
40 | $ pkprinters --description "Stylus Color 900 First floor" StylusColor1 |
---|
41 | $ pkprinters --description "Stylus Color 900 Second floor" StylusColor2 |
---|
42 | </screen> |
---|
43 | </para> |
---|
44 | |
---|
45 | <para> |
---|
46 | You can now verify what you did : |
---|
47 | <screen> |
---|
48 | $ pkprinters --list |
---|
49 | HP2100 [] (0.0 + #*0.05) |
---|
50 | TekTro [] (0.0 + #*0.05) |
---|
51 | StylusColor1 [Stylus Color 900 First floor] (0.0 + #*0.25) |
---|
52 | StylusColor2 [Stylus Color 900 Second floor] (0.0 + #*0.25) |
---|
53 | </screen> |
---|
54 | </para> |
---|
55 | |
---|
56 | <para> |
---|
57 | The command above has listed all print queues present in <application>PyKota</application>'s database, |
---|
58 | along with their optional description and their base cost formula. |
---|
59 | The cost formula includes the price per job, <literal>0.0</literal> in our examples, |
---|
60 | and the price per page (<literal>#</literal> representing the number of pages). |
---|
61 | </para> |
---|
62 | |
---|
63 | <para> |
---|
64 | If you defined printers groups, then the total cost is computed as the recursive |
---|
65 | sum of the printing cost on the current printer plus all the printers groups it |
---|
66 | is a member of. In addition, each user can have an overcharging (or undercharging) |
---|
67 | factor, by which the total printing cost will be multiplied to determine the real |
---|
68 | cost of printing on a particular printer for a particular user. |
---|
69 | </para> |
---|
70 | |
---|
71 | <sect1> |
---|
72 | <title>Reference</title> |
---|
73 | <para> |
---|
74 | <cmdsynopsis> |
---|
75 | <command>pkprinters</command> |
---|
76 | <group choice="opt"><arg>-v</arg><arg>--version</arg></group> |
---|
77 | <group choice="opt"><arg>-h</arg><arg>--help</arg></group> |
---|
78 | <group choice="opt"><arg>-a</arg><arg>--add</arg></group> |
---|
79 | <group choice="opt"><arg>-d</arg><arg>--delete</arg></group> |
---|
80 | <group choice="opt"> |
---|
81 | <arg>-D <replaceable>desc</replaceable></arg> |
---|
82 | <arg>--description <replaceable>desc</replaceable></arg> |
---|
83 | </group> |
---|
84 | <group choice="opt"><arg>-r</arg><arg>--remove</arg></group> |
---|
85 | <group choice="opt"> |
---|
86 | <arg>-c <replaceable>p</replaceable>,<replaceable>j</replaceable></arg> |
---|
87 | <arg>--charge <replaceable>p</replaceable>,<replaceable>j</replaceable></arg> |
---|
88 | </group> |
---|
89 | <group choice="opt"> |
---|
90 | <arg>-g <replaceable>pgroup1</replaceable>,<replaceable>pgroup2</replaceable>,<replaceable>...</replaceable></arg> |
---|
91 | <arg>--groups <replaceable>pgroup1</replaceable>,<replaceable>pgroup2</replaceable>,<replaceable>...</replaceable></arg> |
---|
92 | </group> |
---|
93 | <group choice="opt"><arg>-l</arg><arg>--list</arg></group> |
---|
94 | <group choice="opt"><arg>-r</arg><arg>--remove</arg></group> |
---|
95 | <group choice="opt"><arg>-s</arg><arg>--skipexisting</arg></group> |
---|
96 | </cmdsynopsis> |
---|
97 | </para> |
---|
98 | </sect1> |
---|
99 | </chapter> |
---|
100 | |
---|