如何使用openxml合并多个word文档形式MemoryStream

时间:2017-03-03 01:24:42

标签: c# openxml

我使用openxml

创建单词文档形式MemoryStream

以下是我正在使用的代码:

 System.IO.MemoryStream ms1=new MemoryStream();
 using (var mainDoc = WordprocessingDocument.Create(ms1, WordprocessingDocumentType.Document))
 {
    mainDoc.AddMainDocumentPart();
    mainDoc.MainDocumentPart.Document =
                new Document(new Body(new Paragraph(new Run(new Text("Hello World 1!")))));
                mainDoc.MainDocumentPart.Document.Save();
 }

 System.IO.MemoryStream ms2 = new MemoryStream();
 using (var mainDoc = WordprocessingDocument.Create(ms2,WordprocessingDocumentType.Document))
 {
                mainDoc.AddMainDocumentPart();
                mainDoc.MainDocumentPart.Document =
                new Document(new Body(new Paragraph(new Run(new Text("Hello World 2!")))));
                mainDoc.MainDocumentPart.Document.Save();
  }

我可以将一个MemoryStream保存到FileStream,并保存到.docx文件 打开它,但是如何将两个MemoryStream word文档合并为MemoryStream或FileStream中的一个word文档而不是保存它?

1 个答案:

答案 0 :(得分:0)

使用Open XML合并两个文档是一项非常艰巨的任务。我建议你使用

  1. Eric White的OpenXmlPowerTools或
  2. 其中一个.NET库,例如Docentric Toolkit OpenXmlPowerTools是免费的,能够合并两个文档,但您无法控制合并过程。另一方面,Docentric Toolkit不是免费的,但允许您控制合并过程的细节,例如:如何合并样式和部分,页面编号如何重新开始......