使用C#Interop在Word中格式化格式

时间:2013-06-14 22:39:13

标签: c# word-automation

我有一个html行,如下:

<p>Text<b>bold<i>italic</i>somemore</b>more</p>

我正在尝试编写一个能够正确格式化的函数。我正在使用Html Agility Pack。到目前为止,这是我的功能:

    private void write(ref Word.Range range, HtmlNode node, string style = "")
    {
        if (node.Name == "p")
        {
            write(ref range, node.FirstChild);
        }
        else if (node.Name == "b" || node.Name == "i" || node.Name == "u")
        {
            switch (node.Name)
            {
                case "b":
                    range.Bold = -1;
                    break;
                case "i":
                    range.Italic = -1;
                    break;
                case "u":
                    range.Underline = Word.WdUnderline.wdUnderlineSingle;
                    break;
            }
            if (node.HasChildNodes) write(ref range, node.FirstChild);
        }
        else if (node.Name == @"#text")
        {
            range.Text = node.InnerText;
            if (node.NextSibling != null)
            {                    
                write(ref range, node.NextSibling);
            }
        }
    }

从我看到的,在最后的其他内部,如果我需要处理添加范围,移动范围等,那么当我将范围传递回函数时,它将正常工作。< / p>

非常感谢任何帮助。

0 个答案:

没有答案