Changeset 1600 for pykota/trunk/docs/filterpykota.sgml
- Timestamp:
- 07/16/04 14:22:47 (20 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
pykota/trunk/docs/filterpykota.sgml
r1500 r1600 11 11 <para> 12 12 PyKota doesn't currently account for ink usage, it only accounts 13 pages. To account for ink usage, you should use PrintBill instead .13 pages. To account for ink usage, you should use PrintBill instead for now. 14 14 </para> 15 15 </footnote> … … 26 26 PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having 27 27 eventually rearranged the pages to fit several pages on a single sheet of paper, or other manipulations 28 like that. 28 like that. <application>LPRng</application> also contains several filters like this. 29 29 </para> 30 30 … … 36 36 37 37 <para> 38 <application>LPRng</application> can also use filters, one often used in combination with 39 <application>LPRng</application> is <application>magicfilter</application> which can convert 40 different input formats to native printers languages like PostScript or ESC/P2. 38 <application>LPRng</application> can also use filters, often used in combination with 39 <application>LPRng</application> are <application>magicfilter</application> which can convert 40 different input formats to native printers languages like PostScript or ESC/P2 and 41 <application>ifhp</application> which can do low-level accounting. 41 42 </para> 42 43 … … 44 45 So to do its own accounting, <application>PyKota</application> has its own filters, for <application>CUPS</application> 45 46 it's named <filename>cupspykota</filename>, which is in fact a <application>CUPS</application> backends wrapper, 46 and for <application>LPRng</application> it's named ########## TODO ##########.47 and for <application>LPRng</application> it's named <filename>lprngpykota</filename>, as you have probably guessed. 47 48 The procedure to plug the correct filter into your printing system is described in the 48 49 <xref linkend="installation" endterm="installation"> chapter. … … 52 53 Currently with a <application>CUPS</application> internal accounting mechanism, the <filename>pstops</filename> 53 54 filter can be bypassed. That's why <application>PyKota</application> uses its own backend. 54 The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass the filtering mechanism, so you can use55 The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass it, so you can use 55 56 any printer with any driver and any command line option, and you can be sure that your 56 57 print job will be correctly accounted for. … … 58 59 59 60 <para> 60 When used with an <application>LPRng</application> backend, the accounting filter is not defined the same way61 input filters are, so the problem described above doesn't exist, and <application>PyKota</application>62 may work with non-postscript printers, provided they can report their page counter and you know how to retrieve63 it.64 </para>65 66 <para>67 When you submit a print job, <application>PyKota</application>'s accounting mechanism is automatically launched by your printing system,68 so it has to detect which system you are using (<application>CUPS</application> or <application>LPRng</application>)69 and behave like if it was specifically designed for your printing system. Fortunately there's not a lot70 of differences, the more important one is the exit codes used to tell the printing environment if a job71 has to be accepted or rejected.72 </para>73 74 <para>75 61 When using the <literal>hardware</literal> accounting method, 76 the <application>cupspykota</application> CUPS backend77 ask sthe printer for its internal page counter at the start and at the end of the print job, and78 computes the values' difference so accounting is done immediately.62 <application>PyKota</application> launches the script you specified to 63 ask the printer for its internal page counter at the start and at the end of the print job, and 64 computes the values' difference to know the job's size. 79 65 </para> 80 66 81 67 <para> 82 68 When using the <literal>software</literal> accounting method, 83 and if the user is still allowed to print,84 69 the command you specified is launched with the job's data on its 85 70 standard input. Your command must print the job's size in number of 86 71 pages on a single line on its standard output. This number is then 87 72 read by <application>PyKota</application> and used to update the current user's quota information. 88 Of course checks are also done like with the <literal>hardware</literal>89 accounting method, to see if the current job is allowed to be printed or not.90 73 </para> 91 74 … … 103 86 104 87 $Log$ 88 Revision 1.12 2004/07/16 12:22:45 jalet 89 LPRng support early version 90 105 91 Revision 1.11 2004/05/25 09:49:52 jalet 106 92 The old pykota filter has been removed. LPRng support disabled for now.