Créer un saut de page en utilisant OpenXml
J'utilise OpenXml pour créer un document Word avec du texte simple et quelques tables sous ce texte. Comment puis-je forcer le paragraphe avec ce texte à s'afficher toujours sur une nouvelle page? Peut-être que ce paragraphe devrait être un en-tête, mais je ne sais pas comment faire cela.
Merci
2 réponses
Vous pouvez créer un saut de page dans un élément Run à l'aide de l'élément <w:br>
. Dans OpenXML brut, cela ressemblerait à quelque chose comme:
<w:p>
<w:r>
<w:br w:type="page" />
</w:r>
</w:p>
Si vous utilisez le SDK OpenXml, vous pouvez utiliser
new Paragraph(
new Run(
new Break(){ Type = BreakValues.Page }));
Modifier:
Si vous voulez simplement spécifier qu'un paragraphe est la dernière chose sur une page, vous pouvez essayer la balise <w:lastRenderedPageBreak />
.
new Paragraph(
new Run(
new LastRenderedPageBreak(),
new Text("Last text on the page")));
La propriété PageBreakBefore accomplit cela. Il insérera un saut de page avant votre paragraphe si Word n'en insère pas automatiquement.
if (myParagraph.ParagraphProperties== null)
{
myParagraph.ParagraphProperties = new ParagraphProperties();
}
myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();
Je crois que cela ressemble à ceci en Open XML:
<w:p>
<w:pPr>
...
<w:pageBreakBefore/>
...
</w:pPr>
...
</w:p>