Create page break using OpenXml

arek picture arek · May 8, 2010 · Viewed 27.8k times · Source

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

Answer

Adam Sheehan picture Adam Sheehan · May 12, 2010

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")));