我正在尋找不涉及RDLC/SSRS的報告/打印解決方案。我想使用DocumentViewer,我知道它支持XPS。我發現很多使用Visual到XPS的示例,但是我沒有找到很多示例,可以使用現有的WPF頁面以及各種控件(如標籤,列表框,網格等),並將它們創建爲XPS文檔。是否有代碼示例需要整個XAML頁面並創建XPS?WPF - 創建非可視化XPS文檔的示例
1
A
回答
2
這不是微不足道的,這裏的基本問題是XPS表示固定頁面。現有的WPF頁面不一定會轉換爲文檔中的頁面。如果報告不適合頁面,您的報告將如何拆分?這些信息是必需的。
您可以做的是將報告創建爲FlowDocument(請參閱http://msdn.microsoft.com/en-us/library/aa970909.aspx)。這將給.NET框架如何分頁報表足夠的信息,例如,當你做到這一點的是:
FlowDocument flowDocument;
// load, populate your flowDocument here
XpsDocument xpsDocument = new XpsDocument("filename.xps", FileAccess.ReadWrite);
XpsDocumentWriter writer = XpsDocument.CreateXpsDocumentWriter(xpsDocument);
writer.Write(((IDocumentPaginatorSource)flowDocument).DocumentPaginator);
它的工作原理。 (代碼從C#書中的臨WPF中解除)。
1
通常你的WPF頁面有一個根UI元素,比如Grid。由於Grid是特定類型的Visual(請參閱「繼承層次結構」部分@http://msdn.microsoft.com/en-us/library/system.windows.controls.grid.aspx以瞭解更多詳細信息),您只需將該根網格元素像其他視覺元素一樣寫入XPS。然後所有嵌入式控件都會自動寫入XPS文檔。
相關問題
- 1. 如何創建XPS文檔?
- 2. CreateXpsDocumentWriter創建XPS或OXPS文檔嗎?
- 3. 如何即時創建xps文檔?
- 4. WPF和XPS:空文檔查看器
- 5. 在wpf中保存xps文檔爲.pdf
- 6. 問號XPS文檔
- 7. 如何在WPF組件中顯示無窗口XPS文檔?
- 8. 創建示例文檔預覽
- 9. 從一個字節數組創建一個XPS文檔
- 10. 轉換XPS文檔
- 11. 如何在Access中顯示XPS文檔?
- 12. 將XPS文檔拆分爲多個XPS文檔
- 13. Python 3創建可視化表示
- 14. DOC到XPS文件文檔
- 15. 在文檔查看器中顯示XPS文檔
- 16. XPS文檔有多安全?
- 17. 如何驗證XPS文檔?
- 18. 可以將多個xps文檔合併爲一個WPF文件嗎?
- 19. 創建一個TreeMap可視化文件
- 20. WPF XPS更新
- 21. 使用XPS查看器打開FlowDocument作爲XPS文檔保存?
- 22. 從示例中創建一個wpf UIElement
- 23. 在LinqPad中創建WPF示例
- 24. WPF RichTextBox文檔創建線程問題
- 25. 如何靜靜地創建XPS文件?
- 26. 截取PrintDialog到XPS文檔編寫器
- 27. 數據可視化的最佳示例?
- 28. 在android中的文檔可視化?
- 29. 在XPS文檔編寫器中進行WPF打印
- 30. .NET WPF應用程序:加載資源.XPS文檔