我有一个两页的 SSRS 报告。当我将它导出为 PDF 时,由于它的宽度,它占用了 4 页,其中第 2 和第 4 页显示了我在表格中的一个字段。我尝试将报表属性中的布局大小设置为宽度 = 18 英寸和高度 = 8.5 英寸。
它在一页 PDF 中给了我整个表格,但我仍然让第二页和第四页空白。
我这样做的方式不正确吗?我还能如何摆脱那些空白页?
我有一个两页的 SSRS 报告。当我将它导出为 PDF 时,由于它的宽度,它占用了 4 页,其中第 2 和第 4 页显示了我在表格中的一个字段。我尝试将报表属性中的布局大小设置为宽度 = 18 英寸和高度 = 8.5 英寸。
它在一页 PDF 中给了我整个表格,但我仍然让第二页和第四页空白。
我这样做的方式不正确吗?我还能如何摆脱那些空白页?
在 BIDS 或 SSDT-BI 中,执行以下操作:
要在 PDF 中正确呈现,正文宽度 + 左边距 + 右边距必须小于或等于页面宽度。当您看到正在呈现空白页面时,几乎总是因为正文宽度加上边距大于页面宽度。
记住:(正文宽度+左边距+右边距)<=(页面宽度)
要尝试的另一件事是将调用的报告属性ConsumeContainerWhitespace
设置为True
(默认为false
)。我就是这样解决的。
经过数小时的努力解决这个问题后,我偶然发现了一个对我有用的解决方案:
在 SSDT (2012) 中,我最初将页面设置/页面单位设置为厘米。当我将其更改为英寸时,奇怪的是,我能够将我的报告导出为 PDF,而无需其他所有页面都是空白的。
在编辑 SSRS 文档时计算任何数学之前,最好先在设计图面上执行此操作(显示了 Visual Studio 2012,但可以在其他版本中完成)。
以下红色圆圈中的数字下方对应以下步骤:
page
比实际控件大的;因此要打印重影区域。此外,在某些情况下,您可以通过设置为自动使用空间来更改报告页面的ConsumeContainerWhitespace
属性true
。
对我来说,问题是 SSRS 故意将您的空白视为您打算尊重它:
除了空白,确保没有右边距。
如果来自 SSRS 的页面是空白的,则需要调整报表布局。这将比运行输出和后处理来修复布局问题的副作用要有效得多。
SSRS 在推动边距边界方面非常挑剔。只需调整报表上的文本框或其他控件,很容易意外地扩大/加长报表。仔细检查报表面的宽度和高度属性,尽量挤压。注意大的页眉和页脚。
我已经与 SSRS 合作了 10 多年,上面的答案就是答案。但。如果没有任何效果,并且您完全被塞满了......从报告中删除项目,直到问题消失。一旦您确定了导致问题的行或报告项,请将其放在一个矩形容器中。而已。帮助了我们很多很多次!多余的页面主要是由于报表项超出了右边距造成的。当所有其他方法都失败时,将东西放在一个矩形内或一个项目右侧的空矩形内,可以阻止这种情况的发生。祝你好运!
您是否尝试查看报告右侧是否有空白?如果是这样,您可以将其拖回报告的末尾,然后将报告背景拖回同一位置。
除了边距,这是迄今为止最常见的问题,我还看到了另外两种可能性:
+
连接文本。你应该&
改用。在报告 (myReport.rdlc) 的属性选项卡上,将“Keep Together”属性更改为 False。我一直在努力解决这个问题,这似乎解决了我的问题。
如果您的报表包含子报表,如果允许子报表和层次结构增长,则子报表的宽度可能会超出正文的边界。我有一个类似的问题出现在一个可以放在一个单元格中(跨越 2 列)的子报表中。看起来跨度可以在设计器中包含它,并且在 winform 或浏览器中呈现良好,并且最初它可以生成打印机输出(或 pdf 文件)而不会溢出到多余的页面上。
然后,在更改了其他一些列宽(并且不超过正文宽度加上边距)之后,winform 和浏览器渲染看起来仍然很好,但是当生成输出(打印机或 pdf)时,它增长超过边距并写入右侧将每一页作为第 2(第 4 等)页。我可以通过增加放置子报表的 colspan 来消除我的问题。
无论您是否使用子报表,如果您有页面溢出并且您的正文设计适合页面的边缘,请寻找允许增长的东西,将正文的宽度推出。
我只是减少了所有小于 8 英寸的 Wight 元素,它更正了,我用鼠标做到了,你的报告体应该小于 8 英寸。