silverlight   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Silverlight中创建报告(以PDF格式发送或将其发送到打印机)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我最近尝试在Silverlight 4中生成报告.在我的问题域中,这些报告需要直接转到打印机和/或客户端SL应用程序创建PDF并允许用户将其存储在某处. 至于报告,它大致由50%流文本(包括枚举),30%表和20%图表组成.流动文本部分使其更具挑战性,因为必须进行适当的断线. 到目前为止,我尝试了以下方法 – 每种方法都有自己的缺点,使它们不那么可行: > Silverlight自己的PrintD
我最近尝试在Silverlight 4中生成报告.在我的问题域中,这些报告需要直接转到打印机和/或客户端SL应用程序创建PDF并允许用户将其存储在某处.

至于报告,它大致由50%流文本(包括枚举),30%表和20%图表组成.流动文本部分使其更具挑战性,因为必须进行适当的断线.

到目前为止,我尝试了以下方法 – 每种方法都有自己的缺点,使它们不那么可行:

> Silverlight自己的PrintDocument:从技术上讲,有两个主要问题.首先,让分页工作正常工作,并在适当的布局上打印UIElements是@L_489_6@肮脏的hackjob和充满妥协;幸运的是,到目前为止,我已经成功完成了这项工作.但是,PrintDocument类始终将所有可内容呈现为位图,然后再将其发送出去;如果使用PDF打印机并希望仍能搜索/选择文本,这并不是那么有趣. David Poll在“Silverlight and Beyond”[1]中的方法并没有那么有用,因为它固有地遵循相同的方法,因此遭受非常相似的问题.
> silverPDF [2]:@L_489_6@几乎没有文件记录的库,需要手动完成大部分布局(前一种方法至少允许我重复使用Silverlight的布局引擎).到目前为止,我认为没有办法(例如)测量段落,并且使用long flowtext的唯一样本使用布局矩形的硬编码绝对值.此外,发展方似乎不活跃.

就个人而言,我现在正在虑采用完全不同的策略:简单地生成HTML文档.但我希望这里的社区可能对上述两种方法有所暗示,或者知道其他好方法.

提前致谢,
〜曼尼

解决方法

您是否需要在客户端上生成报告,或者您是否可以让服务器生成它?如果您可以在服务器上生成它,那么您的选择会更好.就个人而言,我认为目前Silverlight打印的工作方式非常差,因为报告的使用(将每个页面作为光栅而不是矢量发送到打印机,导致可能会有大量数据通过网络传输,并且打印质量输出较低).我发现最好的策略是在服务器上生成PDF(使您能够利用报告引擎),并将其显示在您的应用程序中.还有一些商业产品(例如Telerik的Silverlight Report Viewer,Report Sharp Shooter,甚至是First Floor Software的Document Toolkit).如果真的需要客户端解决方案,也许其中@L_489_6@可能是最佳选择(尽管打印质量仍然很差).请注意,Silverlight 5应该支持矢量打印,但距离发布还有6个月或更长时间.另一种选择是Pete Brown和David Poll的开源报告框架: http://silverlightreporting.codeplex.com/.

如果你想选择在服务器上生成报告作为PDF并在你的应用程序中显示它,我在这里写了一篇关于这样做的文章http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-6.aspx.这不适用于OOB应用程序,但源代码随附我的书(Silverlight 4专业商务应用程序):apress.com/book/view/9781430272076.

希望这可以帮助…

克里斯安德森

大佬总结

以上是大佬教程为你收集整理的在Silverlight中创建报告(以PDF格式发送或将其发送到打印机)全部内容,希望文章能够帮你解决在Silverlight中创建报告(以PDF格式发送或将其发送到打印机)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。