views:

308

answers:

1

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

+1  A: 

You can create a page break within a Run element using the 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 tag.

new Paragraph(
   new Run(
      new LastRenderedPageBreak(),
      new Text("Last text on the page")));
Adam Sheehan
I try this solution but I have problem if some data before my page break fill previous page. Word will add page break, then my code creates another page break and I have one empty page. :/ I'm not sure how to change this :/
arek