205

我有一个两页的 SSRS 报告。当我将它导出为 PDF 时,由于它的宽度,它占用了 4 页,其中第 2 和第 4 页显示了我在表格中的一个字段。我尝试将报表属性中的布局大小设置为宽度 = 18 英寸和高度 = 8.5 英寸。

它在一页 PDF 中给了我整个表格,但我仍然让第二页和第四页空白。

我这样做的方式不正确吗?我还能如何摆脱那些空白页?

4

16 回答 16

363

在 BIDS 或 SSDT-BI 中,执行以下操作:

  1. 单击报告 > 报告属性 > 布局选项卡(SSDT-BI 中的页面设置选项卡)
  2. 记下Page width , Left margin , Right margin的值
  3. 关闭并返回设计界面
  4. 在“属性”窗口中,选择“正文”
  5. 单击 + 符号以展开 Size 节点
  6. 记下Width的值

要在 PDF 中正确呈现,正文宽度 + 左边距 + 右边距必须小于或等于页面宽度。当您看到正在呈现空白页面时,几乎总是因为正文宽度加上边距大于页面宽度。

记住:(正文宽度+左边距+右边距)<=(页面宽度)

于 2008-12-18T02:08:21.473 回答
121

要尝试的另一件事是将调用的报告属性ConsumeContainerWhitespace设置为True(默认为false)。我就是这样解决的。

于 2013-07-17T21:57:26.723 回答
28

经过数小时的努力解决这个问题后,我偶然发现了一个对我有用的解决方案:

在 SSDT (2012) 中,我最初将页面设置/页面单位设置为厘米。当我将其更改为英寸时,奇怪的是,我能够将我的报告导出为 PDF,而无需其他所有页面都是空白的。

在此处输入图像描述

于 2012-12-05T18:14:40.017 回答
25

在编辑 SSRS 文档时计算任何数学之前,最好先在设计图面上执行此操作(显示了 Visual Studio 2012,但可以在其他版本中完成)。

以下红色圆圈中的数字下方对应以下步骤:

  1. 在设计面,有时编辑器会创建一个page比实际控件大的;因此要打印重影区域。
  2. 调整到控件的大小。直观地查看宽度/高度,看看您是否无法在设计图面上引入页面 以将其调整为控件实际需要的空间,仅此而已。
  3. 然后尝试创建一个 PDF 并查看是否可以修复它。
  4. 如果#3 不能解决问题,那么有些控件需要太多的实际页面大小并且在长度/宽度上都超出了。因此,需要使控件的大小更小以适应更小的页面大小。

手动修复的步骤


此外,在某些情况下,您可以通过设置为自动使用空间来更改报告页面的ConsumeContainerWhitespace属性true

于 2015-01-26T15:03:04.923 回答
22

对我来说,问题是 SSRS 故意将您的空白视为您打算尊重它:

在此处输入图像描述

除了空白,确保没有右边距。

于 2015-06-16T03:47:14.283 回答
18

如果来自 SSRS 的页面是空白的,则需要调整报表布局。这将比运行输出和后处理来修复布局问题的副作用要有效得多。

SSRS 在推动边距边界方面非常挑剔。只需调整报表上的文本框或其他控件,很容易意外地扩大/加长报表。仔细检查报表面的宽度和高度属性,尽量挤压。注意大的页眉和页脚。

于 2008-12-12T16:09:26.290 回答
6

我已经与 SSRS 合作了 10 多年,上面的答案就是答案。但。如果没有任何效果,并且您完全被塞满了......从报告中删除项目,直到问题消失。一旦您确定了导致问​​题的行或报告项,请将其放在一个矩形容器中。而已。帮助了我们很多很多次!多余的页面主要是由于报表项超出了右边距造成的。当所有其他方法都失败时,将东西放在一个矩形内或一个项目右侧的空矩形内,可以阻止这种情况的发生。祝你好运!

于 2016-06-17T10:43:34.927 回答
5

您是否尝试查看报告右侧是否有空白?如果是这样,您可以将其拖回报告的末尾,然后将报告背景拖回同一位置。

于 2013-07-16T23:24:36.560 回答
5

除了边距,这是迄今为止最常见的问题,我还看到了另外两种可能性:

  1. 用于+连接文本。你应该&改用。
  2. 超出指定文本框宽度的文本。因此,如果您的文本框仅包含 30 个字符并且您尝试在其中塞入 300 个字符,那么您最终可能会得到额外的页面。
于 2012-04-10T21:13:21.103 回答
5

我最近继承了一份报告,我需要进行一些更改。遵循上述所有建议后,它没有帮助。该报告历来有这个额外的页面,没有人能弄清楚为什么。

我右键单击 tablix 并选择了属性。有一个复选框被选中,说在之后添加一个分页符。删除它后,它现在打印在一页上。

在此处输入图像描述

于 2018-01-29T15:41:44.267 回答
4

在报告 (myReport.rdlc) 的属性选项卡上,将“Keep Together”属性更改为 False。我一直在努力解决这个问题,这似乎解决了我的问题。 在此处输入图像描述

于 2014-12-18T19:28:31.620 回答
2

如果您的报表包含子报表,如果允许子报表和层次结构增长,则子报表的宽度可能会超出正文的边界。我有一个类似的问题出现在一个可以放在一个单元格中(跨越 2 列)的子报表中。看起来跨度可以在设计器中包含它,并且在 winform 或浏览器中呈现良好,并且最初它可以生成打印机输出(或 pdf 文件)而不会溢出到多余的页面上。
然后,在更改了其他一些列宽(并且不超过正文宽度加上边距)之后,winform 和浏览器渲染看起来仍然很好,但是当生成输出(打印机或 pdf)时,它增长超过边距并写入右侧将每一页作为第 2(第 4 等)页。我可以通过增加放置子报表的 colspan 来消除我的问题。
无论您是否使用子报表,如果您有页面溢出并且您的正文设计适合页面的边缘,请寻找允许增长的东西,将正文的宽度推出。

于 2017-03-20T21:57:23.727 回答
2

我通过执行以下操作解决了这个问题。(使用最新版本的报表生成器)

第 1 步。)转到“查看”选项卡
第 2 步。)选中“属性”复选框 第 3 步。)在报告正文内单击(它将更新属性选项卡中的值) 第 4 步。)此处不要考虑宽度 第 5 步。)右键单击报告外部的灰色区域,然后单击报告属性 第 6 步。)将左边距 + 右边距添加到身体宽度(如果等于 10,则将宽度设为 11) 第 7 步。)保存在此处输入图像描述
在此处输入图像描述

在此处输入图像描述
在此处输入图像描述

于 2021-06-22T13:36:21.683 回答
2

确保视觉工作室中的设计师没有超出您的最大宽度。将鼠标悬停在右侧页面边框上并向左拖动以确保页面不会超出您想要的布局。

在此处输入图像描述

于 2021-03-25T16:04:05.203 回答
0

我只是减少了所有小于 8 英寸的 Wight 元素,它更正了,我用鼠标做到了,你的报告体应该小于 8 英寸。

于 2021-12-07T13:07:08.557 回答
-4

我已经成功地使用 pdftk 删除了我在 pdf 中不需要/不需要的页面。你可以在这里下载程序

您可以尝试以下方法。取自此处的示例

从 in1.pdf 中删除“第 13 页”以创建 out1.pdf pdftk in.pdf cat 1-12 14-end 输出 out1.pdf

或者:

pdftk A=in1.pdf cat A1-12 A14-端输出out1.pdf

于 2008-12-12T15:03:15.813 回答