1

在我的应用程序中,您可以将数据复制到剪贴板。数据以 HTML 格式复制到剪贴板,以便在粘贴到其他可以处理剪贴板中的 HTML 数据的应用程序(例如 WinWord)时保留格式信息。

示例(4 个字,最后 2 个粗体字):

<span>This is </span><b>bold text</b>

结果:文本在 WinWord 中正确粘贴,格式(粗体)被保留。

示例(5 个空格):

<span>     </span>

结果: WinWord 中没有粘贴任何内容。

问题:如何实现 WinWord 保留第二个示例中的空格?

我尝试将它们编码为,&nbsp;但是当激活段落标记时,WinWord 将它们显示为一个圆圈。这看起来有点难看。

4

1 回答 1

1

我通过将 CSS 值添加white-space:pre<span>标签来解决这个问题。

虽然white-space:pre-wrap似乎是正确的值,但它被 WinWord 忽略了。

更新:

我还分析了 WinWord 如何创建其剪贴板数据。几个空格的 HTML 如下所示:

<span style='font-size:11.0pt;line-height:105%;font-family:"Calibri",sans-serif;mso-fareast-font-family:Calibri;mso-bidi-font-family:"Times New Roman";mso-ansi-language:DE;mso-fareast-language:EN-US;mso-bidi-language:AR-SA'>
    <span style='mso-spacerun:yes'>         </span>
</span>

笔记:

  • 这些空格位于一个单独的<span>标签中,其样式属性包含自定义键/值对mso-spacerun:yes
  • HTML 是 UTF-8 编码的,并且空格的字符代码是 U+00A0(没有换行符)。
于 2017-11-27T08:47:34.883 回答