将多个docx文件合并到一个docx文件中

时间:2014-09-12 00:36:51

标签: openxml

我遇到了如何使用c#:

合并docx文件的解决方案

Append multiple DOCX files together

在此解决方案中,他遍历文件并将正文“outerxml”复制到新文档中:

XElement tempBody = XElement.Parse(tempDocument.MainDocumentPart.Document.Body.OuterXml);
newBody.Add(tempBody);

这看起来特别针对c#api。但我正在使用Ruby。到目前为止,我已经能够编辑docx文件并通过编辑“word / document.xml”对其进行更改。但是,现在我需要合并多个docx文件,我想知道openxml中是否有一个包含整个文档的特定xml文件,以便我可以使用它复制到另一个文档中。

1 个答案:

答案 0 :(得分:1)

主文档部分(通常在word / document.xml中)包含docx正文的文本。页眉/页脚/评论/脚注/尾注在其他地方。

问题是主文档部分通常会引用其他部分,您需要管理这些引用。

这些引用中的一些(例如图像,页眉,页脚)是通过"关系"在rels部分;其他是样式,评论ID等。

如果您的文档可预测且简单,您可以自己处理这些案例。否则,您最好使用http://openxmldeveloper.org/wiki/w/wiki/documentbuilder.aspx(C#)或我们的商业MergeDocx组件(Java)。