【问题标题】:How to create RTF from plain text (or string) in C#?如何在 C# 中从纯文本(或字符串)创建 RTF?
【发布时间】:2017-04-07 02:27:35
【问题描述】:

谁能帮我从 C# 中的字符串创建 RTF?

我将所有格式(粗体、斜体等)保存在自定义类中。

杰瑞

【问题讨论】:

    标签: c# string rtf


    【解决方案1】:

    作为最简单的选择,您可以在 winforms 应用程序中使用 RichTextBoxControl。

    richTextBox1.SaveFile(@"C:\temp\test.rtf", RichTextBoxStreamType.RichText);
    

    【讨论】:

      【解决方案2】:

      我会使用外部库而不是自己编写代码。检查这些项目:

      您也可以使用Rtf property of the RichTextBox control(如果您的用户正在此类控件中输入数据)。

      【讨论】:

      • netrtfwriter 真是太棒了,在VS2017中下载运行没有任何问题,完美的结果。它甚至显示一个包含复杂单元格的表格。 Program.cs 中的详细文档。
      • 您可以考虑在主要答案文本中关注 netrtfwriter,因为问题是关于 C# 的,然后在最后的注释中提及 C 代码。我以为你的答案是关于 C 的,然后去检查其他答案
      • @jw_ 第二个链接也是关于 C# 的,它只是删除了 '#' 的 URL。
      【解决方案3】:

      我知道我是 NECRO 一个老问题,但无论如何,这是我的建议:

      //This Instances a new RichTextBox Control and uses it so save the Text
      private void Save_RTF_file(string pFilePath, string pRTFText)
      {
          try
          {
              using (RichTextBox RTB = new RichTextBox())
              {
                  RTB.Rtf = pRTFText;
                  RTB.SaveFile(pFilePath, RichTextBoxStreamType.RichText);
              } 
          }
          catch (Exception ex)
          {
              throw ex;
          }
      }
      

      现在您传递一个 file_path 和 RTF 格式文本:

      //This is a simple 1 line 'Hello World' RTF text
      string RTF = @"{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang14346{\fonttbl{\f0\fnil\fcharset0 Calibri;}} {\*\generator Riched20 10.0.10586}\viewkind4\uc1 \pard\sa200\sl276\slmult1\f0\fs22\lang10 Hello World.\par }";
      
      Save_RTF_file(@"C:\temp\my_rtf_file.rtf"), RTF);
      

      希望对你有帮助。

      【讨论】:

        【解决方案4】:

        可以在这里找到一个用于工作/创建/编辑 RTF 文件的好库:

        http://sourceforge.net/projects/netrtfwriter/

        它是免费的,只需要一些文档,您也可以使用 NuGet 包管理器找到很多替代品。

        【讨论】:

          猜你喜欢
          • 2021-12-22
          • 1970-01-01
          • 2017-06-19
          • 2010-09-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多