34

我使用 OpenXml 创建带有简单文本的 Word 文档和该文本下的一些表格。如何强制带有此文本的段落始终显示在新页面上?也许这一段应该是一些标题,但我不知道该怎么做。

谢谢

4

2 回答 2

49

您可以使用元素在 Run 元素中创建分页符<w:br>。在原始 OpenXML 中,它看起来像:

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

如果您使用的是 OpenXml SDK,则可以使用

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

编辑:

如果你只是想指定一个段落是页面上的最后一件事,你可以试试这个<w:lastRenderedPageBreak />标签。

new Paragraph(
   new Run(
      new LastRenderedPageBreak(),
      new Text("Last text on the page")));
于 2010-05-12T20:33:25.450 回答
14

PageBreakBefore 属性实现了这一点。如果 Word 没有自动插入分页符,它将在您的段落之前插入分页符。

if (myParagraph.ParagraphProperties== null) 
{ 
    myParagraph.ParagraphProperties = new ParagraphProperties();
}

myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();

我相信它在 Open XML 中看起来像这样:

  <w:p>
    <w:pPr>
      ...
      <w:pageBreakBefore/>   
      ...
    </w:pPr>
    ...    
  </w:p>
于 2011-09-29T23:25:14.037 回答