Show
Ignore:
Timestamp:
07/16/04 14:22:47 (20 years ago)
Author:
jalet
Message:

LPRng support early version

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • pykota/trunk/docs/filterpykota.sgml

    r1500 r1600  
    1111      <para> 
    1212        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. 
    1414      </para>   
    1515    </footnote>   
     
    2626    PostScript data as its input, and, as its name implies, outputs PostScript data too, but after having 
    2727    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. 
    2929  </para> 
    3030   
     
    3636   
    3737  <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. 
    4142  </para>   
    4243   
     
    4445    So to do its own accounting, <application>PyKota</application> has its own filters, for <application>CUPS</application> 
    4546    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. 
    4748    The procedure to plug the correct filter into your printing system is described in the  
    4849    <xref linkend="installation" endterm="installation"> chapter. 
     
    5253    Currently with a <application>CUPS</application> internal accounting mechanism, the <filename>pstops</filename> 
    5354    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 use 
     55    The <filename>cupspykota</filename> backend wrapper ensures that jobs can't bypass it, so you can use 
    5556    any printer with any driver and any command line option, and you can be sure that your 
    5657    print job will be correctly accounted for. 
     
    5859   
    5960  <para> 
    60     When used with an <application>LPRng</application> backend, the accounting filter is not defined the same way  
    61     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 retrieve 
    63     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 lot 
    70     of differences, the more important one is the exit codes used to tell the printing environment if a job 
    71     has to be accepted or rejected.  
    72   </para> 
    73    
    74   <para> 
    7561    When using the <literal>hardware</literal> accounting method, 
    76     the <application>cupspykota</application> CUPS backend  
    77     asks the printer for its internal page counter at the start and at the end of the print job, and 
    78     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.  
    7965  </para> 
    8066   
    8167  <para> 
    8268    When using the <literal>software</literal> accounting method, 
    83     and if the user is still allowed to print, 
    8469    the command you specified is launched with the job's data on its  
    8570    standard input. Your command must print the job's size in number of 
    8671    pages on a single line on its standard output. This number is then 
    8772    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. 
    9073  </para> 
    9174   
     
    10386 
    10487$Log$ 
     88Revision 1.12  2004/07/16 12:22:45  jalet 
     89LPRng support early version 
     90 
    10591Revision 1.11  2004/05/25 09:49:52  jalet 
    10692The old pykota filter has been removed. LPRng support disabled for now.