我正在寻找不涉及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文档