我在Silverlight 3中有哪些打印选项?假设我有一个很棒的Silverlight应用程序/控件,它创建了一些数据的图形显示。现在用户想要打印它。
我考虑了一些选项,但还没有测试过任何选项。在我进行测试之前,我想先获得一些反馈,看看如何完成打印。
使用浏览器的打印功能。就我的经验而言,这并不提供有用的打印输出,但也许在Silverlight主机和浏览器之间进行一些交互可以实现呢?
使用
WriteableBitmap
。图像可以在本地编写,但这需要用户进行交互,或者将其发送到服务器,在那里可以生成适当的文件(例如PDF文件),然后将其发送回浏览器。不幸的是,您现在需要在网络上传输两次图像,并增加服务器端的复杂性。将XAML发送回服务器,然后在运行在服务器上的WPF应用程序中呈现。结果会被发送回客户端。我不确定是否可能,但如果可能的话,网络开销比选项2要小。不幸的是,服务器端的复杂性更高。
等待Silverlight 4?
我考虑过的一件事是,我的控件可能会在最高层级上有一个ScrollViewer
,但用户希望打印控件的整个内容,而不仅仅是ScrollViewer
边界内可见的内容。我该如何处理这种增加的复杂性?