reporting-services - 以编程方式将 LocalReport 呈现为 XPS

标签 reporting-services xps xpsdocument localreport

我正在尝试渲染 LocalReport到 XPS 文件,因此我可以使用 XPS 打印 API 从 Windows 服务打印它们,如 this article 中所示.

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

我非常感谢任何有关将 LocalReport 呈现为 XPS 的建议。

最佳答案

不幸的是,这并不容易。但事实并非如此。

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

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

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

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

关于reporting-services - 以编程方式将 LocalReport 呈现为 XPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13143839/

相关文章:

visual-studio-2012 - 报告生成器 3.0 与 Visual Studio 2012 用于创建 SSRS 报告

reporting-services - SSRS 2012 报告模型

vb.net - XPS至Word 2007

pdf - XPS 文件的结构是什么

.NET WPF 应用程序 : Loading a resourced . XPS 文档

sql-server - 在SSRS中将行转换为列

vb.net - 为参数表达式定义完整方法

WPF XPS 修订

Windows:如何告诉打印机在打印过程中发出 FormFeed?

.net - WPF DocumentViewer不会发布XPS文件