MS has a new page-description format "XPS" which can be generated simply from WPF the programming model, whether on the server or on a client. There's an XPS Reader app, like the PDF Reader, that allows users to view and print XPS docs. There's a simple API to produce an XPS doc.