2

我正在尝试将LocalReport呈现为 XPS 文件,因此我可以使用 XPS Print API 从 Windows 服务打印它们,如本文所示。

我发现的问题是我无法将本地报告直接呈现给 XPS。也许我可以将它渲染为图像流,然后将该图像嵌入到手动创建的 XPS 中,但我不太喜欢这种解决方案。

对于将 LocalReport 渲染到 XPS 的任何建议,我将不胜感激。

4

1 回答 1

3

不幸的是,这并不容易。除了它是。

首先,一切都必须在 STA 线程中发生。所以你从线程问题开始。

其次,XPS 文档与 WPF 深度交织。XPS 文档将其内容公开为FixedDocumentSequences,即DependencyObjects。这就是WPF。您的 LocalReport不是WPF,它是基于表单的组件。

您唯一的选择是将报表呈现为某种格式,该格式可以通过您编写的某种解析和呈现过程转换为 WPF 表示形式。这可能就像从报告中创建图像一样简单,也可能像编写 XSLX 转换器一样困难。

但为什么一开始还要为此烦恼呢? LocalReport 的文档显示了如何在不处理 XPS 打印路径的情况下打印报告。

于 2012-10-30T17:15:54.113 回答