.. we have LaTeX and OpenOffice. You can run those as libraries or efficient command-line tools on a server to generate a nice-looking PDF, which the user can then print. We can also render these documents into a bitmap to send it to a web app for display.
I know M$ hates everything which is a real alternative to their technologies, but maybe you want to get out of their claws and enlighten yourself to other options. Options which are not monolithic, but an orchestration of many free, reliable and compact tools. You could start with GWT, Perl, pdf2latex, Apache, Linux.