Создание разрыва страницы с помощью OpenXml
Я использую OpenXml для создания документа Word с простым текстом и некоторыми таблицами в этом тексте. Как я могу заставить Paragraph с этим текстом всегда отображаться на новой странице? Возможно, этот абзац должен быть заголовком, но я не уверен, как это сделать.
Спасибо
Ответы
Ответ 1
Вы можете создать разрыв страницы в элементе Run с помощью элемента <w:br>
. В raw 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 }));
EDIT:
Если вы просто хотите указать, что абзац является последним на странице, вы можете попробовать тег <w:lastRenderedPageBreak />
.
new Paragraph(
new Run(
new LastRenderedPageBreak(),
new Text("Last text on the page")));
Ответ 2
Свойство 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>