Мне нужно применить стили по умолчанию к документу docx, я получаю стили из файла odt [code]private void InsertDefaultStyles(DefaultStyle defaultStyle, WordprocessingDocument docxDocument) { var styleDefinitionsPart = docxDocument.MainDocumentPart.StyleDefinitionsPart; Styles styles = styleDefinitionsPart.Styles; if (defaultStyle.Attributes["style:family"] == "paragraph") { RunPropertiesBaseStyle rPrBaseStyle = new RunPropertiesBaseStyle(); RunProperties rPr = new RunProperties();
foreach(var child in defaultStyle.Children) { if(child is StyleTextProperties) rPr.Append(GetFonts(child)); } rPrBaseStyle.Append(rPr); styles.Append(rPrBaseStyle); } } private RunFonts GetFonts(OpenDocumentObject runPropertiesAttr) { RunFonts runFonts = new RunFonts(); foreach(KeyValuePair font in runPropertiesAttr.Attributes) { switch (font.Key) { case "style:font-name": runFonts.Ascii = font.Value; runFonts.HighAnsi = font.Value;
runFonts.AsciiTheme = null; runFonts.HighAnsiTheme = null; break; case "style:font-name-asian": runFonts.EastAsia = font.Value; runFonts.EastAsiaTheme = null; break; case "style:font-name-complex": runFonts.ComplexScript = font.Value; runFonts.ComplexScriptTheme = null; break; } } return runFonts; } [/code] Стили получены корректно и назначены, но в выходном xml-документе в стилях получается следующая строка [code][/code] Скорее всего проблема в назначении созданных стилей, но не могу понять где именно и что я делаю не так