[.NET]如何擷取部分網頁內容轉成圖片

摘要:[.NET]如何擷取部分網頁內容轉成圖片

 

前言 

     如題,在專案上有此需求,需將網頁上的部份內容轉成圖片,例如:特定div區塊的資訊。 

這樣類似的Solution之前也有看過類似的,如:IECapt,但它需透過執行檔下Command去轉檔 

,比較不適用直接在網頁上匯出的圖片需求。剛好在Codeplex有找到較符合我的需求的解決 

方法,在此分享給大家。 

 

SouceCode網址:http://htmlshot.codeplex.com/ 

 

使用方法: 

下載後會有完整的程式碼及範例,使用重點如下 

1.引用.js <script src="Scripts/HelpersScripts.js" type="text/javascript"></script> 

 

2.加入一個隱藏欄位 <input id="htmlStringInput" name="htmlStringValue" type="hidden" value=""/> 

 

3.針對要匯出的內容使用div包住 

 

4.將div內容在load或匯出的Client事件,先將div內容塞給隱藏欄位 例: 

var myDivContentString = document.getElementById('myDiv').outerHTML;
document.getElementById('htmlStringInput').value = getHtmlString(myDivContentString); 

 

5.Server端匯出方法: 

System.Drawing.Imaging.ImageFormat bitmatFormat = System.Drawing.Imaging.ImageFormat.Png;
HTMLShot.GetHTMLShot(Page.Request, htmlStringInput.Value, Response.OutputStream, bitmatFormat, width, height);