Ms word 使用OpenXml和分节符合并文档会导致空段落

Ms word 使用OpenXml和分节符合并文档会导致空段落,ms-word,openxml,Ms Word,Openxml,我将两个文档缝合在一起,并要求每个文档在最终文档中保留其页眉和页脚信息。使用AltChunk而不是原始的OpenXml或DocumentBuilder可以在样式、格式、引用、零件等方面节省大量工作 不幸的是,几天后,由于一个小而令人沮丧的问题,我似乎无法获得100%的工作版本,我需要一些见解 我的代码是基于 在将每个子文档作为AltChunk追加到工作文档之前,我修改了每个子文档,方法是将最后一节属性移动到最后一段中,以保留页眉和页脚引用,但Word似乎在最后一个文档中呈现这些文档时,向每个文档

我将两个文档缝合在一起,并要求每个文档在最终文档中保留其页眉和页脚信息。使用AltChunk而不是原始的OpenXml或DocumentBuilder可以在样式、格式、引用、零件等方面节省大量工作

不幸的是,几天后,由于一个小而令人沮丧的问题,我似乎无法获得100%的工作版本,我需要一些见解

我的代码是基于

在将每个子文档作为AltChunk追加到工作文档之前,我修改了每个子文档,方法是将最后一节属性移动到最后一段中,以保留页眉和页脚引用,但Word似乎在最后一个文档中呈现这些文档时,向每个文档添加了一个空白段落。我的结局是:

具有正确页眉和页脚的文档1 部分属性/中断 空白段 具有正确页眉和页脚的文档2 部分属性/中断 空白段 等等

我不能删除空白段落,因为我不想使用的是先提交文档。


似乎在没有以下段落的情况下,您无法进行下一页的分节?

经过进一步的调查,我的使用场景似乎不会改变。我需要将最后一部分属性放在body元素中,但由于我使用嵌套AltChunk处理的方式,它无法工作

我完全改变了我的方法,并使用OpenXMLPowerTools和一些LINQtoXML返回到一个更详细的追加过程

我使用的是Document Builder,非常适合我


我在导入HTML文件时遇到了类似的空段落问题

我的解决办法是

插入HTML AltChunk后,我添加了一个GUID占位符。处理完文件后,我会再次打开文件,找到GUID并检查前面是否有空段落,如果有,请删除空段落和GUID。在我的解决方案中,它似乎非常有效

希望能有帮助

 var sources = new List<OpenXmlPowerTools.Source>();

 sources.Add(new OpenXmlPowerTools.Source(new WmlDocument(@tempReportPart1)));
 sources.Add(new OpenXmlPowerTools.Source(new WmlDocument(@tempReportPart2)));        

 var outputPath = @"C:\Users\xpto\Documents\TestFolder\myNewDocument.docx";

 DocumentBuilder.BuildDocument(sources, outputPath);