PrintDialog dlg = new PrintDialog();
XpsDocument xpsDoc = new XpsDocument(PATH_TO_YOUR_XPS_FILE_HERE, System.IO.FileAccess.Read);
dlg.PrintDocument(xpsDoc.GetFixedDocumentSequence().DocumentPaginator, "Document title");
As you can see, reading a XPS file and then sending the contents to a printer is not very hard at all.
Printing XPS files to a physical printer
Thursday, March 21, 2013