2009-01-19 87 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

相關問題