2017-03-03 94 views
0

这是使用OpenXML的SDK中的示例代码2.5如何使用Novacode.Docx从现有Word文档中获取样式?

 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获取现有文档中使用的样式?请帮助。

+0

场景:我有一个名为** Dev **的文档,它们在其中使用了不同的样式。 我要生成新的word文档,我需要添加** Dev **中存在的样式。这些必须使用Docx dll – hotshot

+0

您的问题不清楚。当你说“这是OpenXML的代码”时,你的意思是docx4j还是novacode?当你说“Docx DLL”时,那是什么? – JasonPlutext

+0

Hi @JasonPlutext我发布的代码是使用OpenXML SDK 2.5编写的。同样我想要使用Novacode [Docx.codeplex](https://docx.codeplex.com/) – hotshot

回答

0

找到一个替代的解决方案,我希望这将有助于

使用Novacode.Docx DLL我们可以很容易地复制原始文档中使用的样式。 可以通过创建原始文档的template来完成。

一次如果完成了。在您的项目中应用该模板。

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

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

相关问题