如何使用.NET CF获取WebBrowser控件中所有页面的位图

时间:2011-12-02 16:08:07

标签: .net winforms bitmap compact-framework webbrowser-control

我有一个WindowsMo​​bile 6.5(运行.NET CF 2.0)应用程序,它嵌入了一个WebBrowser控件,可以呈现一些内容(远程生成)。我希望将所有网页内容作为位图,以便能够将其发送到打印机(遗憾的是,此打印机不支持打印HTML)。

我知道这个问题已在这里提出: Get bitmap of an web page using WebBrowser Control in .net compact framework

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

如果您需要更多详细信息,请询问我。

2 个答案:

答案 0 :(得分:1)

您需要使用其他库或API来进行位图转换,这样您只需要将文档文本或外部HTML发送到API,确保html页面中的所有链接都是绝对的,不是相对的,或者其中有一个基本标签,让API进行转换,然后将位图发送到打印机。因此,如果您无法直接执行此操作,我会搜索HTML到位图API作为解决问题的第二个选项,或者作为后备选项。

.net可能有这样的API,我敢肯定,如果你不能以首选的方式做到这一点,会有很多第三方选择。

答案 1 :(得分: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());
}