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

它在一页PDF中给了我整个表格,但我仍然得到第2页和第4页空白。

我做的方法不对吗?我还能怎么摆脱这些空白页呢?


当前回答

If your report includes a subreport, the width of the subreport could push the boundaries of the body if subreport and hierarchy are allowed to grow. I had a similar problem arise with a subreport that could be placed in a cell (spanning 2 columns). It looked like the span could contain it in the designer and it rendered fine in a winform or a browser and, originally, it could generate printer output (or pdf file) without spilling over onto excess pages. Then, after changing some other column widths (and without exceeding the body width plus margins), the winform and browser renderings looked still looked fine but when the output (printer or pdf) was generated, it grew past the margins and wrote the right side of each page as a 2nd (4th, etc.) page. I could eliminate my problem by increasing colspan where the subreport was placed. Whether or not you're using subreports, if you have page spillover and your body design fits within the margins of the page, look for something allowed to grow that pushes the width of the body out.

其他回答

你有没有看一下你的报告右边是否有空白处?如果是这样,您可以将它拖回报表的末尾,然后将报表背景拖回相同的位置。

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

在报告(myReport.rdlc)的属性选项卡上,将“Keep Together”属性更改为False。我一直在这个问题上挣扎了一段时间,这似乎解决了我的问题。

I have worked with SSRS for over 10 years and the answers above are the go to answers. BUT. If nothing works, and you are completely stuffed....remove items from the report until the problem goes away. Once you have identified which row or report item is causing the problem, put it inside a rectangle container. That's it. Has helped us many many times! Extra pages are mostly caused by report items flowing over the right margin. When all else fails, putting things inside a rectangle or an empty rectangle to the right of an item, can stop this from happening. Good luck out there!

除了目前为止最常见的问题,我还看到了另外两种可能性:

使用+连接文本。你应该用&代替。 超出指定文本框宽度的文本。因此,如果你的文本框只容纳30个字符,而你试图在那里塞300个字符,你可能会以额外的页面结束。