2

由于某些原因,我需要从 iOS 应用程序导出 RTF 数据(无图像,仅文本),以便能够在 Word 或任何文字处理器中读取它。目前,此导出创建一个可以在 TextEdit 或 Word(MacOS 和 Windows)中读取的 RTF 文件,显示原始文本的背景颜色。两者都可以正确读取和显示在 iPhone UIWebView 上显示的文本。

但不幸的是,当尝试将此 RTF 读取为我的 iPhone 应用程序的输入(以及作为 iOS 在电子邮件应用程序中提供的快速查看)时,文本颜色正常,但背景颜色不显示。

在导入此导出的 RTF 数据后分析由 UIWebView 创建的 HTML 时,我可以看到 iOS 的导入功能没有保留有关文本背景颜色的信息(这很合乎逻辑,因为“快速查看”功能不显示相同的背景颜色在 iOS 电子邮件应用程序中)。

在花费数小时分析文档的 Word RTF 版本之后,我找不到为我的 RTF 编码以实现背景颜色兼容性的好方法。RTF 规范谈到 \cbN 将背景颜色置于颜色表的第 N 种颜色。由于 Word 没有实现此 \cbN 控件,我实现了 \chcfpat0\chcbpatN\cbN 控件以保持与 MacOS TextEdit 和 Word 软件(任何平台)的兼容性。它有效。但是 iOS 中的 RTF 导入工具既不识别 \chcfpat0\chcbpatN 也不识别 \cbN 关键字。

有没有人有任何神奇的想法来处理这个愚蠢的问题?

谢谢

4

1 回答 1

1

在尝试创建简单的 RTF 格式文档时,我总是使用写字板。大多数时候,我试图在 WinForms 应用程序中显示格式化文本,并且需要将RichTextBox控件可以处理的内容分配给其Rtf参数。

写字板将背景颜色称为“文本突出显示颜色”。

我只是用它在带有黑色背景颜色的RichTextBox控件中显示一些富文本。我在写字板中将文本突出显示颜色设置为黑色,将文本颜色设置为白色,保存文档,在记事本中打开文档,从那里复制原始 RTF 文本,并将其分配给RichTextBox的Rtf属性控制,它工作得很好。

希望这种技术适用于您的情况。

于 2016-06-05T18:53:53.213 回答