root / pkpgcounter / trunk / README @ 527

Revision 527, 6.2 kB (checked in by jerome, 16 years ago)

Now the presence of executable dependencies is tested at runtime.

  • Property svn:keyword set to Auth Date Id Rev
  • Property svn:keywords set to Auth Date Id Rev
Line 
1# $Id$
2
3pkpgcounter : a generic Page Description Language parser
4
5(c) 2003, 2004, 2005, 2006, 2007 Jerome Alet <alet@librelogiciel.com>
6This program is free software: you can redistribute it and/or modify
7it under the terms of the GNU General Public License as published by
8the Free Software Foundation, either version 3 of the License, or
9(at your option) any later version.
10
11This program is distributed in the hope that it will be useful,
12but WITHOUT ANY WARRANTY; without even the implied warranty of
13MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14GNU General Public License for more details.
15
16You should have received a copy of the GNU General Public License
17along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
19=============================================================================
20
21pkpgcounter is a generic Page Description Language parser which can either
22compute the number of pages in a document, or compute the percent of
23ink coverage needed to print each page, in different colorspaces.
24
25pkpgcounter currently recognizes the following document formats :
26
27        - PostScript (both DSC compliant and binary)
28       
29        - PDF
30       
31        - PCL3/4/5
32       
33        - PCLXL (aka PCL6)
34       
35        - DVI
36       
37        - Plain text
38       
39        - TIFF
40       
41        - Several other image formats
42       
43        - ESC/P2
44       
45        - OpenDocument (ISO/IEC DIS 26300)
46       
47        - Zenographics ZjStream
48       
49        - Samsung QPDL (aka SPL2)
50       
51        - Samsung SPL1
52       
53        - ESC/PageS03
54       
55        - Brother HBP
56       
57        - Hewlett-Packard Lightweight Imaging Device Interface Language
58       
59The eight latter ones, as well as some TIFF documents, are currently
60only supported in page counting mode.
61
62By default, when launched pkpgcounter prints on its standard output
63a single integer representing the total number of pages in all the
64files which filenames you've passed on the command line.
65
66With no argument, or with a single dash in non-option arguments,
67pkpgcounter reads datas to parse from its standard input in addition
68to other non-options arguments which are treated as filenames
69representing the files to parse.
70
71See pkpgcounter --help for details and examples.
72
73=============================================================================
74
75Installation :
76--------------
77
78  0 - Download pkpgcounter from :
79 
80        http://www.pykota.com/software/pkpgcounter/download
81       
82      and extract it : 
83     
84        $ tar -zxf pkpgcounter-x.yy.tar.gz
85       
86        where x.yy is pkpgcounter' version number.
87       
88  1 - Run the installation script :
89     
90        $ python setup.py install
91       
92      This will usually install the pkpgcounter into /usr/bin and 
93      the library into /usr/lib/python2.?/site-packages/pkpgpdls/
94       
95  2 - Use pkpgcounter :
96 
97      $ pkpgcounter file1.ps file2.pclxl ... <fileN.escp2
98     
99      pkpgcounter will display the total size in pages of all the files
100      passed on the command line.
101     
102      $ pkpgcounter --colorspace bw --resolution 150 file1.ps
103 
104      Will output the percent of black ink needed on each page of
105      the file1.ps file rendered at 150 dpi.
106     
107  3 - That's all !   
108 
109DEPENDENCIES :
110
111  Depending on the file formats you plan to work with, and on the accounting
112  mode you want to use (pages vs ink), you may need to install some or all
113  of the additional software listed below. Usually, if one is needed then
114  pkpgcounter will complain. So your best bet is probably to not install
115  anything until pkpgcounter asks you to do so on its standard error
116  stream. Here's the list of software which may be needed for some
117  operations with pkpgcounter :
118
119  - GhostScript (gs)
120 
121  - The Python Imaging Library (python-imaging)
122 
123  - The X Virtual Frame Buffer (xvfb)
124 
125  - The X authority file utility xauth (xbase-clients)
126 
127  - The dvips converter from TeX DVI to PostScript (tetex-bin)
128 
129  - The ImageMagick image manipulation toolkit (imagemagick)
130 
131  - The AbiWord word processor (abiword)
132
133  - The GhostPCL/GhostPDL's pcl6 converter from PCL to PostScript
134       
135=============================================================================
136
137Troubleshooting :
138-----------------
139
140  If pkpgcounter gives incorrect results to you, please make an incorrectly
141  parsed data file available to us on some website, and tell us which
142  driver was used.
143 
144  If pkpgcounter complain about your system lacking the Python Psyco module,
145  please consider installing it to speedup file parsing. However, don't forget
146  that Psyco currently only runs on the 32 bits x86 platform, so no need to
147  install it if you've got another system type.
148 
149=============================================================================
150
151Before pkpgcounter v1.86, the PCL3/4/5 parser was a Python backport of an early
152release of the PCLCount software by Eduardo Gielamo Oliveira and Rodolfo Broco
153Manin, available from :
154
155    http://www.fea.unicamp.br/pclcount/
156   
157Their software is distributed under either the terms of a BSD-like license,   
158or the terms of the GNU General Public License of the Free Software Foundation.
159
160Beginning with pkpgcounter v1.86, the PCL3/4/5 parser was rewritten from
161scratch, and is now much more readable, maintainable, and of course accurate.
162
163The old parser was still available until pkpgcounter v2.18 was published, but
164was definitely removed after that, just before pkpgcounter v3.00 was published.
165   
166pkpgcounter's PCLXL (aka PCL6) parser doesn't originate from PCLCount, but
167was written from scratch, just like all the other parsers included in
168pkpgcounter.
169
170=============================================================================
171
172pkpgcounter's ink coverage algorithm for the CMYK colorspace is a
173direct Python port from the PrintBill project by Daniel Franklin.
174PrintBill is distributed under the terms of the GNU General Public
175License of the Free Software Foundation, version 2 or higher. The
176algorithms used for the other colorspaces are a complete rewrite of
177PrintBill's algorithms using both Python and the Python Imaging
178Library's facilities.
179
180=============================================================================
181
182Please e-mail bugs to : alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.