richEditControl 读取Word文档默认宋体全部变成了方正姚体
本帖最后由 dycjh 于 2015-9-1 16:18 编辑richEditControl 读取Word文档后,将文档中默认的宋体5号字全部改成了方正姚体,如何解决。
网上找半天,只有一种方法:
private void richEditControl1_DocumentLoaded(object sender, EventArgs e)
{
DocumentRange range = richEditControl1.Document.Range;
CharacterProperties cp = this.richEditControl1.Document.BeginUpdateCharacters(range);
cp.FontName = "宋体";
//cp.FontSize = 12;
this.richEditControl1.Document.EndUpdateCharacters(cp);
}
但这个方法将所有字体全部改成了宋体。不符合要求。
如何将方正姚体仍改回宋体,别的字体不变呢?
也比较感兴趣 ljl2004 发表于 2015-9-1 20:14
也比较感兴趣
尽管这个方法不太成熟,但将就着用吧。要解决只有找源代码自己改了。
private void richEditControl1_DocumentLoaded(object sender, EventArgs e)
{
ParagraphCollection p = richEditControl1.Document.Paragraphs;
int Ps = p.Count - 1;
try {
for (int i = Ps; i >= 0; i--)
{
CharacterProperties cp = this.richEditControl1.Document.BeginUpdateCharacters(p.Range);
if (cp.FontName == null)
{
cp.FontName = "宋体";
this.richEditControl1.Document.EndUpdateCharacters(cp);
p = richEditControl1.Document.Paragraphs;
}
this.richEditControl1.Document.EndUpdateCharacters(cp);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
页:
[1]