+1 for educating on SO usage and helping rather than instantly voting down.
Another way is to use the Apache POI, as indicated by Nicholas. But POI also have some problem render Office documents. The positive sides is that it can be stable compared with calling .NET
Anyway it is not a good way to print Microsoft things from Java, same applies to print PDF documents from .NET or other Microsoft things. Sigh!
For printing Office documents from java, One way is to call .NET from java, but this one is very slow and if you want to integrate the source code, you need a bridge. If you want to write serious projects, this method seems too weak.
For the java desktop way, seeing from java API, it seems to leave the solution to your OS. I am not sure about it. You can try it.
I found that if you seeking for source code, surely someone would vote you down. What you need should be an idea, or some hint to the solution only.
To print PDF document, you can utilize the Sun PDF Renderer library, it is quite good. For text document print, it is quite simple with Java API, such as DocPrintJob or PrinterJob.