問:有沒有辦法在WinRT的應用程序打印XPS文檔?打印XPS文檔中WinRT中的Windows Store應用
背景:我想從基於XAML的Windows應用商店打印XPS文檔,但這似乎是不可能的。標準桌面方法StartXpsPrintJob不適用於Windows應用商店應用。在WinRT的具體Windows.UI.Xaml.Printing/Windows.Graphics.Printing方法需要一個實際的UIElement,但WinRT的XAML不支持所有XPS功能,如非矩形剪輯路徑,不透明蒙版等(這還沒有出現支持printing Glyph elements,但這是另一個故事。 )那麼,我錯過了什麼,或者沒有辦法直接從WinRT打印XPS文檔?由於Windows使用XPS作爲其打印路徑,因此無法直接提供用於打印的XPS數據,這似乎很奇怪。
更新:我花了更多時間嘗試直接打印XPS文檔。 Direct2D提供打印界面,但其API只有accept Direct2D commands。我想直接發送XPS數據,但this page表示「Windows打印子系統和打印機組件......完全隱藏在Direct2D應用程序中。」目前,我可以看到打印XPS文檔的唯一方法是將它們轉換爲一系列Direct2D命令,然後通過PrintControl立即將其轉換回XPS。這看起來沒有必要且效率低下。
謝謝Erti。我有能力對XPS文檔進行柵格化,但我希望避免這種情況,因爲直接發送矢量數據效率更高。但似乎沒有選擇。 MS創建一個頁面描述語言很麻煩,然後沒有辦法以這種格式提供打印機數據。希望他們能在下一個版本的Windows中解決這個問題。 – James 2013-04-04 15:45:23