C# 合并文档

C# 合并文档,c#,openxml,openxml-sdk,C#,Openxml,Openxml Sdk,我正在尝试使用OpenXMLSDK2.0将两个docx文档合并为一个docx文档。合并文档时不应丢失样式和自定义页眉和页脚。我希望我可以通过使用AltChunk和分段休息来实现这一点。但我不能让它工作 我想做的可能吗?有人能告诉我如何实现这一点吗?使用“开放式XML生产力工具”,我分析了docx文档的结构,并得出结论,将文档与它们的样式、页眉、页脚合并。。。使用Altchunk,无法开箱即用。您可以从中单独下载该工具 我现在正在做的工作是,手动将所有内容复制到文档中,确保所有样式引用、页眉引用、

我正在尝试使用OpenXMLSDK2.0将两个docx文档合并为一个docx文档。合并文档时不应丢失样式和自定义页眉和页脚。我希望我可以通过使用
AltChunk
和分段休息来实现这一点。但我不能让它工作


我想做的可能吗?有人能告诉我如何实现这一点吗?

使用“开放式XML生产力工具”,我分析了docx文档的结构,并得出结论,将文档与它们的样式、页眉、页脚合并。。。使用
Altchunk
,无法开箱即用。您可以从中单独下载该工具

我现在正在做的工作是,手动将所有内容复制到文档中,确保所有样式引用、页眉引用、页脚引用。。。它们被保存了下来。这意味着在将它们复制到文档中并将所有引用从旧id更改为新id之前,我会给它们一个新的唯一id。有很多代码可以做到这一点,但上面提到的工具确实有所帮助


添加分节符也相当困难。您应该知道,-标记描述了节的所有属性,并且在
Body
-标记下可以有一个
SectionProperties
-标记,描述最后一节的属性。因此,添加新的sectionbreak意味着将最后一个
SectionProperties
-标记复制到节的最后一段,并在
正文下添加一个新的
SectionProperties
-标记。我还从生产力工具中获得了很多信息。

上述答案根本不正确!这正是AltChunk的设计初衷,它的工作原理非常棒

注意:在Word首次打开文件之前,文档不会合并到一个文档中(显然必须保存文件,否则磁盘上的文件将不会更新)

有关如何正确操作的更多信息,请参阅本博客:


p、 至于使用生产力工具检查OpenXML,我的意见是只需安装官方的VisualStudioOpenXML插件,并从VisualStudio打开Office文档进行检查,这非常方便!:-)

你能帮我写一些代码吗:-)一些简单易懂的例子:>杰尔的经验和我的相似。这不是一项容易的任务,而且它需要比您想象的多得多的代码。保持样式笔直尤其困难,因为您必须防止Id和name的冲突。也适用于mee,尽管与Word LibreOffice相反,LibreOffice似乎忽略了AltChunk。