как получить стили из существующего документа Word с помощью 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? Пожалуйста, помогите.


person Pavithran R    schedule 03.03.2017    source источник
comment
Сценарий: у меня есть слово Document под названием Dev, в нем использовались разные стили. Я собираюсь создать новый текстовый документ, куда мне нужно добавить стили, присутствующие в Dev. Это должно быть сделано с помощью Docx dll   -  person Pavithran R    schedule 03.03.2017
comment
Ваш вопрос не ясен. Когда вы говорите, что это код для OpenXML, вы имеете в виду docx4j или novacode? Когда вы говорите Docx DLL, что это такое?   -  person JasonPlutext    schedule 06.03.2017
comment
Привет @JasonPlutext Код, который я опубликовал, написан с использованием OpenXML SDK 2.5. аналогично я хочу добиться этого с помощью Novacode Docx.codeplex   -  person Pavithran R    schedule 06.03.2017
comment
У меня также есть еще один вопрос, возможно ли иметь элементы управления контентом с использованием novacode Docx @JasonPlutext Заранее спасибо.   -  person Pavithran R    schedule 06.03.2017
comment
Я ничего не знаю о новакоде, извините. Это возможно с docx4j.NET, но поскольку этот вопрос не имеет ничего общего с docx4j, я удаляю тег.   -  person JasonPlutext    schedule 06.03.2017
comment
Хорошо, спасибо :) @JasonPlutext   -  person Pavithran R    schedule 06.03.2017


Ответы (1)


Нашел альтернативное решение, надеюсь поможет

Используя Novacode.Docx DLL, мы можем легко клонировать стили, используемые в исходном документе. Это можно сделать, создав шаблон исходного документа.

один раз, если это будет сделано. применить шаблон в своем проекте.

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

Теперь мы можем использовать все стили, присутствующие в исходном документе.

person Pavithran R    schedule 07.03.2017