2011-12-02 40 views
3

我有一個嵌入WebBrowser控件的WindowsMo​​bile 6.5(運行.NET CF 2.0)應用程序,該控件呈現一些內容(遠程生成)。我想將所有網頁內容作爲位圖獲取,以便能夠將其發送到打印機(遺憾的是,此打印機不支持打印HTML)。如何獲取WebBrowser控件中的所有頁面的位圖使用.NET CF

我知道這個問題已經在這裏問: Get bitmap of an web page using WebBrowser Control in .net compact framework

但也有.NET Compact Framework中沒有可行的解決方案。 WebBrowser.DrawToBitmap()在.NET Compact Framework中不存在。

請問我是否需要更多的細節。

+0

http://stackoverflow.com/questions/653834/how-do-you-take-a-screenshot-a-website-through-net-code –

+0

@ jeremy-thompson:這些示例是針對完整的.NET Framework或使用DrawToBitmap方法的目前在t他.NET Compact Framework) –

+0

謝謝,我添加了CF標籤,並希望這會得到更多的關注,因爲如果這是一個限制,它不會很酷 –

回答

1

您需要使用其他庫或API來進行HTML位圖轉換,這樣您所需要做的就是將文檔文本或outerhtml發送到API,確保html頁面中的所有鏈接都絕對不是相對的,或者有一個基礎標籤,讓API進行轉換,然後發送位圖到打印機。所以如果你不能直接做,我會搜索HTML到位圖API作爲解決你的問題的第二個選擇,或者作爲後備選項。

.net可能有這樣一個API,我敢肯定,如果你不能以首選的方式做,它會有許多第三方的選擇。

0
string url = @"https://screenshotmachine.com/serve.php?img=example-org-FULL-1bdf72.png"; 

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); 

using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) 
using (Stream stream = response.GetResponseStream()) 
using (StreamReader reader = new StreamReader(stream)) 
{ 
    Bitmap bmp = new Bitmap(reader.ReadToEnd()); 
} 
  • 也許你可以使用一個屏幕截圖通過代替ScreenCapture
相關問題