以编程方式将本地报告呈现给XPS

问题描述 投票:2回答:1

我正在尝试将LocalReport呈现为XPS文件,因此我可以使用XPS Print API从Windows服务中将其打印出来,如this article中所示。

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

我非常感谢任何有关将LocalReport渲染到XPS的建议。

reporting-services xps xpsdocument localreport
1个回答
3
投票

不幸的是,这并不容易。除外。

首先,一切都必须在STA线程内发生。因此,您首先要解决线程问题。

接下来,XPS文档与WPF紧密相连。 XPS文档将其内容公开为FixedDocumentSequences,即DependencyObjects。这就是WPF。您的LocalReport是not WPF,它是基于表单的组件。

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

但是为什么首先还要为此烦恼呢? The documentation for LocalReport显示了如何在不处理XPS打印路径的情况下打印报告。

© www.soinside.com 2019 - 2024. All rights reserved.