[WinPrnDev] Re: Creating a Printer Driver

  • From: "Clinton Bessesen" <clinton@xxxxxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Sun, 28 Mar 2010 10:32:58 +0100

Hi Sam,
I'm doing this off the tail end of what seems like a long discussion.
Not sure if you have your answer yet but might have a few design ideas for
you.
What you are trying to achieve has been done before and is possible.
Back in 2002 I was faced with a similar issue. Getting a document off the
client PC and sending it round the world to an unknown print server.
The solution is a combination of technologies that each do their own part..

1.) I used a PostScript print driver ( Generic PPD will do the job ) that
pass the print stream onto a portmonitor ( this gives you the control to
assign to random filename and pass onto the next module either WebService or
in my case a socket service client ).

THINGS TO REMEMBER:
If you are to allow for duplex, orientation, colour etc, then you will need
to gather this info and "drag" it along. I developed a PostScript parser
that drives through the spool file ( PostScript ) extracts these bits and
then passes this with the file along ( make use of network sockets and send
as parameters or HASH index - a WenService or Socket listener would need to
manage these parameters ). OR in the world of WebServices pass over an XML
stream that can be managed.

On the "Server" side either convert to a generic format i.e. PDF which then
can be converted over to MOST printer specific languages

2.) Develop a portmonitor that manages the spoolfile and controls calling
the "service client" either webservice or sockets. Remember to remove the
file and close portinfo thus removing the JOB off the print queue.

3.) The bigest problem with transmitting data around is that we forget about
the wonderful worl of TCP/IP packets and ERROR checking. What happens if
network goes down during transmission, do I restart, fail, notify user or
cycle through a number of socket trying to establish connection.

Hope this helps for starters.
Clinton Bessesen
check out www.pdqit.com


Other related posts: