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
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
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")));
The PageBreakBefore property accomplishes this. It will insert a page break before your paragraph if Word didn't insert one automatically.
if (myParagraph.ParagraphProperties== null)
{
myParagraph.ParagraphProperties = new ParagraphProperties();
}
myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();
I believe it looks something like this in Open XML:
<w:p>
<w:pPr>
...
<w:pageBreakBefore/>
...
</w:pPr>
...
</w:p>