引言
即使越来越提倡无纸化办公的今天,对于报表来说,仍无法规避打印这个问题。我们通常在用SSRS做报表的时候是无需要考虑打印的,报表实现需求,足够美化即可。但是仍有不少时候,定制的报表是需要实现直接打印的。那么SSRS定制的报表如何能尽可能的不借助其他工具或导出调整大小,直接打印呢?今天就提供一个思路给大家。
关键知识点
A4纸:(主体PageSize属性)A4纸是由国际标准化组织的ISO 216定义的,规格为21*29.7cm(210mm×297mm),世界上多数国家所使用的纸张尺寸都是采用这一国际标准。
页边距:(报表Margins属性)页面的边线到文字的距离。通常可在页边距内部的可打印区域中插入文字和图形,也可以将某些项目放置在页边距区域中(如页眉、页脚和页码等)。
内容大小:=A4纸大小-页边距。内容以不超出内容大小为底线。当报表实现列分组时,要考虑动态生成的列数不固定,可能会导致超出边界。
案例
step1、设定页边距
为什么首先要设定页边距呢?首先,只有固定了页边距,我们才能根据纸张大小算出报表应设定的大小。其次,设定页边距时可以先把页眉、页脚的大小考虑进去。
step2、设定主体PageSize
=A4纸大小-页边距。根据这个公式,我们可以得出内容宽高底线。宽:21-(2+2+0.07)cm,高为:29.7-(3+3)cm。
这时候有人可能会疑惑了,宽为什么要加0.07呢?高设定为2为什么这儿要减3呢?
说实话我也不明白为什么。宽度为什么减0.07,下图是预览,页面设置的截图看了可能就明白了。至于高度嘛,我是试出的。
step3、定制内容
*定制时内容宽度不能超出报表白色区域,特别要注意,在添加或拖动控件时,如果超出边缘,报表是会撑开的。
*定制时报表使用列分组要特别注意,动态生成列,列数不可控很有可能浏览时超出页面大小。
step4、打印预览
扩展
由以上我们不难想到,A4纸的宽度无法呈现报表内容时可以考虑横向打印。横向打印,只需要将报表的大小宽高对调设置即可。以此类推,就可以实现其他纸张大小的打印设置。