rtf文件类似于xml文件,是一种文本化、格式化的结构性文件,微软定义了很多标记,构成很多版本,也可以自定义标记(那就只能自己解析了,因此意义不大,别的rtf阅读器打不开的),主要的标记就是{\rtf1.....},由一对花括号括起来,紧接着是rtf+版本号,版本号多少都可以。里面的内容是递归式的,会有许多标记,不去细究,知道这些就够了。
private string HeBingRTF(string rtfFile1, string rtfFile2)
System.IO.FileStream fs1 = new System.IO.FileStream(rtfFile1,System.IO.FileMode.Opene.Open);
System.IO.FileStream fs2 = new System.IO.FileStream(rtfFile2,System.IO.FileMode.Opene.Open);
RichTextBox richTextBox1 = new RichTextBox();
RichTextBox richTextBox2 = new RichTextBox();
richTextBox1.LoadFile(fs1, RichTextBoxStreamType.RichText);
richTextBox2.LoadFile(fs2, RichTextBoxStreamType.RichText);
fs1.Close();
fs2.Close();
string f1 = richTextBox1.Rtf;
string f2=richTextBox2.Rtf;
string pre = @"{\rtf1";
string end = @"}";
return pre + f1 + f2 + end;
//调用方式 richTextBox3.Rtf=HeBingRTF(rtfFile1,rtfFile2);
但是以上的代码会有问题,颜色表不能自动适应,还是用剪切板解决吧
System.Windows.Forms.DataObject data = new System.Windows.Forms.DataObject();
data.SetData(System.Windows.Forms.DataFormats.Rtf, rtf);
System.Windows.Forms.Clipboard.SetDataObject(data, true);
richtextbox1.Paste();
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil Calibri;}{\f1\fnil\fcharset134 \'cb\'ce\'cc\'e5;}}
{\colortbl ;\red255\green0\blue0;}
{\*\generator Msftedit 5.41.21.2510;}\viewkin...
if __name__ == "__main__":
file_path = os.path.join(".", "data/48000ofs_2ch_32bit.raw")
sample_rate = 48000
channel_num = 2
print(file_path)
RTF 是富文本文件和 TXT 纯文本文件之间的混合。RTF 文件提供一些格式化功能,如粗体,斜体,下划线,项目符号,不同字体和文本对齐。但是,它不提供全字处理器中的所有功能。
RTF 编辑器的一个示例是 Microsoft Windows WordPad,也就是在 Windows 系统中预装的写字板。但是,任何文本或文字处理程序都能够创建具有上述任何格式化功能的文档,能够创建 RTF 文档。
RTF 或 Rich Text Format 文件由 Microsoft 于 1987 年开发,用于其产品