[1406] | 1 | <!-- $Id$ --> |
---|
| 2 | |
---|
| 3 | <chapter> |
---|
| 4 | <title>Manage printers with pkprinters</title> |
---|
| 5 | <para>Last modified on $Date$</para> |
---|
| 6 | |
---|
| 7 | <para> |
---|
[2235] | 8 | <filename>pkprinters</filename> is the preferred tool to manage printers in <application>PyKota</application>. |
---|
[1406] | 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 | |
---|
[2235] | 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 | |
---|
[1406] | 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> |
---|
[2115] | 80 | <group choice="opt"> |
---|
| 81 | <arg>-D <replaceable>desc</replaceable></arg> |
---|
| 82 | <arg>--description <replaceable>desc</replaceable></arg> |
---|
| 83 | </group> |
---|
[1406] | 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> |
---|
[2115] | 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> |
---|
[1406] | 96 | </cmdsynopsis> |
---|
| 97 | </para> |
---|
| 98 | </sect1> |
---|
| 99 | </chapter> |
---|
| 100 | |
---|