我想知道是否有什么内置到Silverlight,或可能的c#,以允许打印报告?
我对任何一种方法都很满意:将文件导出为pdf格式并从中打印,导出为某种类型的文本文档并从中打印,或者只是从web应用程序本身显示打印对话框。
我知道在C#中有很多方法可以做到这一点,但是c#代码隐藏对于Silverlight应用程序中的许多事情来说是不同的,我似乎找不到任何可以工作的东西。
因此,如果有人对我可以尝试的东西有任何想法,我将非常感激!
发布于 2010-05-19 03:05:25
Silverlight从版本4开始就有内置的位图打印支持。你可以在Shawn的博客上找到一些有用的信息:http://wildermuth.com/2009/11/27/Silverlight_4_s_Printing_Support
正如我所说的,它只是基于位图的,具有位图的缺点(没有适当的缩放等)。
我喜欢的另一个很好的解决办法是在服务器端将要打印的数据转换为PDF。您可以在服务器上托管web服务,通过该服务将要打印的数据从客户端发送到服务器,然后在服务器上使用Acrobat Distiller或您喜欢的任何PDF打印实用程序生成PDF文件。PDF生成完成后,服务器会将指向新生成的PDF文件的URL发送回客户端。例如,在您的Silverlight应用程序中,您只需在新窗口中打开该URL即可。但是,这更像是PDF导出,而不是打印,因为PDF只能在客户端打开,而不会自动打印。
相比之下,在Silverlight中,默认情况下无法在客户端生成PDF。然而,有第三方库可以做到这一点。
干杯,亚历克斯
发布于 2010-05-19 09:53:28
您还可以查看Pete Brown的简单的Silverlight4报告编写器:http://10rem.net/blog/2010/05/09/creating-a-simple-report-writer-in-silverlight-4
一个功能更全但要求很高(需要ASP.NET服务器端)的选项是Perpetuum的SharpShooter:http://www.perpetuumsoft.com/Report-Sharp-Shooter-for-Silverlight.aspx
https://stackoverflow.com/questions/2859931
复制相似问题