【问题标题】:Copy complete Html-page to the clipboard将完整的 Html 页面复制到剪贴板
【发布时间】:2016-07-13 00:16:33
【问题描述】:

在我的 c# 应用程序中,我正在生成用于可视化数据的 html,以便将其复制到剪贴板。我发现很多链接解释如何将 html 复制到剪贴板,但它们都在谈论应对片段,而不是完整的 html 文档。

我关注了tutorial 并尝试了描述中的数字,但在没有复制描述部分的情况下也无法复制我的完整 html。我需要 html 将其粘贴到例如电子邮件中以获得格式正确的文本。

那么谁能告诉我解决这个问题最简单的方法是什么?

编辑:

我谈到了一个桌面应用程序,这就是我生成要复制到剪贴板的 html 的方式(-1 只是一个例子。我尝试了很多其他数字):

        var htmlHeader = new StringBuilder();
        htmlHeader.Append("Version:0.9 ");
        htmlHeader.Append("StartHTML:-1 ");
        htmlHeader.Append("EndHTML:-1 ");
        htmlHeader.Append("StartFragment:-1 ");
        htmlHeader.Append("EndFragment:-1 ");
        htmlHeader.Append("StartSelection:-1 ");
        htmlHeader.Append("EndSelection:-1 ");
        htmlHeader.Append("<!DOCTYPE> ");
        var mainHtmlString = "<html><body style='background-color: #E5EDFF;'>" +        contentTasks + contentContacts + "<body></html>";
        Clipboard.SetText(htmlHeader.ToString() + mainHtmlString, TextDataFormat.Html);

【问题讨论】:

  • 它是什么样的应用程序?桌面?网络?您是将生成的 HTML 存储到字符串还是检索到流?
  • 它是一个桌面应用程序。我只是用我需要的 html 创建一个 stringBuilder,然后调用 Clipboard.SetText(html.ToString() , TextDataFormat.Html)。我只需要生成 html 以将其复制到剪贴板,然后将其粘贴到例如电子邮件中。

标签: c# html clipboard


【解决方案1】:

我对您的问题做了一些假设,(即)您有一个桌面 C# 应用程序,需要获取 HTML 页面的内容并在 C# 应用程序中解析它。如果是这样,那么代码将是

using System.Net;

WebClient client = new WebClient ();
string reply = client.DownloadString (address); /* address is the complete URL as string */

变量reply可以根据需要进行解析。

【讨论】:

  • 抱歉我的描述不清楚。我编辑了我的问题。
【解决方案2】:

如果您只想将字符串保存为 HTML 文本,请删除 TextDataFormat 参数,或将其设置为文本。如果您想将实际的 HTML 数据保存到其中,请查看这篇文章:http://theartofdev.com/2014/06/12/setting-htmltext-to-clipboard-revisited/

您必须创建一个 DataObject 并设置它,而不是仅仅将剪贴板设置为文本字符串,以便接收数据的任何人都可以读取它支持的部分。

【讨论】:

    【解决方案3】:

    此外,您可以在您喜欢的浏览器中右键单击页面并查看源代码,然后将完整的页面 HTML 代码复制到那里。但是有一个问题!用这种方法。 GoogleFirefox view-source 模式都将页面 HTML 代码包装在行号中。在剪贴板缓冲区中,行号实际上是一个 html 包装代码,您必须将其删除。 IE 不这样做。

    //Firefox Paste from source view
    //<!--StartFragment--><pre id="line1"><span></span><span class="doctype"><!DOCTYPE html></span><span>
                        //<span id="line2"></span>
    
    
    //Google Chrome paste from source view
    //<!--StartFragment--><table style="letter-spacing: normal; orphans: auto; text-indent: 0px; text-transform: none; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><tbody><tr><td class="line-number" value="1"><!DOCTYPE html></td><td class="line-content">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-20
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 2015-08-08
      相关资源
      最近更新 更多