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 に答える