Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用.NET CF获取WebBrowser控件中所有页面的位图_.net_Winforms_Bitmap_Compact Framework_Webbrowser Control - Fatal编程技术网

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

如何使用.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中不存在 如果您需要更多详细信息,请询问我。您需要使用另一个

我有一个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刮取结果:
  • 也许您可以通过以下方式使用屏幕截图:

@jeremy thompson:这些示例适用于完整的.NET框架或使用DrawToBitmap方法(在.NET Compact Framework中不存在)谢谢,我添加了CF标记,希望这能引起更多的注意,因为如果这是一个限制,那就不酷了拍摄屏幕截图很容易,但是,您正在显示的内容是否适合显示在屏幕上?
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());
}