| 13 | |
| 14 | <para> |
| 15 | A filter is a computer program which takes data in one format as its input, and outputs the |
| 16 | same data but transformed into another format. <application>CUPS</application> already |
| 17 | contains many filters. For example there's one filter named <application>pstops</application> which accepts |
| 18 | PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having |
| 19 | eventually rearranged the pages to fit several pages on a single sheet of paper, or other manipulations |
| 20 | like that. |
| 21 | </para> |
| 22 | |
| 23 | <para> |
| 24 | The <application>pstops</application> filter described above is also in charge of doing basic page |
| 25 | accounting, but <application>PyKota</application> currently doesn't use this facility since it may |
| 26 | prove to be unreliable depending on the drivers used or if a paper jam occur for example. |
| 27 | </para> |
| 28 | |
| 29 | <para> |
| 30 | So to do its own accounting, <application>PyKota</application> has its own filter, named <application>pykota</application>, |
| 31 | which you have to plug into the different set of filters used by <application>CUPS</application>. The procedure to |
| 32 | install the <application>pykota</application> filter is described in the |
| 33 | <xref linkend="installation" endterm="installation"> chapter. |
| 34 | </para> |
| 35 | |
| 36 | <para> |
| 37 | Currently the <application>pykota</application> filter is used at the very last stage of the print mechanism, |
| 38 | just before the final data is sent to the printer, but it may eventually be used earlier with some |
| 39 | modifications to <application>CUPS</application>'s filtering configuration. This is not tested yet, but this |
| 40 | may be the solution to use <application>PyKota</application> with printers which really needs to have |
| 41 | a <literal>*cupsFilter</literal> line in their <acronym>PPD</acronym> file, i.e. non-postscript printers. |
| 42 | </para> |
| 43 | |
| 44 | <para> |
| 45 | The <application>pykota</application> filter really is the only thing which depends on <application>CUPS</application>, |
| 46 | so it is probable that a next version of <application>PyKota</application> will support other printing environments. |
| 47 | </para> |
| 48 | |