Never give up - LEO

人 只有在合适的地方 才能体现出最大的价值
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

Reporting Service 打印问题

Posted on 2007-01-08 22:16  lizhiwen  阅读(3601)  评论(12编辑  收藏  举报
一、硬件环境:    Intel P4 1.8G,  512M内存,     华硕主板

二、打印机使用的是 爱普生LQ-1600k 针式打印机,该打印机直接连接在电脑上,该电脑安装了爱普生LQ-1600k标准驱动.在打印机设置服务器属性中 添加了一个自定义打印格式:21.5cm*13.9cm

三、软件环境,一共在以下三套环境下进行了测试:

以下系统、软件都是简体中文版。

   1.操作系统 Windows 2003 sp1

     其他软件 VS.NET 2003, SQL Server 2000 sp4, Reporting Service 2000 sp2,IE 6.0 sp1

   2.操作系统 Windows 2003 sp1

     其他软件 VS.NET 2005, SQL Server 2005, Reporting Service 2005,IE 6.0 sp1

   3.操作系统 Windows 2003 sp1

     其他软件 VS.NET 2005 , SQL Server 2005 sp1, Reporting Service 2005 sp1,IE 6.0 sp1

四、测试方法及测试结果

在第一套环境中(RS 2000 sp2

所测试的报表是在vs.net 2003环境中制作,以下是部分参数:

Report Property:

MarinTop:0.5cm

MarinLeft:0.2cm

MarinRight:0.2cm

MarinBottom:0.5cm

PageHeight:21cm

PageWidth:13.9cm

Body Property:

Height:21.1cm

Width:12.9cm

打印按钮所在环境

打印对话框选择参数

打印结果

描叙

Vs.net 2003 开发环境制作报表预览界面的打印按钮

打印页数:1-3

纸张方向:纵向

纸张规格:21.5*13.9

正确

字体、表格大小,连打都正常

Reporting Service 报表管理器报表查看界面的打印按钮,打印客户端ActiveX控件确定为2000 版

打印页数:1-3

纸张方向:纵向

纸张规格:21.5*13.9

错误

连打都正常,字体、表格宽度正常,但是高度严重缩小。

 

在第二套环境(RS 2005)和第三套环境(RS 2005 sp1)中测试结果相同。

所测试的报表是在vs.net 2005环境中制作,以下是部分参数:

Report Property:

InteractiveWidth:21cm

InteractiveHeight:13.9cm

以上两个参数在未设置参数,设置参数下都进行了测试,在报表管理器环境下测试的结果都不正确。

MarinTop:0.5cm

MarinLeft:0.2cm

MarinRight:0.2cm

MarinBottom:0.5cm

PageHeight:21cm

PageWidth:13.9cm

Body Property:

Height:21.1cm

Width:12.9cm

Table Property:

PageBreakAtStart:false

PageBreakAtEnd :True

以上两个参数的四种组合参数设置都进行了测试,在报表管理器环境下测试的结果都不正确。

打印按钮所在环境

打印对话框选择参数

打印结果

描叙

Vs.net 2005 开发环境制作报表预览界面的打印按钮

打印页数:1-3

纸张方向:纵向

纸张规格:21.5*13.9

正确

字体、表格大小,连打都正常

Reporting Service 报表管理器报表查看界面的打印按钮,打印客户端ActiveX控件确定为2005 版

打印页数:1-3

纸张方向:纵向

纸张规格:21.5*13.9

错误

连打都正常,字体、表格宽度正常,但是高度严重缩小。

 

   表格中蓝色部分是我们在实际中需要的参数设置打印页数:连打,纸张方向:纵向,纸张规格:21.5*13.9,可以看出在,无论是2003还是2005,在开发环境的预览下进行打印完全正常,而在报表管理器的查看界面进行打印时确发生了高度缩小现象。测试中,当在报表管理器查看界面进行打印参数设置时,虽然纸张方向选择了纵向,纸张大规格选择了21.5cm*13.9cm,但是当点击预览按钮所显示的纸张却不是纵向21.5cm*13.9cm的纸张大小,而像一张纵向的A4纸大小,所以打印出来的效果在高度上放生了挤压缩小。怀疑是报表管理器使用的ctiveX打印控件RSClientPrint有问题。

我反复作了以下测试:

环境:RS 2000win 2003sp1,打印机直接连在电脑上,该电脑装了两个打印驱动:一个爱普生 LQ 1600k的标准驱动,一个Office 虚拟打印驱动,默认驱动为爱普生的。

第一种流程:点击打印按钮弹出打印对话框,默认为爱普生,所以直接点击属性进行设置纸张,选纵向,纸张大小选择在打印机服务器属性中自己定义的21*13.*9大小,点击确定。然后预览打印,预览界面错误,打印结果也是错误,高度上缩小。

第二种流程:点击打印按钮弹出打印对话框后,选择虚拟打印机,然后点击属性进行设置纸张,选纵向,纸张大小选择自定义,宽度写21,高度写13.9,然后确定。接着把虚拟打印机换掉,改选爱普生打印机,不再进行任何属性操作,再进行打印预览,预览界面正常,打印结果正常。

第三种流程:点击打印按钮弹出打印对话框后,选择虚拟打印机,然后点击属性进行设置纸张,选纵向,纸张大小选择自定义,宽度写21,高度写13.9,然后确定。再改选爱普生打印机,点击属性,此时爱普生打印机的属性变成了纵向,纸张大小选择了自定义的那个选项21*13.9

第四种流程:点击打印按钮弹出打印对话框,默认为爱普生,直接点击属性进行设置纸张,选纵向,纸张大小选择在打印机服务器属性中自己定义的21*13.*9大小,点击确定。再改选虚拟打印机,察看虚拟打印机的属性,发现虚拟打印机的页面大小属性的三个文本框尽然全是空白。这说明页面大小的属性已经丢失,所以导致无法正常打印,因为微软如果发现PageWidth PageHeight没有值,就会用一个默认值代替。

根据以上几种操作,我总结了一下发生错误环境:

1.使用的打印机的驱动程序在选择页面大小时,是下拉框形式,并且所选择的纸张规格是自定义的。

2.WebForm下使用。

3.纸张宽度大于高度。

正常打印结果图:

错误打印结果图:

 

 
到至今还没有答案。。。。。。