Print Release System (c) 2009 Toby Norden and Steven Brewer I was unable to find a good, free, piece of software to provide web-based management of System V printing. For that purpose, I've created this Print Release System, which sits between Samba and the System V printing system. It ought to be relatively easy to make it work with other printing systems too. The system works by telling Samba to submit print jobs using a custom print command in smb.conf: print command = /usr/local/samba/lib/pagecount.php %p %s %u The pagecount.php script submits the printjob, but tells the printing system to hold the job. In System V printing, this is "lp -H hold". It also parses the postscript of the job to calculate the number of pages and stores the result in a mysql database. After the job is printed, the user needs to consult a webpage that shows their queued jobs, which can be selected and released for printing (or canceled). A record is maintained for each job and, once the user reaches a quota, they can't release any further jobs to the printer. Most of the configuration options are in the config.php file. There are a few gotchas: (1) you need to create two mysql users for the system. The first should be privileged only to insert into the queue table: grant insert on pagecounts.queue to 'username'@'localhost' identified by 'password'; The limited user is for the pagecount.php script -- since that script needs to run as the user, it must be readable by all users on the system, hence the unprivileged mysql user. The other user only needs to be able to insert, select, and delete. There is a management tool (manage.php) that allows administrators to add quota to users and a reporting tool (report.php) that will provide a summary showing an ordered list of users and how much they've printed. Finally, there is also a cron script that can be run periodically that deletes queued jobs that haven't been printed and cleans up the queue table in the database. ---- Print Release System Copyright (C) 2009 Toby Norden and Steven D. Brewer 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 3 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, see .