【问题标题】:SSRS 2008 printing single page renders different for printSSRS 2008 打印单页呈现不同的打印
【发布时间】:2010-02-10 16:41:14
【问题描述】:

我遇到了一个问题,即 SSRS 2008 报告在报告服务器上呈现的方式与打印报表时呈现的方式不同。我试图弄清楚打印一个页面并让打印显示与我在屏幕上的报告中看到的相同的记录。作为测试,我创建了一个没有页眉或页脚的简单报告,并添加了一个 Tablix 表来显示记录(无分组)。当我将此测试的数据集部署到我们的报告服务服务器并运行它时,它会显示 2 ¼ 页的记录。如果我单击打印图标并预览报告是 2 ¾ 页。我还没有找到任何关于这个的搜索,所以这让我觉得这是我所缺少的一些简单的东西。 A 基本上希望报表在报表管理器中的每个页面上呈现与打印时相同的记录,我该如何实现?

(回应 Chris 发布的答案)……如果是这样的话,那就太令人失望了。客户已经习惯了所见即所得,并且很难理解这一点,我想我们会接到很多支持电话。

这仍然存在问题。我尝试使用打印预览,但找不到任何方法来挑出页面。如果我预先选择要打印的页面,或者预览它会呈现不同的效果,因此我会得到不同的记录。如果我预览整个文档,我只能打印整个文档。

您提到了 Excel 渲染;我们也有客户需要。我在 Excel 导出中发现的问题是,即使是基本报告也会合并一些单元格,从而导致排序混乱。我将尝试您关于分组的提示,看看我是否可以干净地导出到页面。如果他们能够为某些控件(例如名为“ExcelSheet”的 tablix 表)创建一个属性,那就太好了。然后你所要做的就是给它一个名字,它会为每个带有名字的控件创建一个新的工作表,这个名字成为工作表的标题。

感谢您提供的信息,这对我是 SSRS 的新手非常有用。如果您知道如何在打印渲染中预览并从渲染中选择要打印的单个页面,请告诉我。

更新 02/19/2010 经过更多测试后,我现在意识到这只是报表管理器打印驱动程序的糟糕设计或限制,因为它是基于服务器的。这些选项的工作方式与 Windows 应用程序驱动程序不同,但我确实找到了解决方法。这是我执行的比较 Excel 和 Report Manager 的测试。

我提出了一份报告,该报告在打印时会呈现超过 1 页。然后我导出到 Excel,在 Excel 中我选择打印预览。我可以在预览中导航页面,然后选择像第 3 页这样的单个页面。然后我可以只打印第 3 页而无需离开打印预览,它的打印就像它呈现的一样。我无法使用报表管理器中的打印来执行此操作。

如果我在报表管理器中选择打印预览,然后在预览时尝试打印,它总是会打印整个文档。但是,如果我关闭打印预览,然后我可以选择第 3 页并将其打印为渲染。一旦您知道该怎么做,这只是一个额外的步骤,但需要一些时间才能弄清楚。

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

    这不是一个真正的问题 - 不同的渲染器正在为它们的输出适当地渲染报表。 Web 查看器针对基于屏幕的阅读进行了优化,并且通常每页允许比打印渲染器更多的内容,因为打印渲染器受到其格式化为的纸张大小的限制。因此,您在打印时获得的页面比网页多;但是,报告的内容完全一样。

    最好的例子是 Excel 渲染器 - 在大多数情况下,Excel 渲染器将整个报表渲染到一个工作表上(对于在组页脚设置分组和分页符的报表,它将在其自己的工作表上呈现每个组) .您不希望 Excel 渲染器人为地创建工作表来尝试对报表进行分页。它做了适当的事情,即将所有数据包含在一个大工作表中,即使这在逻辑上可能被认为是一个大“页面”。

    Web 渲染器页面长度由报表的 InteractiveHeight 属性(在报表的“属性”窗格中的 InteractiveSize 属性中)确定,但交互高度是一个近似值,而不是固定的分页符设置,您的分页符可能仍然即使 InteractiveHeight 设置为与目标页面长度相同的长度,也不符合打印版本。

    请参阅this discussion of rendering behaviour,了解有关您尝试实现的目标为何无法实现的更多信息。

    【讨论】:

      猜你喜欢
      • 2011-07-01
      • 2014-04-15
      • 1970-01-01
      • 2012-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多