Difference between revisions of "Printing"

From ReactOS Wiki
Jump to: navigation, search
(Some Resources)
m (Mark outdated; Windows names)
Line 1: Line 1:
I am beginning work on implementing printing support in ReactOS.  If you have any ideas or want to help with [[printer]]s, it would be very much appreciated.  Please leave your name and some way of getting hold of you.
+
{{outdated}}
  
There are a number of components to have code written for them in order to maintain compatibility with the existing Windows 2000/XP architecture. For this reason, the implementation I am currently planning will follow that of the latter systems.
+
I am beginning work on implementing printing support in ReactOS. If you have any ideas or want to help with [[printer]]s, it would be very much appreciated. Please leave your name and some way of getting hold of you.
Unfortunately we can use precious little from WINE.
 
  
Some things we need
+
There are a number of components to have code written for them in order to maintain compatibility with the existing Windows 2000/Windows XP architecture. For this reason, the implementation I am currently planning will follow that of the latter systems. Unfortunately we can use precious little from WINE.
* Print spooler components (driver winspool.drv - stubbed but out of date in WINE/Reactos, service spoolsv.exe - I started writing one, router spoolss.dll)
+
 
* Print processor (WinPrint.dll 'integrated into localspl.dll from win2k onwards')
+
Some things we need:
 +
* Print spooler components (driver winspool.drv - stubbed but out of date in WINE/ReactOS, service spoolsv.exe - I started writing one, router spoolss.dll)
 +
* Print processor (WinPrint.dll 'integrated into localspl.dll from Windows 2000 onwards')
 
* Local print provider (localspl.dll) There is an skeletal example of a print provider in the ddk called pp, also an example in ceps.
 
* Local print provider (localspl.dll) There is an skeletal example of a print provider in the ddk called pp, also an example in ceps.
* Port monitors (Localmon sample in DDK; integrated into localspl.dll from win2k onwards)
+
* Port monitors (Localmon sample in DDK; integrated into localspl.dll from Windows 2000 onwards)
 
* Language monitor (see PJLMon sample in DDK)
 
* Language monitor (see PJLMon sample in DDK)
 
* PrintUI.dll (possibly at some point)
 
* PrintUI.dll (possibly at some point)
 
* compstui.dll (property sheet pages etc)
 
* compstui.dll (property sheet pages etc)
* add necessary win32k, gdi functions for print drivers (EngWritePrinter etc)
+
* add necessary win32k, gdi functions for print drivers (EngWritePrinter, etc.)
  
My initial plan is that winspool will directly call localspl.dll (the local spooler) as RPC still seems to be in it's infancy in ReactOS. However, I see that there is code in svn for RPC though I haven't had chance to play yet.
+
My initial plan is that winspool will directly call localspl.dll (the local spooler) as RPC still seems to be in it is infancy in ReactOS. However, I see that there is code in svn for RPC though I haven't had chance to play yet.
  
One bonus is that the 2k/xp print system is very modular making testing a lot easier.
+
One bonus is that the Windows 2000/Windows XP print system is very modular making testing a lot easier.
  
