Search code examples
c#.netopenxmlopenxml-sdk

Create page break using OpenXml


I use OpenXml to create Word document with simple text and some tables under this text. How can I force Paragraph with this text to show always on new page? Maybe this paragraph should be some Header but I'm not sure how to do this.

Thanks


Solution

  • You can create a page break within a Run element using the <w:br> element. In raw OpenXML, it would look something like:

    <w:p>
      <w:r>
        <w:br w:type="page" />
      </w:r>
    </w:p>
    

    If you're using the OpenXml SDK, you can use

    new Paragraph(
      new Run(
        new Break(){ Type = BreakValues.Page }));
    

    EDIT:

    If you just want to specify that a paragraph is the last thing on a page, you can try the <w:lastRenderedPageBreak /> tag.

    new Paragraph(
       new Run(
          new LastRenderedPageBreak(),
          new Text("Last text on the page")));