2009-01-19 40 views
2

我有一个允许用户将文本和图像添加到画布的Silverlight 2.0项目。他们可以移动,旋转和调整文本/图像的大小。我想知道将Silverlight对象序列化到数据库的最佳方式,并且能够生成要打印的画布的PDF。如何将Silverlight 2.0画布保存到数据库并将其导出为PDF

我读过一些关于调用Web服务和传递序列化数据,然后保存并生成PDF的文章。我的主要问题是如何有效地序列化Silverlight对象,以便在用户返回时重新绘制Silverlight对象,以及是否有简单的方式将画布另存为PDF或图像。

谢谢。

回答

3

我们正在经历完全一样的问题,同时建立了colaab,一个Silverlight 2协作系统可在:

http://www.colaab.com

的选项似乎是:

  1. 创建一个服务器端打开浏览器并正确设置页面,然后使用WebShot等软件截取它。

  2. 将Xaml从视觉树发送到服务器(在SilverlightContrib中有一个方便的类来从对象模型中获取Xaml)。一旦你在服务器端得到这个,使用完全成熟的.NET框架WPF支持将其作为PNG导出。由于WPF是客户端技术,因此服务器端不支持此功能。

  3. 使用HTML桥调用浏览器打印功能

  4. 等待Silverlight 3的 - “更好的印刷和RenderTargetBitmap(AKA位图截图)有两个功能,我们计划在未来的版本。”

感谢,

鲍勃

- 鲍勃·汤姆森 风暴的想法

http://www.colaab.com http://blog.stormideas.com 叽叽喳喳:movingforwards

0

不幸的是,没有简单的方法将画布另存为pdf或图像。最近我们遇到了类似的问题,并采取了一种运行服务,基本上在托管Silverlight应用程序的内存中创建了一个IE浏览器,然后从那里进行屏幕截图。是所有有点fiddly ...我希望像Canvas.ToImage();)

对不起,没有更好的答案!

我会很快了解关于序列化。

+0

感谢戴夫,我希望简单的东西作为好。让我知道你对序列化的了解。 – Austin 2009-01-19 16:58:53

相关问题