[WinPrnDev] Re: Creating a Printer Driver

  • From: Sam Elamin <hussam_88@xxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Wed, 31 Mar 2010 11:25:04 +0000

Gary
I thought so, thanks. But quick question arent there PDF print drivers that 
will create a pdf of any document printed to it. Which means the driver knows 
which path its creating the document to, correct?

RegardsSam
> From: garyp@xxxxxxxxxx
> To: winprndev@xxxxxxxxxxxxx
> Subject: [WinPrnDev] Re: Creating a Printer Driver
> Date: Wed, 31 Mar 2010 12:15:34 +0100
> 
> Dear Sam,
> That's about the long and the short of it, yes.
> Regards,
> Gary
> -----Original Message-----
> From: Sam Elamin [mailto:hussam_88@xxxxxxxxxxx]
> Sent: 31 March 2010 12:12
> To: winprndev@xxxxxxxxxxxxx
> Subject: [WinPrnDev] Re: Creating a Printer Driver
> 
> 
> Gary
> 
> 
> So the bulk of the work will be developing the port monitor. Once that is
> done we can then look at the "print ticket" which passes the right
> properties.
> 
> 
> To put it simply my custom print monitor will upload the XPS file which will
> probably contain the print ticket (where the properties are held) and then
> the server handles the job.
> 
> 
> Regards
> Sam
> 
> > From: garyp@xxxxxxxxxx
> > To: winprndev@xxxxxxxxxxxxx
> > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > Date: Wed, 31 Mar 2010 12:07:50 +0100
> > 
> > Dear Sam,
> > "what i need to do is develop a port monitor that can transfer that file
> up
> > to the server?." - yes.
> > "Since the document has already been printed I wont need to supply the job
> > properties (Color,Mono)." - this depends upon what options you offer in
> your
> > XPS "printer" driver, and which of those choices the user chooses. As with
> > any printer.
> > "is the XPS file i am sending a spool file and not an actual document like
> a
> > pdf? " - well the simple answer is that it's both. Read up on the XPS
> > documentation. The feature you are looking for regarding colour etc. is in
> > the Print Ticket which you can pass to the API for printing your XPS file
> on
> > the server - subject to the PrintCapabilities of the printer you're trying
> > to send it to of course.
> > Regards,
> > Gary
> > 
> > -----Original Message-----
> > From: Sam Elamin [mailto:hussam_88@xxxxxxxxxxx]
> > Sent: 31 March 2010 12:01
> > To: winprndev@xxxxxxxxxxxxx
> > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > 
> > 
> > Gary
> > 
> > 
> > So what your saying is the XPS driver will provide me with the file, what
> i
> > need to do is develop a port monitor that can transfer that file up to the
> > server?. Since the document has already been printed I wont need to supply
> > the job properties (Color,Mono).
> > 
> > 
> > But what if i am printing a document which has colour in it to my XPS
> > driver, and i choose to print in mono, then technically the XPS file
> > produced wont have any colour on it right? and where will the other data
> be
> > stored (Duplex or a4 or a3) or is the XPS file i am sending a spool file
> and
> > not an actual document like a pdf? 
> > 
> > 
> > Regards
> > Sam
> > 
> > > From: garyp@xxxxxxxxxx
> > > To: winprndev@xxxxxxxxxxxxx
> > > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > > Date: Wed, 31 Mar 2010 11:54:06 +0100
> > > 
> > > Dear Sam,
> > > For the overwhelming majority of devices you cannot just send them XPS -
> > > they don't understand it. But using an XPS print driver will provide you
> > > with a file that has all the resources required to print that job at the
> > > server end (check out MSDN for how to submit XPS to a device with the
> > > settings you are after). There is no need to convert XPS to PDF by the
> > way,
> > > it's completely unnecessary. You are correct about the mechanism for
> > > replaying a metafile but I wouldn't recommend EMF because better
> > > technologies are available (i.e. PDF or XPS) that address the font and
> > file
> > > size implications.
> > > A port monitor is just a port, the same as printing to LPT1, or COM1, or
> a
> > > file, or port 9100 on an IP address. In your case it's a bit of code
> that
> > > you want to run as the (XPS) file spools off the queue in order to
> trigger
> > > your client / server communication. It's completely independent of your
> > > driver. Google "RedMon" for an example of one.
> > > Regards,
> > > Gary
> > > 
> > > -----Original Message-----
> > > From: Sam Elamin [mailto:hussam_88@xxxxxxxxxxx]
> > > Sent: 31 March 2010 10:45
> > > To: winprndev@xxxxxxxxxxxxx
> > > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > > 
> > > 
> > > Jason/Gary
> > > 
> > > 
> > > Thanks Jason I got the sample working, now I am trying to understand
> what
> > a
> > > port monitor is and how to implement it into the sample driver
> > > 
> > > 
> > > Gary thank you for your detailed email and I understand your concerns. 
> > > 
> > > 
> > > But what i dont get is the print driver that will sit on the client
> side,
> > if
> > > it converts documents to XPS then the print driver compatibility is not
> > > really an issue because XPS can be understood by most printers right?
> > > 
> > > 
> > > and if its not why not use an XPS to PDF converter then print it at the
> > > server. 
> > > 
> > > 
> > > The question is when you print it how do you know what properties to
> give
> > it
> > > ( Color, Mono, Duplex, Simplex, etc) I am assuming there will be no
> > printing
> > > done at the client side so no spool file is generated.
> > > 
> > > 
> > > 
> > > 
> > > But if we go down the EMF route, then printing will be done, a spool
> file
> > > will be generated and then the EMF will be extracted from that spool
> file.
> > > 
> > > 
> > > The EMF then has to be transfered to a print server where it will be
> > played
> > > back into a spool file so it can be printed.
> > > 
> > > 
> > > Does that seem right? 
> > > 
> > > 
> > > Regards
> > > Sam
> > > 
> > > 
> > > 
> > > From: jharrison@xxxxxxxxxxx
> > > To: winprndev@xxxxxxxxxxxxx
> > > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > > Date: Tue, 30 Mar 2010 09:44:50 -0700
> > > 
> > > 
> > > Hey Sam,
> > > 
> > > With the WDK 7600 there is an XPS printer sample, and much older port
> > > monitor sample. The harder part is connecting them and installing them.
> > > But all of the code is there and I believe working.
> > > 
> > > -Jason
> > > 
> > > --
> > > Jason Harrison
> > > Sr Software Developer
> > > PDFTron Systems, Inc.
> > > www.pdftron.com
> > > Tel: 1-604-730-8989
> > > Fax: 1-604-676-2477
> > > Email: jharrison@xxxxxxxxxxx
> > > 
> > > 
> > > 
> > > CONFIDENTIALITY NOTICE: This message (and any attachment to it) is
> > intended
> > > only for the use of the individual or entity to which it is addressed in
> > the
> > > header, and may contain information that is privileged, confidential and
> > > exempt from disclosure under applicable law. Any reproduction,
> > distribution,
> > > modification or use of the contents of this message (and any attachment
> to
> > > it) by any individual or entity other than the intended recipient is
> > > prohibited. If you have received this communication in error, please
> > notify
> > > us immediately and delete the original.
> > > 
> > > 
> > > 
> > > P Please think before you print!
> > > 
> > > From: winprndev-bounce@xxxxxxxxxxxxx
> > [mailto:winprndev-bounce@xxxxxxxxxxxxx]
> > > On Behalf Of Sam Elamin
> > > Sent: Tuesday, March 30, 2010 4:55 AM
> > > To: winprndev@xxxxxxxxxxxxx
> > > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > > 
> > > Hey Clinton
> > > 
> > > Sorry for the late reply but Iw as rebuilding my PC with Windows 7
> because
> > I
> > > heard that it is better as a printer driver building enviroment. 
> > > 
> > > I have read your email and have a few questions:
> > > 
> > > 1) Did you use WDK to develop your driver? Did you write your driver
> > > yourself?
> > > 
> > > 2) How do I start devloping this PostScript parser? and since its
> > Postscript
> > > does it mean that I wont be ableto print to PCL drivers? Or
> willconverting
> > > it to PDF do the trick?
> > > 
> > > 3) I have no idea what you mean by using Port monitors, is there any
> > > reference I can go back to and learn from?
> > > 
> > > 4) I think for testing purposes we might have to assume no errors and
> get
> > > the actual driver working before installing checks to look for errors
> > > 
> > > I just feel really lost and overwhelmed, where is the best place to
> start?
> > > 
> > > Regards
> > > Sam
> > > 
> > > 
> > > 
> > > 
> > > From: clinton@xxxxxxxxxxxxxx
> > > To: winprndev@xxxxxxxxxxxxx
> > > Subject: [WinPrnDev] Re: Creating a Printer Driver
> > > 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
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > Do you want a Hotmail account? Sign-up now - Free
> > > 
> > > 
> > > 
> > > Do you have a story that started on Hotmail? Tell us now 
> > > ---
> > > Questions? First check the UndocPrint pages at
> > http://www.undocprint.org/winspool
> > > 
> > > To unsubscribe, visit the List Server page at
> > //www.freelists.org/list/winprndev
> > 
> > 
> > 
> > 
> > Not got a Hotmail account? Sign-up now - Free 
> > ---
> > avast! Antivirus: Inbound message clean.
> > Virus Database (VPS): 100331-0, 31/03/2010
> > Tested on: 31/03/2010 12:03:15
> > avast! - copyright (c) 1988-2010 ALWIL Software.
> > http://www.avast.com
> > ---
> > Questions? First check the UndocPrint pages at
> http://www.undocprint.org/winspool
> > 
> > To unsubscribe, visit the List Server page at
> //www.freelists.org/list/winprndev
> 
> 
> 
> 
> Do you want a Hotmail account? Sign-up now - Free 
> ---
> avast! Antivirus: Inbound message clean.
> Virus Database (VPS): 100331-0, 31/03/2010
> Tested on: 31/03/2010 12:12:46
> avast! - copyright (c) 1988-2010 ALWIL Software.
> http://www.avast.com
> ---
> Questions? First check the UndocPrint pages at 
> http://www.undocprint.org/winspool
> 
> To unsubscribe, visit the List Server page at 
> //www.freelists.org/list/winprndev
                                          
_________________________________________________________________
Got a cool Hotmail story? Tell us now
http://clk.atdmt.com/UKM/go/195013117/direct/01/

Other related posts: