[Silverlight] Silverlight 4 Priniting 功能

2010/10/13

這是Silverligh 4 才有的功能..
之前都是靠輸出CVS來印報表..
差點忘記這點…

今天被老闆問到說要印coupon 我熊熊還差點忘記Silverlight 有這功能搂..

畫面配置:

sshot-5

cvsPrintTarget 是一個Canvas 裡面裝著一張圖 跟一個Label

btnPrint 按下去之後會列印 整個 cvsPrintTarget

其實Code 很簡單也不多加贅述…


別忘記 要先

using System.Windows.Printing;

btnPrint 的 Click 事件 :
private void btnPrint_Click(object sender, RoutedEventArgs e)
{
 
PrintDocument document = new PrintDocument();
 
document.PrintPage += document_PrintPage;
 
document.Print("當麻的測試列印");
}
 
void document_PrintPage(object sender, PrintPageEventArgs e)
{
e.PageVisual = cvsPrintTarget; 
}

其中 e.PageVisual 可以接受任何 UIElement ..
sshot-6

我個人覺得拉,印一些東西很方便..
但是功能還過於簡單..
尤其是報表…
應該會有很多公司來做跟Silverlight報表有關的東西..
如果你有印報表需求..
可以參考這篇  [Silverlight] 在Silverlight中輸出成 *.CSV 檔案
不然就是把資訊傳到另外一頁.aspx讓網頁來做..
這是我目前應付報表及多分頁的作法..

之前有試過在Silverlight 中做分頁 頗麻煩…
所以上述方法省事的多…

案例結果:

如果你懶得印出來看結果…
這邊有我測試的結果..
sshot-4

溫馨小提醒 盡量不要浪費地球資源 如果你要測試列印出來好不好看
建議可以用一些 pdf 產生器 讓他直接變pdf 檔可以避免浪費紙張跟時間…

讚一下:

下載案例:


0 意見:

程式 . 生活 . D小調.@2010 | Binary Design: One Winged Angel.