root / pkpgcounter / trunk / bin / pkpgcounter @ 545

Revision 545, 3.5 kB (checked in by jerome, 16 years ago)

Added support for Canon BJ/BJC file format in page counting mode.

  • Property svn:executable set to *
  • Property svn:keywords set to Auth Date Id Rev
RevLine 
[185]1#! /usr/bin/env python
2# -*- coding: ISO-8859-15 -*-
3#
4# pkpgcounter : a generic Page Description Language parser
5#
[443]6# (c) 2003, 2004, 2005, 2006, 2007 Jerome Alet <alet@librelogiciel.com>
[463]7# This program is free software: you can redistribute it and/or modify
[185]8# it under the terms of the GNU General Public License as published by
[463]9# the Free Software Foundation, either version 3 of the License, or
[185]10# (at your option) any later version.
[463]11#
[185]12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
[463]18# along with this program.  If not, see <http://www.gnu.org/licenses/>.
[185]19#
20# $Id$
21#
22#
23
[211]24import sys
[235]25from pkpgpdls.version import __version__, __author__, __authoremail__, \
[223]26                                __years__, __gplblurb__
[235]27from pkpgpdls import analyzer
[186]28
[223]29__doc__ = """pkpgcounter v%(__version__)s (c) %(__years__)s %(__author__)s
30
31pkpgcounter is a generic Page Description Language parser.
32
33pkpgcounter parses any number of input files and/or its standard input
34and outputs the number of pages needed to print these documents.
35
[369]36pkpgcounter can also compute the percent of ink coverage in different
37colorspaces for several file formats.
[223]38
[375]39pkpgcounter currently recognizes the following document formats :
[369]40
[223]41    * PostScript (both DSC compliant and binary)
[528]42    * PDF
[223]43    * PCLXL (aka PCL6)
[528]44    * PCL3/4/5
[223]45    * DVI
[528]46    * OpenDocument (ISO/IEC DIS 26300)
[529]47    * Microsoft Word (c) (tm) (r) (etc...)
[418]48    * Plain text
[223]49    * TIFF
[502]50    * Several other image formats
[223]51    * ESC/P2
[329]52    * Zenographics ZjStream
[386]53    * Samsung QPDL (aka SPL2)
[418]54    * Samsung SPL1
[476]55    * ESC/PageS03
[480]56    * Brother HBP
[485]57    * Hewlett-Packard LIDIL (hpijs)
[539]58    * Structured Fax
[545]59    * Canon BJ/BJC
[223]60
[545]61The nine latter ones, as well as some TIFF documents, are currently
[528]62only supported in page counting mode.
[369]63
[223]64command line usage :
65
66  pkpgcounter [options] [files]
67
68options :
69
[369]70  -v | --version        Prints pkpgcounter's version number then exits.
71  -h | --help           Prints this message then exits.
[223]72 
[369]73  -d | --debug          Activate debug mode.
[223]74 
[369]75  -cCOLORSPACE, --colorspace=COLORSPACE
76                        Activate the computation of ink usage, and defines the
[439]77                        colorspace to use. Supported values are 'BW' (Black),
78                        'RGB', 'CMYK', 'CMY', and 'GC' (Grayscale vs Color).
79                        'GC' is useful if you only need to differentiate
80                        grayscale pages from coloured pages but don't care
81                        about ink usage per se.
[369]82                       
83  -rRESOLUTION, --resolution=RESOLUTION
84                        The resolution in DPI to use when checking ink usage.
85                        Lower resolution is faster but less accurate. Default
86                        is 72 dpi.
87 
[223]88examples :                             
89
90  $ pkpgcounter file1.ps file2.escp2 file3.pclxl <file4.pcl345
91 
92  Will launch pkpgcounter and will output the total number of pages
93  needed to print all the documents specified.
94 
[369]95  $ pkpgcounter --colorspace bw --resolution 150 file1.ps
96 
97  Will output the percent of black ink needed on each page of
[374]98  the file1.ps file rendered at 150 dpi.
[369]99 
[223]100%(__gplblurb__)s 
101
102Please e-mail bugs to: %(__authoremail__)s"""
103
[199]104if __name__ == "__main__" : 
[211]105    if (len(sys.argv) >= 2) and (sys.argv[1] in ("-h", "--help")) :
[223]106        print __doc__ % globals()
[211]107    else :   
108        analyzer.main()
Note: See TracBrowser for help on using the browser.