富文本框 .rtf 字符串与通过剪切和粘贴复制文本不同。如何获得相同的格式?

Posted

技术标签:

【中文标题】富文本框 .rtf 字符串与通过剪切和粘贴复制文本不同。如何获得相同的格式?【英文标题】:Rich text box .rtf string is not the same as copying the text with cut and paste. How to get the same format? 【发布时间】:2015-11-20 16:40:12 【问题描述】:

如何将富文本从富文本框中复制到剪贴板,其格式完全相同,如果我要突出显示富文本的内容文本框并用 control-c 复制它?

我知道如何使用“.rtf”复制富文本字符串(并且我知道如何复制纯文本),但是这些不会返回相同的结果。如果我在富文本框中突出显示材料并复制它,然后将其粘贴到 Word 中,格式仍然是完美的。 Word 接受的内容是彩色的、有项目符号的、有斜体的、粗体的或不同的字体大小,等等。但是,如果我将带有 .rtf 的富文本复制到剪贴板并将其传递到 word 中,那么我只会看到富文本代码。纯文本(.text),当然,只是给我纯文本。

我正在寻找的是用户能够将多个富文本框的内容粘贴到剪贴板中,这样她/他就可以将它们直接粘贴到 普通/标准 Word 文档和其他兼容的编辑器。换句话说,我希望内容进入剪贴板就像用户选择文本并复制然后粘贴一样,但我希望附加文本根据用户选择和程序状态,来自多个来源。

我知道剪贴板管理器程序存在(这不是我要写的),我想至少其中一些是用 C 编写的,所以我猜这一定是可能的。

【问题讨论】:

我可以告诉你的是,无论是插入文件还是从剪贴板粘贴,Word 在引入非本地内容(本地内容是 Word Open XML)时都会使用转换器。如果您放置在剪贴板上的内容显示 RTF 标记,则 Word 将“看到”内容为“纯文本”。因此,它可能与您用于将内容放在剪贴板上的命令或参数有关 - 这就是您应该集中精力的地方。 哇哦!那非常有帮助。它告诉我在哪里看。谢谢辛迪! 【参考方案1】:

感谢 Cindy,我找到了答案。如果从 RTF 源复制,我没有意识到 Clipboard.SetText 需要将格式设置为 RTF。

这解决了问题,也让我看到了一些新的可能性。

再次感谢。

【讨论】:

以上是关于富文本框 .rtf 字符串与通过剪切和粘贴复制文本不同。如何获得相同的格式?的主要内容,如果未能解决你的问题,请参考以下文章

selenium中的对输入框文本进行全选,复制,粘贴,剪切和删除的操作

kindeditor富文本编辑器支持从word复制粘贴保留格式和图片的插件

让富文本编辑器支持复制doc中多张图片直接粘贴上传

Axure 文本框去掉边框 富文本 粘贴文字图标

Axure 文本框去掉边框 富文本 粘贴文字图标

在输入/复制到富文本框时防止闪烁