# $Id$ pkpgcounter : a generic Page Description Language parser (c) 2003, 2004, 2005, 2006, 2007 Jerome Alet This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ============================================================================= pkpgcounter News : * 2.13 : - Nowrecognizes the GC colorspace if you only want to differentiate grayscale pages from coloured pages. In this colorspace, the percents are always "G : 100.0 C : 0.0" or "G : 0.0 C : 100.0" respectively for a grayscale page and a coloured page. * 2.12 : - Fixed a problem with the PostScript parser. * 2.11 : - Improved overall robustness in ink accounting mode. * 2.10 : - Added a plain text parser, with support for both page counting and ink coverage. - Added a minimal SPL1 parser. - Fixed a problem in the PCLXL parser related to Kyocera printer drivers. * 2.00 : - The PCL3/4/5 parser was rewritten from scratch and is now table driven. - Improved the PostScript parser. * 1.85 : - Added support for Samsung QPDL (aka SPL2) file format in page counting mode, thanks to the work done by Aurélien Croc on reverse engineering the file format. * 1.85alpha : - Added test document and program to generate the test document to check the functionning of the ink coverage computation algorithm. * 1.84 : - Computation of ink coverage now works and is documented. The supported file formats are : PS, PDF, PCLXL, PCL3/4/5, DVI and TIFF. * 1.84alpha : - Added initial support for the computation of ink coverage. See python analyzer.py --help for details. The same command line options work for pkpgcounter, although it's not documented yet. * 1.83 : - Fixed a famously known 'brown paper bag' issue with file type autodetection. * 1.82 : - Fixed PCL3/4/5 parser to detect recent Xerox drivers' output. * 1.81 : - Improved the gs+Acrobat Reader fix done in 1.78. * 1.80 : - Added support for Zenographics ZjStream input format. * 1.79 : - Fixed a small problem in PostScript parser with dvips output. * 1.78 : - Launches gs less often when printing is done from Acrobat Reader. * 1.77 : - Fixed some problems with the code introduced in 1.76. - Improved PCLXL parser's speed by almost 10%. * 1.76 : - Improved the PCLXL parser wrt undocumented tags. - Preliminary support for Kyocera Prescribe commands. * 1.75 : - Added preliminary support for Canon ImageRunner's "LIPS" or "UFR" (I don't know which) Page Description Language. * 1.74 : - Fixed a problem in the retrieval of named media sizes in PCLXL. - Changed copyright years. * 1.73 : - Fixed duplex detection code in PCL3/4/5 parser. - Fixed PCLXL detection code. - Fixed retrieval of custom media types' names in PCLXL. - Added inactive code to compute ink coverage ala PrintBill. * 1.72 : - Improved heuristic to detect when ghostscript has to be used to do the parsing. * 1.71 : - Now uses ghostscript as the parser when the PS stream was created by a particular MSWindows driver. - Only complains about Psyco missing at install time, and stays quiet when running without Psyco. * 1.70 : - Fixed some PJL escaping issue in the PCLXL and PCL3/4/5 parsers. * 1.69 : - Improved PCL3/4/5 parser. - Improved PCLXL parser wrt PJL stuff. * 1.68 : - Improved PostScript parser. * 1.67 : - Improved PostScript parser. - Improved PCL3/4/5 parser. * 1.66 : - Improved PCLXL parser. - Improved PCL3/4/5 parser. * 1.65 : - Improved PostScript parser. - Improved PCL3/4/5 parser. * 1.64 : - Improved PCL3/4/5 parser. * 1.63 : - Now handles PJL statements to extract number of copies, duplex mode and paper size in the PCLXL and PCL3/4/5 parsers. * 1.62 : - Better handling of the number of copies in the PCLXL parser. - Better handling of the number of copies in the PCL3/4/5 parser. * 1.61 : - Improved PCL3/4/5 parser. - Better handling of the number of copies in the PostScript parser. Now the number can be different from page to page. * 1.60 : - Improved PCLXL parser. * 1.59 : - Major rewrite of the PDF parser to correctly handle all line endings. * 1.58 : - Fix for PDF files which contain several versions of the same PDF object. - Doesn't break when python-psyco is not available. * 1.57 : - Fixed a recently introduced bug in binary postscript handling code. * 1.56 : - Renamed the library from pdlanalyzer into pkpgpdls to avoid problems when the code will be integrated back into PyKota. * 1.55 : - Added support for OpenOffice.org Writer and Impress documents. * 1.54 : - Added online documentation and a manual page. * 1.53 : - Moved code around to improve maintainability. * 1.52 : - Added support for the TIFF format. * 1.51 : - Added support for the DVI format. * 1.50 : - Major code changes to modularize. The pkpgcounter command line tool is now just an almost empty skeleton, which uses the pdlanalyzer library. - Several improvements to the parsing code. * 1.00 : - First release.