C# DocX:插入新的编号列表如何继续编号

4

我正在尝试使用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. 编号1
  2. 编号2
  3. 编号1
  4. 编号2

我期望的是这样的:

  1. 编号1
  2. 编号2
  1. 编号1
  2. 编号2

似乎 startNumber 参数不起作用。在生成的文档 numbering.xml 文件中,我可以看到 numIds 和 abstractNumIds 都似乎被正确生成。这两个列表具有不同的 numIds,每个 numId 都指向不同的 abstractNumId。

有人有任何想法,可能是什么问题(除了 DocX 库中的错误)?我正在 Word 2010 中打开文档,所以我有一个理论是 DocX 和 Word > 2007 存在某种不兼容性。如果是这样,我可能需要在生成文档后对 XML 进行一些处理..


我看到了同样的问题。可能是novacode-docx中的错误。 - Jernej Novak
1个回答

3

原来这是Novacode.Docx中的一个bug。我提交了一个补丁,它被应用于1.0.0.16版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接