reporting service打印出空白页的解决方法

时间:2023-01-24 08:33:46

注意报表中包含子报表的,如果父子两个报表都添加了分页符则会一定会出现空白页,所以要把子报表的分页符去掉;

还是报表中包含子报表的,在只有父报表加了分页符的情况下如果子报表没有数据,默认情况下也会把它占的空间显示出来,可能是因为要照顾非表格的缘故吧,这个问题导致可能会出现空白页,所以需要在父报表中对子报表设置属性“可见性-〉表达式”判断一下是否显示子报表;

 在List的属性里尽量用“在此列表前面插入分页符”(在前面插入分页符并不会在第一页出现空白,这肯定是reporting service处理过的),而不是“在此列表后面插入分页符”,选择后者的话有时候并不会分页,这应该是一个bug了。

报表最下方不要留空白,否则虽然数据只需要一页,但多出来的空白所占的位置可能会导致打印出一个空白页。

创建新报表后,先要确定这张报表将会用什么大小的纸张进行打印,确定好后,就可以选择属性下拉列表中的Report对象(如下图),对该对象进行属性设置。
首先设置PageSize:width=29.7cm,height=21cm,这是标准的A4纸大小。然后再根据需要设置Left, Right, Top, Bottom边距。在打印预览或打印时,打印属性对话框会提取PageSize 和上下左右边距成为打印机的默认属性设置。你可以在打印之前更改这些属性。
如果你的报表主体文件(下面的 body 属性)的大小是 29.7cm*21cm ,但是你没有设置 Report 属性。这个时候对打印没有太大的影响,因为你可以通过打印属性对话框重新调整打印属性。但是当你想要导出成 PDF 文件时,程序会默认的按照 PageSize 的大小进行导出,你无法再重新更改属性。举个例,如果你的 report PageSize 属性为 21cm*29.7cm ,而 body 的属性为 29.7cm*21cm ,那么你导出后的 PDF ,本来是一张纸的将会变成两张纸,完整的表格被切开成两页。

 reporting service打印出空白页的解决方法

 

设置万Report属性后,我们就可以来设置Body的属性,如下图:

Body有一个Size属性,Size属性如果设置得过大,就会出现空白页现象。 一般可以这样设置:

Body Width <= Report PageSize Width – Margin Left – Margin Right

Body Height = Report PageSize Height – Margin Top – Margin Bottom

很多人都没有考虑到边距问题,导致出现了空白页。

建议如果一定要设置边距的话,只设置LeftTop就可以了。

 

 reporting service打印出空白页的解决方法