C# DocX: вставка нового нумерованного списка продолжает нумерацию

Я пытаюсь вставить несколько пронумерованных списков в документ Word, используя Novacode DocX.

Что-то вроде этого:

var doc = DocX.Create("somedoc.docx");
var list = doc.AddList(listType: ListItemType.Numbered, startNumber: 1);

doc.AddListItem(list, "Number 1", 0, listType);
doc.AddListItem(list, "Number 2", 0, listType);

doc.InsertList(list);
doc.InsertParagraph(); //just to get some space between.
var secondList= doc.AddList(listType: ListItemType.Numbered, startNumber: 1);

doc.AddListItem(secondList, "Number 1", 0, listType); 
doc.AddListItem(secondList, "Number 2", 0, listType); 

doc.InsertList(secondList);

Это производит это:

  1. Номер 1
  2. Номер 2
  3. Номер 1
  4. Номер 2

Я ожидаю, что это:

  1. Номер 1
  2. Номер 2
  1. Номер 1
  2. Номер 2

Кажется, что параметр startNumber не работает. В итоговом файле numbering.xml я вижу, что как numIds, так и abstractNumIds, похоже, генерируются правильно. Два списка имеют разные numIds, каждый из которых ссылается на разные abstractNumIds.

Кто-нибудь получил представление о том, в чем может быть проблема (кроме ошибки в библиотеке DocX)? Я открываю документ в Word 2010, поэтому у меня есть теория, что есть некоторая несовместимость с DocX и Word > 2007. Если это так, мне, вероятно, придется что-то делать с XML после генерации документа.

1 ответ

Решение

Оказалось, ошибка в Novacode.Docx. Я представил патч для него, который был применен в версии 1.0.0.16

Другие вопросы по тегам