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
- Номер 2
- Номер 1
- Номер 2
Я ожидаю, что это:
- Номер 1
- Номер 2
- Номер 1
- Номер 2
Кажется, что параметр startNumber не работает. В итоговом файле numbering.xml я вижу, что как numIds, так и abstractNumIds, похоже, генерируются правильно. Два списка имеют разные numIds, каждый из которых ссылается на разные abstractNumIds.
Кто-нибудь получил представление о том, в чем может быть проблема (кроме ошибки в библиотеке DocX)? Я открываю документ в Word 2010, поэтому у меня есть теория, что есть некоторая несовместимость с DocX и Word > 2007. Если это так, мне, вероятно, придется что-то делать с XML после генерации документа.
1 ответ
Оказалось, ошибка в Novacode.Docx. Я представил патч для него, который был применен в версии 1.0.0.16