Pregunta

Yo uso OpenXml para crear documento de Word con el texto simple y algunas mesas bajo este texto. ¿Cómo puedo forzar el párrafo con este texto para mostrar siempre en la nueva página? Tal vez este párrafo debe haber alguna cabecera, pero no estoy seguro de cómo hacer esto.

Gracias

¿Fue útil?

Solución

Se puede crear un salto de página dentro de un elemento de ejecución mediante el elemento <w:br>. En OpenXML en bruto, que se vería algo como:

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

Si está utilizando el SDK OpenXml, puede utilizar

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

EDIT:

Si lo que desea es especificar que un párrafo es la última cosa en una página, puede intentar la etiqueta <w:lastRenderedPageBreak />.

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

Otros consejos

La propiedad PageBreakBefore logra esto. Se insertará un salto de página antes de que su Palabra párrafo si no insertó uno automáticamente.

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

myParagraph.ParagraphProperties.PageBreakBefore = new PageBreakBefore();

Creo que se ve algo como esto en Open XML:

  <w:p>
    <w:pPr>
      ...
      <w:pageBreakBefore/>   
      ...
    </w:pPr>
    ...    
  </w:p>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top