如何使用.NET CF获取WebBrowser控件中所有页面的位图
我有一个WindowsMobile 6.5(运行.NET CF 2.0)应用程序,该应用程序嵌入了一个WebBrowser控件,用于呈现某些内容(远程生成)。我希望将所有网页内容作为位图,以便能够将其发送到打印机(遗憾的是,此打印机不支持打印HTML) 我知道这里已经有人问过这个问题: 但是对于.NETCompact框架没有可行的解决方案。WebBrowser.DrawToBitmap()在.NET Compact Framework中不存在如何使用.NET CF获取WebBrowser控件中所有页面的位图,.net,winforms,bitmap,compact-framework,webbrowser-control,.net,Winforms,Bitmap,Compact Framework,Webbrowser Control,我有一个WindowsMobile 6.5(运行.NET CF 2.0)应用程序,该应用程序嵌入了一个WebBrowser控件,用于呈现某些内容(远程生成)。我希望将所有网页内容作为位图,以便能够将其发送到打印机(遗憾的是,此打印机不支持打印HTML) 我知道这里已经有人问过这个问题: 但是对于.NETCompact框架没有可行的解决方案。WebBrowser.DrawToBitmap()在.NET Compact Framework中不存在 如果您需要更多详细信息,请询问我。您需要使用另一个
如果您需要更多详细信息,请询问我。您需要使用另一个进行HTML到位图转换的库或API,这样您只需将文档文本或outerhtml发送到API,确保HTML页面中的所有链接都是绝对的而不是相对的,或者其中有一个基本标记,让API进行转换,然后将位图发送到打印机。因此,如果您不能直接这样做,我会搜索一个HTML到位图API作为第二个选项来解决您的问题,或者作为一个后备选项 .net可能有这样一个API,如果您不能以首选方式执行,我相信会有很多第三方API可供选择。
- 从外部进行。使用类似的方法,然后通过WebRequest刮取结果:
- 也许您可以通过以下方式使用屏幕截图:
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());
}