我有一份SSRS报告。当我试图导出到PDF时,由于它的宽度,它需要4页。其中第2页和第4页显示我的表中的一个字段。所以我尝试将报告属性中的布局大小设置为width = 18in和height = 8.5in。
它在PDF的单页中给了我整个表格。但我得到第2和第4页空白。 我正在做的方式是不正确的,还是如何摆脱那些空白页?
答案 0 :(得分:317)
在BIDS或SSDT-BI中,执行以下操作:
正确渲染PDF正文宽度+左边距+右边距必须小于或等于页面宽度。当您看到正在渲染的空白页时,几乎总是因为正文宽度加上边距大于页面宽度。
请记住:(正文宽度+左边距+右边距)< =(页面宽度)
答案 1 :(得分:105)
要尝试的另一件事是将名为ConsumeContainerWhitespace
的报告属性设置为True
(默认值为false
)。这就是我如何解决的问题。
答案 2 :(得分:28)
经过几个小时的努力解决这个问题,我偶然发现了一个对我有用的解决方案:
在SSDT(2012)中,我最初将页面设置/页面单位设置为厘米。当我将其更改为英寸时,奇怪的是,我能够将报告导出为PDF而不会将其他所有页面都空白。
答案 3 :(得分:20)
在编辑SSRS文档时,在计算任何数学之前,最好先在设计界面( Visual Studio 2012显示,但可以在其他版本中完成)。
红色圆圈中的以下数字下方,映射到以下步骤:
page
;因此打印了鬼区。
此外,在某些情况下,您可以通过将ConsumeContainerWhitespace
设置为true
来自动使用空格来更改报告页面的属性。
答案 4 :(得分:18)
如果来自SSRS的页面为空白,则需要调整报表布局。这比运行输出和后期处理更有效,以修复布局问题的副作用。
SSRS在推动利润边界方面非常挑剔。只需通过调整报表上的文本框或其他控件,很容易意外地扩大/延长报表。仔细检查报告表面的宽度和高度属性,并尽可能地挤压它们。注意大页眉和页脚。
答案 5 :(得分:17)
对我来说,问题在于SSRS故意将您的空白区视为您想要获得荣誉:
除空格外,请确保没有合适的边距。
答案 6 :(得分:5)
除了边缘,这是迄今为止最常见的问题,我还看到了另外两种可能性:
+
连接文本。您应该使用&
代替。答案 7 :(得分:5)
我已经与SSRS合作了10多年,上面的答案就是答案。但。如果没有任何作用,并且你被完全塞满....从报告中删除项目,直到问题消失。确定导致问题的行或报表项后,将其放在矩形容器中。就是这样。帮了我们很多次了!额外页面主要是由流经右边距的报表项引起的。当所有其他方法都失败时,将内容放在项目右侧的矩形或空矩形内可以阻止这种情况发生。祝你好运!
答案 8 :(得分:4)
您是否曾尝试查看报告右侧是否有空格?如果是这样,您可以将其拖回报告的末尾,然后将报告背景拖回到同一位置。
答案 9 :(得分:4)
在报告的属性选项卡(myReport.rdlc)上,更改" Keep Together"属性为False。我一直在努力解决这个问题,这似乎解决了我的问题。
答案 10 :(得分:1)
如果报表包含子报表,则如果允许子报表和层次结构增长,子报表的宽度可能会推动正文的边界。
我有一个类似的问题出现在子报表可以放在一个单元格(跨越2列)。看起来跨度可以在设计器中包含它并且它在winform或浏览器中呈现得很好,并且最初它可以生成打印机输出(或pdf文件)而不会溢出到多余的页面上。
然后,在更改了一些其他列宽(并且不超过主体宽度加上边距)之后,winform和浏览器渲染看起来仍然看起来很好但是当生成输出(打印机或pdf)时,它增长超过边距并写入右侧每页作为第2(第4等)页面。我可以通过增加放置子报告的colspan来消除我的问题
无论您是否使用子报告,如果您有页面溢出并且您的身体设计适合页面的边缘,请寻找允许增长的东西,将身体的宽度推出。
答案 11 :(得分:1)
我最近继承了一份报告,我需要进行一些更改。遵循上述所有建议后,它没有帮助。该报告历史上有这个额外的页面,没有人能弄明白为什么。
我右键单击了tablix并选择了属性。检查了一个复选框,表示之后添加分页符。删除后,它现在打印在一页上。
答案 12 :(得分:1)
答案 13 :(得分:1)
我通过执行以下操作解决了这个问题。 (使用最新版本的报表生成器)
第 1 步。)转到“查看”选项卡
步骤 2.) 选中属性复选框
第 3 步。) 在报告正文内部单击(它将更新属性选项卡中的值)
第 4 步。)不要取这里的宽度
步骤 5.) 右键单击报告外的灰色区域,然后单击报告属性
第 6 步。)将左 + 右外边距添加到您的正文宽度(如果等于 10,则使您的宽度为 11)
步骤 7.) 保存
答案 14 :(得分:-2)