我遇到了如何使用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文件,以便我可以使用它复制到另一个文档中。
答案 0 :(得分:1)
主文档部分(通常在word / document.xml中)包含docx正文的文本。页眉/页脚/评论/脚注/尾注在其他地方。
问题是主文档部分通常会引用其他部分,您需要管理这些引用。
这些引用中的一些(例如图像,页眉,页脚)是通过"关系"在rels部分;其他是样式,评论ID等。
如果您的文档可预测且简单,您可以自己处理这些案例。否则,您最好使用http://openxmldeveloper.org/wiki/w/wiki/documentbuilder.aspx(C#)或我们的商业MergeDocx组件(Java)。