如何在Silverlight 4中打印报告

3

我想知道Silverlight或者C#是否内置了任何功能,以便打印报表?

我可以接受多种方法:将文件导出为PDF格式并从那里打印,导出为某种文本文档并从那里打印,或者仅仅从Web应用程序本身显示打印对话框。

我知道在C#中有做这个的方法,但是在Silverlight应用程序中,C#代码后台与许多其他东西不同,我似乎找不到适用的方法。

所以如果有人有任何想法,我会非常感激!

2个回答

4
自从4版本以来,Silverlight确实具有内置的位图打印支持。您可以在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。但是,有第三方库可以实现此功能。 祝福,Alex

在这个阶段,我会非常满意基于位图的打印。但是提到的PDF生成方法看起来非常不错。如果我理解正确,它应该允许用户选择保存生成的报告或打印它,这最终是我想在应用程序中加入的功能。我一定会进一步研究你的解决方案,但它似乎正是我需要的!非常感谢! - AmbiguousX

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接