[WinPrnDev] FW: Print driver spooling

  • From: Sam Elamin <hussam_88@xxxxxxxxxxx>
  • To: <winprndev@xxxxxxxxxxxxx>
  • Date: Tue, 20 Jul 2010 12:55:11 +0000

Dear All


How is everyone today? First of all I should say I have been
working with print drivers for just over a year so I am in no way shape or form
a driver expert. But I have been trying to develop the holy grail of print 
driver applications if you will.


We all know the common problem of once a print job is
spooled it cant be changed. I always thought that the driver is what does the
converstion from document to PS or PCL, but I dont think thats the case. This
lead me to the question of how its spooled. Office applications and Acrobat
reader and others must convert the document into somthing tangible for print
drivers to understand. It is unreasonbale to think my old print driver written
in 1998 can understand Office 2007 .docx’s right?


So surly if we can convert a document to some sort of format
that all print drivers understand wheter its EMF,PDF,or some equivilant and
then the drivers translate that to PS or PCL

Surly microsoft must tell HP and Sharp etc of this otherwise
how will they been able to print in the first place.


Now Ive come across the PrintDocument Class in C#, this
allows you to change a variety of document properties according the
capabilities of your printer driver. However because it cant read files (PDFs
or office documents) it can only stream read. Which doesnt make it a viable
option for printing.


But if we convert the documents to some sort of EMF of PDF
that can be fed into PrintDocument using a stream read surly we can modify a
print jobs settings after its been theoratically been printed.


For example when I open up a document in word with pictures
in it and I click print,  Word then
converts it to something and then the driver converts it again to something the
printer understands. If we can catch whats happening in between or write our
own driver that will then call a C# application that will modify this Data
stream we can change a job properties after it has been spooled. Once we have
the properties wanted we can then send the stream on to the driver which will 
it to something that can be understood by the printer and eventually released



So my question is what exactly is this data stream and how
do I capture it?



Do you have a story that started on Hotmail? Tell us now

Other related posts:

  • » [WinPrnDev] FW: Print driver spooling - Sam Elamin