如何使用Novacode.Docx从现有的word文档中获取样式?

时间:2017-03-03 10:13:24

标签: c# ms-word openxml-sdk novacode-docx

这是使用OpenXML SDK 2.5的示例代码

     void AddStylesPart()
    {
        StyleDefinitionsPart styleDefinitionsPart = mainPart.StyleDefinitionsPart;
        styleDefinitionsPart = mainPart.AddNewPart<StyleDefinitionsPart>();
        Styles styles1 = new Styles();
        styles1.Save(styleDefinitionsPart);


        if (styleDefinitionsPart != null)
        {
            using (WordprocessingDocument wordTemplate = WordprocessingDocument.Open(@"..\AT\Docs\FPMaster-4DEV.docx", false))
            {
                foreach (var templateStyle in wordTemplate.MainDocumentPart.StyleDefinitionsPart.Styles)
                {
                    styleDefinitionsPart.Styles.Append(templateStyle.CloneNode(true));
                }
            }

        }
    }

这里使用 WordprocessingDocument 最终克隆现有文档中存在的所有样式来获取现有文档, 同样我想用Novacode.Docx DLL做到这一点。 如何使用Novacode.Docx DLL获取现有文档中使用的样式?请帮忙。

1 个答案:

答案 0 :(得分:0)

找到另一种解决方案,我希望这会有所帮助

使用Novacode.Docx DLL,我们可以轻松克隆原始文档中使用的样式。 可以通过创建原始文档的template来完成。

一旦完成。在项目中应用模板。

document.ApplyTemplate(@"..\TemplateFileName.dotx", false);

现在我们可以使用原始文档中的所有样式。