0

I need to open a template, add some text, and then save it with a new name. How can I save it with a new name?

        String Dir = @"F:\template.docx";
     WordprocessingDocument wordprocessingDocument = WordprocessingDocument.Open(Dir, true);

        Body body = wordprocessingDocument.MainDocumentPart.Document.Body;

        Paragraph paragraph1 = body.AppendChild(new Paragraph());

        Run run1 = new Run();
        RunProperties runProperties1 = new RunProperties();
        Bold bold2 = new Bold();
        FontSize fontSize2 = new FontSize() { Val = "28" };
        runProperties1.Append(bold2);
        runProperties1.Append(fontSize2);

        Text text1 = new Text();
        text1.Text = "text";
        run1.Append(runProperties1);
        run1.Append(text1);
        paragraph1.Append(Hearder1);
        paragraph1.Append(run1);

        wordprocessingDocument.Close();
YowE3K
  • 23,852
  • 7
  • 26
  • 40
Alienvlg
  • 1
  • 1
  • I believe its been ansvered [here](https://stackoverflow.com/questions/8818160/save-modified-wordprocessingdocument-to-new-file). – Henrik Clausen Jun 06 '17 at 19:45
  • 3
    Possible duplicate of [Save modified WordprocessingDocument to new file](https://stackoverflow.com/questions/8818160/save-modified-wordprocessingdocument-to-new-file) –  Jun 06 '17 at 19:46

1 Answers1

2
byte[] byteArray = File.ReadAllBytes("D:\Document.docx");    
using (var stream = new MemoryStream())
    {
        stream.Write(byteArray, 0, (int)byteArray.Length);
        using (var document = WordprocessingDocument.Open(stream, true))
        {
           //Here fill document
        }
        // And save file
        File.WriteAllBytes("D:\NewDocument.docx", stream.ToArray()); 
    }
Szymson
  • 990
  • 1
  • 13
  • 28