For more information and a howto see the Resources page
I added this resource for two main reasons:
Current printing from Java is almost entirely dependant on support from the underlying OS. The Java graphics methods do not always match well to the underlying OS model for graphics. There is absolutely no reason why printed output cannot be generated directly in Java without any recourse to underlying OS support. All that is required is some channel to direct the output to the target device.
I have major experience in developing printer driver software on a variety of different OSs and can provode expertise in this area.