Difference between revisions of "Printing"

From ReactOS Wiki
Jump to: navigation, search
(Current Status)
Line 5: Line 5:
  
 
Some things we need
 
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 - currently ignored as I'm only implementing one local print provider to begin with BUT it will have to be done later on)
+
* 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')
 
* Print processor (WinPrint.dll 'integrated into localspl.dll from win2k onwards')
* Local print provider (localspl.dll) There is an skeletal example of a print provider in the ddk called pp.
+
* 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 win2k onwards)
 
* Language monitor (see PJLMon sample in DDK)
 
* Language monitor (see PJLMon sample in DDK)

Revision as of 12:13, 23 September 2005

I am beginning work on implementing printing support in ReactOS. If you have any ideas or want to help, 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/XP architecture. Although NT4.0 compatibility is a stated aim, I don't have access to it and information on 2000 and XP seems more abundant. 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 win2k 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 win2k onwards)
  • Language monitor (see PJLMon sample in DDK)
  • PrintUI.dll (possibly at some point)

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.

One bonus is that the 2k/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 FinePrint built into ReactOS

Current Status

  • 10/08/05 - My main focus is on writing local print provider. It behaves as expected in WinXP Pro 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

Some Resources