Once I can use my laser printer I can write my Master's project in LaTeX on ReactOS and print it aswell.  Eventually I'd love to have something like [http://www.fineprint.com/ FinePrint] built into ReactOS
+
Once I can use my laser printer I can write my Master's project in LaTeX on ReactOS and print it as well.  Eventually I'd love to have something like [http://www.fineprint.com/ FinePrint] built into ReactOS
  
== Current Status ==
+
== Current status ==
 
* 09/02/07 - have started a PhD and it is currently taking a lot of time, so have halted work on the print subsystem
 
* 09/02/07 - have started a PhD and it is currently taking a lot of time, so have halted work on the print subsystem
 
*13/07/06 - I am currently focusing on the print spooler service, spoolsrv
 
*13/07/06 - I am currently focusing on the print spooler service, spoolsrv
* 10/08/05 - My main focus is on writing local print provider.  It behaves as expected in WinXP Pro so far so good.
+
* 10/08/05 - My main focus is on writing local print provider.  It behaves as expected in Windows XP Professional so far so good.
 
* 14/09/05 - whoah a month's gone by and localspl is all stubbed out and I've got around 1/3 of a print provider
 
* 14/09/05 - whoah a month's gone by and localspl is all stubbed out and I've got around 1/3 of a print provider
  
== Some Resources ==
+
== Resources ==
 
* The DDK has some nice diagrams to illustrate what goes on and also some samples.
 
* The DDK has some nice diagrams to illustrate what goes on and also some samples.
 
* [http://www.fengyuan.com/ Feng Yuan's book: "Windows Graphics Programming: Win32 GDI and DirectDraw"]
 
* [http://www.fengyuan.com/ Feng Yuan's book: "Windows Graphics Programming: Win32 GDI and DirectDraw"]
Line 38: Line 39:
 
* [http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp Windows 2000 Print Services]
 
* [http://www.microsoft.com/windows2000/technologies/fileandprint/print/default.asp Windows 2000 Print Services]
 
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/graphics/hh/graphics/drvarch_b2c30d51-4fe1-4c8e-9fa2-b1a80bba3597.xml.asp Printer graphics dll]
 
* [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/graphics/hh/graphics/drvarch_b2c30d51-4fe1-4c8e-9fa2-b1a80bba3597.xml.asp Printer graphics dll]
* [http://www.lprng.com/ LPRng, Berkeley based LPR print spooler]
+
* [http://www.lprng.com/ LPRng, Berkeley based LPR print spooler]
 
 
  
 
[[Category:Documentation]]
 
[[Category:Documentation]]

Revision as of 03:04, 15 October 2010

This page is probably outdated

The information on this page might not be valid for the current state of ReactOS.
A Wiki Administrator should look at this page and decide or discuss what to do with it.


I am beginning work on implementing printing support in ReactOS. If you have any ideas or want to help with printers, it would be very much appreciated. Please leave your name and some way of getting hold of you.

There are a number of components to have code written for them in order to maintain compatibility with the existing Windows 2000/Windows XP architecture. For this reason, the implementation I am currently planning will follow that of the latter systems. Unfortunately we can use precious little from WINE.

Some things we need:

  • Print spooler components (driver winspool.drv - stubbed but out of date in WINE/ReactOS, service spoolsv.exe - I started writing one, router spoolss.dll)
  • Print processor (WinPrint.dll 'integrated into localspl.dll from Windows 2000 onwards')
  • Local print provider (localspl.dll) There is an skeletal example of a print provider in the ddk called pp, also an example in ceps.
  • Port monitors (Localmon sample in DDK; integrated into localspl.dll from Windows 2000 onwards)
  • Language monitor (see PJLMon sample in DDK)
  • PrintUI.dll (possibly at some point)
  • compstui.dll (property sheet pages etc)
  • add necessary win32k, gdi functions for print drivers (EngWritePrinter, etc.)

My initial plan is that winspool will directly call localspl.dll (the local spooler) as RPC still seems to be in it is infancy in ReactOS. However, I see that there is code in svn for RPC though I haven't had chance to play yet.

One bonus is that the Windows 2000/Windows XP print system is very modular making testing a lot easier.

Once I can use my laser printer I can write my Master's project in LaTeX on ReactOS and print it as well. Eventually I'd love to have something like FinePrint built into ReactOS

Current status

  • 09/02/07 - have started a PhD and it is currently taking a lot of time, so have halted work on the print subsystem
  • 13/07/06 - I am currently focusing on the print spooler service, spoolsrv
  • 10/08/05 - My main focus is on writing local print provider. It behaves as expected in Windows XP Professional so far so good.
  • 14/09/05 - whoah a month's gone by and localspl is all stubbed out and I've got around 1/3 of a print provider

Resources