Question: Is there any way to print an XPS document in a WinRT app?
Background: I would like to print an XPS document from my XAML based Windows Store App, but this seems to be impossible. The standard desktop method StartXpsPrintJob is not available for Windows Store Apps. The WinRT specific Windows.UI.Xaml.Printing/Windows.Graphics.Printing methods require an actual UIElement, but WinRT XAML does not support all XPS features, such as non-rectangular clipping paths, opacity masks, etc. (It also does not appear to support printing Glyph elements, but that's another story.) So, am I missing something or is there no way to directly print an XPS document from WinRT? Because Windows uses XPS as its print path it seems odd that there is no way to directly provide XPS data for printing.
Update: I have spent more time trying to print XPS documents directly. Direct2D provides a printing interface, however its APIs only accept Direct2D commands. I would like to send XPS data directly, but this page says that "The Windows Print Sub-System and Printer components are ... completely hidden from Direct2D apps." Currently the only way I can see to print XPS documents would be to convert them into a series of Direct2D commands, which would then be immediately converted back into XPS by the PrintControl. This seems unnecessary and inefficient.