当前位置: 代码迷 >> Silverlight >> !silverlight打印,各位看官请进来给点意见,该如何解决
  详细解决方案

!silverlight打印,各位看官请进来给点意见,该如何解决

热度:6999   发布时间:2013-02-26 00:00:00.0
!!!!!!!!!!!silverlight打印,各位看官请进来给点意见
首先,说一下我这的情况,
项目是silverlight+webservice(c#)
原来silverlight4的时候,打印的都是位图的,位图打印太大了,打印一页很简单的page,都100来MB(打印机状态那能看到),就升级到silverlight5,但发现5的打印也是要打印机和驱动都支持postScript的才是矢量打印,否则还是位图打印,但现在的打印机基本上都是支持PCL的(HP针对postScript推出的一个打印机语言,postscript是要收费的),所以悲剧了,
初步有2个想法,不知道可行不可行,请大家帮忙考虑一下,
1.打印的page转换成pdf,做预览,利用pdf的打印,问题在于silverlight里的pdf生成还有是否有pdf的打印可以调用,
2.利用webservice(c#)这个后台打印,问题在于webserivce调用的是服务器的打印机,也不太好设置一些打印设置,

欢迎其他的思路,顺便鄙视一下MS,silverlight组



ps:受等级所限,分只能这么多,真有好方法,可以另开贴加分,


------解决方案--------------------------------------------------------
什么位图会这么大。silverlight在客户端打印。这么大的位图是哪来的?怎么传到客户端的?
------解决方案--------------------------------------------------------
只做过单据的打印。数量量不大。没有注意到生成的打印数据是那么大。反正你也是分页打印。你不一次性PrintDocument.Print。你分页一页一页PrintDocument.Print也会出现这种问题?
------解决方案--------------------------------------------------------
silverlight打印输出的是位图,打印文件都会很大。你可以看下lodop这个web的打印控件,定义一个web页面,从silverlight中把数据传给web,然后进行web打印。lodop控件中有很多设置,你可以研究下。我是这么做的
------解决方案--------------------------------------------------------
引用:


遇到过这种情况,最后项目中是使用Silverlight弹出一个ASPX页面,然后调用JS方法打印的。没有必要直接在SL中进行打印~~~
  相关解决方案