0
votes

i am a new member an i really like this site because it help me always

my problem is

i want replace word document using openxml and add a page break

end then i want to write replaced text second page

here my codes

using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(@"d:\a.docx", true)) {

            using (StreamReader reader = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
            {
                text = reader.ReadToEnd();
            }
            Regex regexText = new Regex("#db#");
            text = regexText.Replace(text, textBox4.Text.Trim());

            using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
            {

                sw.Write(text);


            }

            MainDocumentPart mainPart = wordDoc.MainDocumentPart;
            Run r = new Run();
            Paragraph para = new Paragraph(new Run(new Break() { Type = BreakValues.Page }));

            using (StreamWriter sw1 = new StreamWriter(mainPart.GetStream(FileMode.Create)))
            {
                sw1.Write(text);

            }

            mainPart.Document.Body.InsertAfter(para, mainPart.Document.Body.LastChild);
            mainPart.Document.Save();
        }
    }
1

1 Answers

0
votes

I suggest you insert a page break in your a.docx in advance. Then, use MergeField to locate where you want to replace with.

Here is the example