【问题标题】:Copying from WebBrowser Control从 WebBrowser 控件复制
【发布时间】:2011-02-25 11:56:39
【问题描述】:

我的 C# windows 应用程序中有以下代码,它将我的 webbrowser 控件中的数据放入剪贴板。但是,当我将其粘贴到 MSWord 中时,它会粘贴 HTML 标记而不是页面内容。

Clipboard.SetDataObject(WebBrowser.DocumentText, true);

知道如何解决这个问题吗?

【问题讨论】:

  • HTML 标记是页面的内容,因为网页是由 HTML 组成的。
  • 好吧,这感觉像是一个肮脏的黑客,但它解决了我的问题:WebBrowser1.Document.ExecCommand("SelectAll", false, null); WebBrowser1.Document.ExecCommand("复制", false, null);

标签: c# .net winforms webbrowser-control


【解决方案1】:

好吧,这感觉像是一个肮脏的黑客,但它解决了我的问题:

WebBrowser1.Document.ExecCommand("SelectAll", false, null);
WebBrowser1.Document.ExecCommand("Copy", false, null);`

【讨论】:

  • WBc 本身就很脏,你知道,所以与 WBc 相比,任何肮脏的 hack 都不会那么脏:D
  • 别忘了接受你的正确答案(使用左边的提示)
【解决方案2】:

另一种选择是捕获页面的图像,而不是 html 并将其粘贴到文档中。我不认为 WebBrowser 控件可以处理这个问题,但 Watin 可以。 Watin 的 (http://watin.sourceforge.net/) capturewebpagetofile() 函数非常适合此功能。我不得不使用它而不是捕获 HTML,因为 Outlook 根本无法很好地格式化 HTML。

【讨论】:

    【解决方案3】:
    string allText = WebBrowser1.DocumentText;
    

    将返回所有当前加载的文档标记。是你要找的吗?

    【讨论】:

      【解决方案4】:

      我猜这是因为网络浏览器实际包含的是标记,而不是所有图像等。

      您最好使用网络浏览器将整个页面保存到磁盘,然后使用 word 打开它。这样它就可以在本地供 IE 使用。只是意味着你必须事后清理。

      下面的链接有一些关于在 c# 中使用 webbrowser 保存的内容

      http://www.c-sharpcorner.com/UploadFile/mahesh/WebBrowserInCS12072005232330PM/WebBrowserInCS.aspx

      【讨论】:

        猜你喜欢
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        相关资源
        最近更新 更多