root / pkpgcounter / trunk / README @ 418

Revision 418, 5.7 kB (checked in by jerome, 18 years ago)

Added plain text parser with support for both page counting and ink coverage.

  • 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 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 2 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, write to the Free Software
18Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
20=============================================================================
21
22pkpgcounter is a generic Page Description Language parser which can either
23compute the number of pages in a document, or compute the percent of
24ink coverage needed to print each page, in different colorspaces.
25
26pkpgcounter currently recognizes the following document formats :
27
28        - PostScript (both DSC compliant and binary)
29       
30        - PDF
31       
32        - PCL3/4/5
33       
34        - PCLXL (aka PCL6)
35       
36        - DVI
37       
38        - Plain text
39       
40        - TIFF
41       
42        - ESC/P2
43       
44        - OpenDocument (ISO/IEC DIS 26300)
45       
46        - Zenographics ZjStream
47       
48        - Samsung QPDL (aka SPL2)
49       
50        - Samsung SPL1
51       
52The five latter ones, as well as some TIFF documents, are currently
53only supported in page counting mode.
54
55By default, when launched pkpgcounter prints on its standard output
56a single integer representing the total number of pages in all the
57files which filenames you've passed on the command line.
58
59With no argument, or with a single dash in non-option arguments,
60pkpgcounter reads datas to parse from its standard input in addition
61to other non-options arguments which are treated as filenames
62representing the files to parse.
63
64See pkpgcounter --help for details and examples.
65
66=============================================================================
67
68Installation :
69--------------
70
71  0 - Download pkpgcounter from :
72 
73        http://www.pykota.com/software/pkpgcounter/download
74       
75      and extract it : 
76     
77        $ tar -zxf pkpgcounter-x.yy.tar.gz
78       
79        where x.yy is pkpgcounter' version number.
80       
81  1 - Run the installation script :
82     
83        $ python setup.py install
84       
85      This will usually install the pkpgcounter into /usr/bin and 
86      the library into /usr/lib/python2.?/site-packages/pkpgpdls/
87       
88  2 - Use pkpgcounter :
89 
90      $ pkpgcounter file1.ps file2.pclxl ... <fileN.escp2
91     
92      pkpgcounter will display the total size in pages of all the files
93      passed on the command line.
94     
95      $ pkpgcounter --colorspace bw --resolution 150 file1.ps
96 
97      Will output the percent of black ink needed on each page of
98      the file1.ps file rendered at 150 dpi.
99     
100  3 - That's all !   
101 
102 
103IMPORTANT : To compute ink coverage, pkpgcounter relies on third party
104software which must be installed. These third party software are :
105
106        - GhostScript (this one is needed for all file formats).
107       
108        - The Python Imaging Library, aka PIL (this one is needed for all
109          file formats).
110       
111        - GhostPCL (this one is needed for the PCL3/4/5 and PCLXL formats)
112         
113        - The LaTeX typesetting software, in particular the dvips command
114          (this one is needed for the DVI file format).
115       
116=============================================================================
117
118Troubleshooting :
119-----------------
120
121  If pkpgcounter gives incorrect results to you, please make an incorrectly
122  parsed data file available to us on some website, and tell us which
123  driver was used.
124 
125  If pkpgcounter complain about your system lacking the Python Psyco module,
126  please consider installing it to speedup file parsing. However, don't forget
127  that Psyco currently only runs on the 32 bits x86 platform, so no need to
128  install it if you've got another system type.
129 
130=============================================================================
131
132Before pkpgcounter v1.86, the PCL3/4/5 parser was a Python backport of an early
133release of the PCLCount software by Eduardo Gielamo Oliveira and Rodolfo Broco
134Manin, available from :
135
136    http://www.fea.unicamp.br/pclcount/
137   
138Their software is distributed under either the terms of a BSD-like license,   
139or the terms of the GNU General Public License of the Free Software Foundation.
140
141Beginning with pkpgcounter v1.86, the PCL3/4/5 parser was rewritten from
142scratch, and is now much more readable, maintainable, and of course accurate.
143
144The old parser is still available, but not used, in the pkpgpdls/oldpcl345.py
145Python module.
146   
147pkpgcounter's PCLXL (aka PCL6) parser doesn't originate from PCLCount, but
148was written from scratch, just like all the other parsers included in
149pkpgcounter.
150
151=============================================================================
152
153pkpgcounter's ink coverage algorithm for the CMYK colorspace is a
154direct Python port from the PrintBill project by Daniel Franklin.
155PrintBill is distributed under the terms of the GNU General Public
156License of the Free Software Foundation, just like pkpgcounter. The
157algorithms used for the other colorspaces are a complete rewrite of
158PrintBill's algorithms using both Python and the Python Imaging
159Library's facilities.
160
161=============================================================================
162
163Please e-mail bugs to : alet@librelogiciel.com (Jerome Alet)
Note: See TracBrowser for help on using the browser.