我正在尝试将多个RTF字符串合并为一个。我想保留每个输入字符串的格式
这是我的代码:
string input1 = "{\\rtf1\\ansi\\ansicpg1250\\deff0\\deflang1029{\\fonttbl{\\f0\\fnil\\fcharset238 Tahoma;}}\r\n{\\*\\generator Riched20 12.0.6556.5000;}\\viewkind4\\uc1\r\n\\pard\\f0\\fs16 St\\'f8edisko 222, ppokji\\'9a\\'9dovna Wustenrot PU 15.20022.0037626\\par\r\nPlatba na fakturu, p\\'f8epolsat na poji\\'9a\\'9dovnu a pln\\'ecn\\'ed na \\'fa\\'e8et klienta.\\par\r\n\\'c8\\'edsklo \\'fa\\'e8tu bude dod\\'e1no\\par\r\n}\r\n\0";
string input2 = "{\\rtf1\\ansi\\ansicpg1250\\uc1\\deff0\\deflang0\\deflangfe0{\\fonttbl{\\f0\\fnil Times New Roman;}{\\f1\\fnil Arial;}{\\f2\\fnil Verdana;}{\\f3\\fnil Webdings;}}{\\colortbl;\\red0\\green0\\blue0;\\red0\\green0\\blue255;\\red0\\green255\\blue255;\\red0\\green255\\blue0;\\red0\\green200\\blue150;\\red255\\green0\\blue255;\\red255\\green0\\blue0;\\red255\\green255\\blue0;\\red255\\green255\\blue255;\\red0\\green0\\blue128;\\red0\\green128\\blue128;\\red0\\green128\\blue0;\\red128\\green0\\blue128;\\red128\\green0\\blue0;\\red128\\green128\\blue0;\\red128\\green128\\blue128;\\red192\\green192\\blue192;\\red255\\green128\\blue64;}\r\n\\pard\\sb0\\sa50\\plain\\f1\\cf1\\b0\\i0\\fs18 Při demontáži lišty LZ dveří zjištěna vada lakování.\\par}";
var richTxtBox = new RichTextBox();
var richTxtBox2 = new RichTextBox();
RichTextBox ricTxtArray = new RichTextBox(); ;
//richTxtBox.Sel
foreach (string text in result)
{
if (text.StartsWith("{")) {
if (!string.IsNullOrWhiteSpace(richTxtBox.Text)) {
richTxtBox.AppendText(Environment.NewLine);
}
richTxtBox2.Rtf = text;
richTxtBox.AppendText(richTxtBox2.Text);
}
else {
if (!string.IsNullOrWhiteSpace(richTxtBox.Text)) {
richTxtBox.AppendText(Environment.NewLine);
}
richTxtBox.AppendText(text);
}
}
return richTxtBox.Rtf;
当前,我在输出中得到这样的东西:
"{\\rtf1\\ansi\\ansicpg1250\\deff0\\nouicompat\\deflang1029{\\fonttbl{\\f0\\fnil\\fcharset238 Microsoft Sans Serif;}{\\f1\\fnil\\fcharset0 Microsoft Sans Serif;}}\r\n{\\*\\generator Riched20 10.0.17763}\\viewkind4\\uc1 \r\n\\pard\\f0\\fs17 St\\'f8edisko 222, ppokji\\'9a\\'9dovna Wustenrot PU 15.20022.0037626\\par\r\nPlatba na fakturu, p\\'f8epolsat na poji\\'9a\\'9dovnu a pln\\'ecn\\f1\\lang1033\\'ed na \\'fa\\f0\\'e8et klienta.\\par\r\n\\'c8\\f1\\'edsklo \\'fa\\f0\\'e8tu bude dod\\f1\\'e1no\\par\r\n\\f0\\lang1029 P\\'f8i demont\\f1\\lang1033\\'e1\\f0\\'9ei li\\'9aty LZ dve\\'f8\\f1\\'ed zji\\f0\\'9at\\'ecna vada lakov\\f1\\'e1n\\'ed.\\f0\\lang1029\\par\r\n}\r\n"
您可以看到我在input1中将字体设置为Tahoma,但是在输出中完全没有它。
我的想法是创建单独的段落,每个段落都有自己的格式,但是该怎么做?
您不能使用AppendText方法添加具有Rtf格式的字符串。由于AppendRtf方法不存在,因此我们必须通过设置SelectionStart
,SelectionStart
和SelectionLength
来模仿它。