C# 將 RTF 轉換為純文字

來源:互聯網
上載者:User

在 .NET Framework 中,可以使用 控制項建立支援 RTF 且支援使用者以 WYSIWIG 方式將格式應用於文本的文書處理器。

也可以使用 以編程方式將 RTF 格式代碼從文檔中移除,從而將該文檔轉換為純文字。執行這種類型的操作無需在 Windows 表單中嵌入該控制項。

在項目中使用 RichTextBox 控制項
  1. 添加對 System.Windows.Forms.dll 的引用。

  2. 為 System.Windows.Forms 命名空間添加 using 指令(可選)。
樣本

下面的樣本提供一個要轉換的樣本 RTF 檔案。該檔案包含 RTF 格式,例如字型資訊,還包含四個 Unicode 字元和四個擴充的 ASCII 字元。該檔案開啟,以 RTF 格式傳遞到 ,作為文本檢索,在 中顯示並且輸出到一個 UTF-8 格式的檔案中。  

    // Save the following RTF file to the same folder as your .exe file, and call it "test.rtf".
/*
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fswiss\fcharset0 Arial;}{\f1\fnil\fprq1\fcharset0 Courier New;}{\f2\fswiss\fprq2\fcharset0 Arial;}}
{\colortbl ;\red0\green128\blue0;\red0\green0\blue0;}
{\*\generator Msftedit 5.41.21.2508;}\viewkind4\uc1\pard\f0\fs20 This is the \i Greek \i0 word "psyche": \cf1\f1\u968?\u965?\u967?\u942?\cf2\f2 . It is encoded in Unicode.\par
Here are four extended \b ASCII \b0 characters (Windows code page 1252): \'e2\'e4\u1233?\'e5\cf0\par
}
*/
class ConvertFromRTF
{
static void Main()
{

string path = @"test2.rtf";

//Create the RichTextBox. (Requires a reference to System.Windows.Forms.dll.)
System.Windows.Forms.RichTextBox rtBox = new System.Windows.Forms.RichTextBox();

// Get the contents of the RTF file. Note that when it is
// stored in the string, it is encoded as UTF-16.
string s = System.IO.File.ReadAllText(path);

// Display the RTF text.
System.Windows.Forms.MessageBox.Show(s);

// Convert the RTF to plain text.
rtBox.Rtf = s;
string plainText = rtBox.Text;

// Display plain text output in MessageBox because console
// cannot display Greek letters.
System.Windows.Forms.MessageBox.Show(plainText);

// Output plain text to file, encoded as UTF-8.
System.IO.File.WriteAllText(@"output.txt", plainText);
}
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.