日期:2014-05-19  浏览次数:20427 次

高分求助:Web中水晶报表的打印问题 (大家都来关注下)
开发环境vs2005,.net,语言C#
在开发机器上已经实现了水晶报表的显示打印(调试环境中),都符合要求
但是将其放到IIS中,然后用其他机器访问却出了问题:
打印能够预览,却不是我水晶报表设置的(28*14)的样子,还是原来默认的(A4)的样式,
因此打印出来的效果根本达不到预期要求.
我想问的是这种情况是不是跟客户机上的打印机设置有关,不过我已经将默认打印机都设置成了(28*14),但还是没用,是不是没有设置对?
还有我该怎么样写代码解决这个问题,是不是有办法在服务器上将打印预览的样子定义好,让客户端的操作不要那么麻烦.
请高手指点,最好能够有简单明了的方法
能够提供点代码将非常感谢

我已经问过了一次,有个朋友这么跟我说:
你要用单独的水晶报表版本打开报表,然后在“文件”菜单下打开“页面设置”,才能改变张纸大小,在.NET里设置是没有用的。
我按照他说的在机器上装了个水晶报表9打开试了一下,好象可以了,但是由于公司没有打印机,只能预览,然后我把程序完整得拷贝到客户的服务器上,仍然还是跟以前一样的,预览也是不正确的,这个是不是必须还得装一个水晶报表软件才行?但是有点麻烦,我用水晶报表9打开以后,报表格式出现了一些偏差,可能是版本不一致的原因.

现在再次将问题提出来,寻求好的解决办法,希望有经验的提点一下
大家都踊跃发言啊!

------解决方案--------------------
我用的是2003的水晶报表,见过打印报表的例子,不知道在05里行不行,帮你顶
------解决方案--------------------
先頂﹐
------解决方案--------------------
http://www.51aspx.com/S/%e6%b0%b4%e6%99%b6%e6%8a%a5%e8%a1%a8.aspx
------解决方案--------------------
报表打印控件wsReport4.6
http://www.wave12.com/web/home.asp
------解决方案--------------------
这个问题搞了我好几个月了,后来好不容易才搞定。
除了像你说的那样设置外,还要在代码里设置一下纸张大小,如(crs是水晶报表):
crs.ReportDocument.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperStatement;
crs.ReportDocument.PrintOptions.PaperOrientation = PaperOrientation.Landscape;
当然,你自己设置的大小要PaperSize里有的,这里是枚举值,不能自己设置.
这样拷到服务器上就不会变了
------解决方案--------------------

------解决方案--------------------
VS2005里設置和在9.0里設置是有偏差﹐我這里長出現這情況﹐只有在9。0做好再放入工程中。

------解决方案--------------------
学习 接分
------解决方案--------------------
学习 接分

------解决方案--------------------
今天我在服务器上安装了一个水晶报表9,然后用它设置了一下页面
打印预览已经符合了设想
但是又出来了一个新问题,就是在打印的时候,可以正常打印,我是用的(hp-2600)的打印机,(28*14)的纸,但是打印出来的效果不理想,打一张正常的,有3张是空白的,也就是说走纸没有对,结果造成了纸张的严重浪费,我想问下这个又是什么问题.

我用的是水晶报表10的
不过走纸有空白,应该是页边距没有设置好
像这种自定义的纸张,页边距很难调的