2

我有一个文档,我正在通过获取段落进行迭代。对于这些段落中的每一个,我都需要创建一个新文档并保存它。我不知道如何将源文档中的段落添加到新文档中。

        foreach (var p in paragraphsFromSourceDocument)
        {
            using (var memoryStream = new MemoryStream())
            {
                var doc = WordprocessingDocument.Create(memoryStream, WordprocessingDocumentType.Document);
                doc.AddMainDocumentPart();

                // Create the Document DOM. 
                doc.MainDocumentPart.Document = new Document();
                doc.MainDocumentPart.Document.Body = new Body();

                //Add the paragraph 'p' to the Body here:
                // HOW ?????????

                doc.MainDocumentPart.Document.Save();
            }
        }
4

1 回答 1

5
 // Open the file read-only since we don't need to change it.
        using (var wordprocessingDocument =  WordprocessingDocument.Open(documentFileName, true))
        {
            paragraphs = wordprocessingDocument.MainDocumentPart.Document.Body
                .OfType<Paragraph>().ToList();
            styles = wordprocessingDocument.MainDocumentPart.StyleDefinitionsPart;

            foreach (var p in paragraphs)
            {
                using (var memoryStream = new MemoryStream())
                {
                    var doc = WordprocessingDocument.Create(memoryStream, WordprocessingDocumentType.Document);
                    doc.AddMainDocumentPart().AddPart(styles);
                    doc.MainDocumentPart.Document = new Document();
                    doc.MainDocumentPart.Document.Body = new Body();
                    doc.MainDocumentPart.Document.Body.Append(p.CloneNode(true));
                    doc.MainDocumentPart.Document.Save();
                    Console.WriteLine(GetHTMLOfDoc(doc));

                }
            }
        }
于 2012-08-14T01:12:05.297 回答