使用OpenXml创建分页符

时间:2010-05-08 19:20:29

标签: c# .net openxml openxml-sdk

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

由于

2 个答案:

答案 0 :(得分:41)

您可以使用<w:br>元素在Run元素中创建分页符。在原始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")));

答案 1 :(得分:10)

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>