Novacode DocX を使用して、複数の番号付きリストを Word 文書に挿入しようとしています。
このようなもの:
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 の両方が正しく生成されているように見えます。2 つのリストには異なる numId があり、それぞれが異なる abstractNumId を参照しています。
何が問題なのか (DocX ライブラリのバグ以外) について何か考えがありましたか? Word 2010 でドキュメントを開いているので、DocX および Word > 2007 との非互換性があるという 1 つの理論があります。その場合、ドキュメントを生成した後に XML で何かを行う必要があると思われます。