Domanda

Io uso OpenXml per creare documento di Word con il testo semplice e alcuni tavoli sotto questo testo. Come posso forzare paragrafo con questo testo per mostrare sempre sulla nuova pagina? Forse questo paragrafo dovrebbe essere qualche Header, ma non sono sicuro come fare questo.

Grazie

È stato utile?

Soluzione

È possibile creare un'interruzione di pagina all'interno di un elemento Run utilizzando l'elemento <w:br>. In OpenXML cruda, sarebbe simile a:

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

Se si utilizza l'OpenXml SDK, è possibile utilizzare

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

EDIT:

Se si desidera solo per specificare che un paragrafo è l'ultima cosa su una pagina, si può provare il tag <w:lastRenderedPageBreak />.

new Paragraph(
   new Run(
      new LastRenderedPageBreak(),
      new Text("Last text on the page")));

Altri suggerimenti

La proprietà PageBreakBefore realizza questo. Sarà inserire un'interruzione di pagina prima del paragrafo se Word non ha inserto uno automaticamente.

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

myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();

Credo che sembra qualcosa di simile a Open XML:

  <w:p>
    <w:pPr>
      ...
      <w:pageBreakBefore/>   
      ...
    </w:pPr>
    ...    
  </w:p>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top