Link to home
Start Free TrialLog in
Avatar of HASujoy
HASujoy

asked on

How do I manage print jobs sent to my network printer?

Here's the next in a series of questions I'm asking about my Internet cafe management software. I've written and am already using my visual basic software to handle my own centre.

I have server software running on a PC at the counter for a member of staff to manage client accounts.

Each client PC runs software to lock down the PC until the customer logs in to their account.

I have a printer connected to another PC at the counter which is shared on the network so each client PC can print to it.

Now what I want to do is to manage the printing by client PCs so that I can deduct the money directly from their accounts on my server for each page printed. In addition I want to be able to pop up a message on the client saying exactly how many pages are to be printed, the cost of doing it, and a Ok/Cancel option for whether or not to proceed with printing.

I've been racking my brains and searching the net for ideas on how to do this. Currently my thoughts are that I could run some software on a PC that administrates the print queue. I'd keep the queue paused at all times. As print jobs arrive on the queue I would determine the Client PC that sent the job and then pop up a message through my client software to the appropriate customer. If they decide to proceed with printing then I would individually pause every print job in the queue apart from the one I want to go ahead. Then I'd unpause the queue for a few milliseconds and immediately repause it. From my manual experiments, I believe the single unpaused job would spool and all other paused jobs would remain in the queue. It would also be straightforward enough to cancel jobs from the paused queue, I believe.

However this technique is a little inelegant, and I want to explore other options before I go ahead and code it up. I'd like to throw this question in here to ask whether anyone knows of a better way to manage printing and specifically charging for printing. I'm flexible on where I put my printer and how I share it - this can be set up to accomodate the charging technique.

In another similar questions I noticed someone mentioned that there may be third party sofware that can manage printers and provide me the kind of control I'm looking for. If there is something affordable out there I'm willing to look into that.

Maybe there's a way of writing a virtual printer driver, which sends print files through my own client software to the server and then to the printer?
Avatar of vinnyd79
vinnyd79

Avatar of HASujoy

ASKER

Hi vinnyd.

That piece of software and many others I've found while searching only seem to log printer details, they don't intervene before spooling as far as I can tell. I want to be able to stop the print job going through while I check if they have enough credit to print it, and I could also ask them if they are sure they want to print it before it goes ahead.

If it turns out to be too difficult my fall-back would be to take the credit off automatically and simply notify a member of staff if the user has a remaining balance to pay off before they leave.
ASKER CERTIFIED SOLUTION
Avatar of David Lee
David Lee
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of HASujoy

ASKER

Thanks! I'll take a look at those links.

I didn't think of having a dummy queue and a real queue. We don't have many printers so that wouldn't be too hard to set up. It's far more elegant than my juggling pause idea. I don't know how to move print jobs from one queue to another though, so I need to look into that too.
No problem.  Here's a link to a script that'll move a print job from one queue to another.  It'd be easy to mod the script to work in VB.

http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/printing/servers/#TransferPrintJobs.htm
couldnt you just set up a shared drive that everyone can use and then they go to the desk and ask to print of what ever document , the person at the front desk prints it off and at the same time takes the required credit off of there account.