我想从我的Silverlight 4应用程序打印报告(只是文本列)。我知道的唯一方法是使用PrintDocument并将PageVisual设置为显示报告的框架元素。但是,这会导致一个非常大的打印作业(如120 MB)。这不是我的客户想要的。还有其他解决方案吗?从silverlight应用程序打印文本
回答
一个简单的解决方案是直接从浏览器打印网页(我认为这不是你想要的)。
我认为PrintDocument和PageVisual是如何从SL内部打印的唯一方法。
我做了一些印刷,即使有大的视觉结构,但我没有检查我的打印作业有多大,所以我不能告诉你它是否正常。
无论如何,您可以尝试不直接打印您想要打印的元素,而是制作其他一些轻量级打印件,这些打印件仅用于打印目的并填充相同的数据并打印该轻量元件。
您可以将文本转换成图片,然后打印图片.. MB这将帮助你
http://www.andybeaulieu.com/Home/tabid/67/EntryID/161/Default.aspx http://www.snowball.be/Printing+In+Silverlight+3+Yes+We+ Can.aspx
Silverlight 4的问题在于,您打印的所有内容都是以600 DPI的光栅化图像的形式生成的。这解释了您看到的大量工作量。这也是为什么Silverlight的文本与您期望的输出相比看起来非常模糊的原因。 Silverlight 5将使用Postscript vector-based printing来解决这个问题,但现在您面临的事实是,如果没有第三方解决方案,您实际上会受到开箱即用限制或使用HTML的困扰。
如果您愿意从服务器端提供的HTML中生成报告,您可能会考虑您正在做的事情,以获得最佳解决方案。在这种情况下,您至少不必担心分页等复杂性,因为它是Silverlight打印的一部分。
用于报告良好的第三方解决方案,但也许比你所需要的更多的,是使用Reporting Services加上这款产品:http://www.perpetuumsoft.com/Silverlight-Viewer-for-Reporting-Services.aspx?lang=en
谢谢。我想我们会等待Silverlight 5的功能。现在我们已经实现了我们自己的PDF解决方案,将报告保存在桌面上,然后用户必须自己打开并打印它。 – 2011-03-24 06:31:32
这是一个浏览器外的应用程序,或者您是否使用无窗口模式从服务器端解决方案中提取PDF? – 2011-03-24 07:37:42
这是一个OOB应用程序。我们使用PDFSharp在服务器上创建PDF并将该流返回给客户端。 – 2011-03-25 13:12:31
- 1. 打印从Web应用程序直接打印到本地打印机
- 2. 从.net应用程序批量打印?
- 3. 自动打印从Web应用程序
- 4. 从可可应用程序打印NSImage
- 5. 从Windows Store应用程序打印
- 6. 从WinForms应用程序打印
- 7. 如何从iPhone应用程序打印?
- 8. 从网络应用程序打印
- 9. 从Windows Mobile应用程序打印
- 10. 从iphone应用程序打印
- 11. 打印从iPad应用程序
- 12. 从C#应用程序打印命令
- 13. 从Silverlight 4业务应用程序打开记事本
- 14. 从C#ASP.NET应用程序进行远程和本地打印
- 15. 打印应用程序(UWP)
- 16. 从mvc web应用程序打印到热敏打印机
- 17. 从java应用程序打印到TSC打印机
- 18. 从网络应用程序打印到客户端打印机
- 19. 如何从Web应用程序打印收据打印机?
- 20. 从Web应用程序打印到收据打印机
- 21. Android - 从移动打印机上的应用程序打印
- 22. 从CN1打印到Wifi打印机应用程序
- 23. 从蓝牙打印机打印的Android应用程序
- 24. 从有限制的web应用程序在本地打印机上打印
- 25. 从silverlight应用程序下载文件
- 26. 从Silverlight应用程序
- 27. 从web服务器打印文本文件到python程序打印错误
- 28. 如何从Cocoa应用程序创建“打印实用程序”?
- 29. 从Android应用程序打印文本文件时,将左边距设置为Zebra打印机
- 30. C#.net windows应用程序 - 打印文本框值
其实Silverlight是这样做,反正。 Silverlight 4只能在600 DPI下打印光栅图像。 – 2011-03-22 20:37:36