我使用OpenXml创建包含简单文本和一些表格的Word文档。如何强制使带有此文本的段落始终显示在新页面上?也许这个段落应该是某个标题,但我不确定如何做到这一点。
谢谢。
谢谢。
您可以使用<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")));
使用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>
w:br/@w:type="page"
的部分是正确的,但关于w:lastRenderedPageBreak
的部分是错误的。只有已确定渲染页面断点位置的处理器才应该插入w:lastRenderedPageBreak
;它并不指定页面断点应该出现在哪里。 - kjhughes