繁体   English   中英

如何使用Microsoft.Office.Interop.Word区分Microsoft Word文件中的标题?

[英]How to differentiate headings in a Microsoft Word file using Microsoft.Office.Interop.Word ?

我想在Word文档中找到所有标题,该标题的字体大小大于其下方的文本,所有标题均具有相同的字体大小,否则所有标题均为粗体,而其下方的文本不是粗体,我想保存列表中的所有这些标题。 我该如何实现? 我在Office.Interop.Word中学习,任何帮助都会对我有很大帮助。

遍历每个段落,如果该段落满足您的要求(应澄清),则将其添加到列表中(还应阐明是诸如List <>这样的列表结构还是诸如ListParagraph这样的单词文档中的列表)。 如果此代码没有帮助,请这样说并澄清您的问题:

foreach (MSWord.Paragraph paragraph in doc.Paragraphs)
{
    if (paragraph.Next() != null)
    {
        if (IsHeading(paragraph))
        {
            myList.Add(paragraph.Range.Text.ToString());
        }
    }
}

private static bool IsHeading(MSWord.Paragraph paragraph)
{
    float para1FontSize = 0;
    float para2FontSize = 0;
    bool para1IsBold = false;
    bool para2IsBold = false;

    para1FontSize = paragraph.Range.Font.Size;
    para2FontSize = paragraph.Next().Range.Font.Size;
    para1IsBold = paragraph.Range.Font.Bold.Equals(1);
    para2IsBold = paragraph.Next().Range.Font.Bold.Equals(0);

    return ((para1FontSize > para2FontSize) || (para1IsBold && !para2IsBold));
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM