2012-09-19 26 views
5

Tengo un extraño problema al generar un .docx con Open XML. Tengo un TableCell que tiene un Paragraph continuación Run continuación Text generado de esta manera:Open XML Paragraph Spacing

tblRow.Append(new TableCell(new Paragraph(GetPropertiesForStyle("TableDescription"), new Run(new Text(colName))))); 

El método devuelve el GetPropertiesForStyleParagraphProperties para el párrafo específico y establece el estilo. Todo esto funciona bien, sin embargo, dentro de la fila de la tabla, la primera celda parece tener doble espacio antes y la última celda tiene doble espacio después: todas las celdas del centro se ven perfectamente bien.

enter image description here

Mi estilo de configuración es el siguiente:

new Style(
    new StyleName() { Val = "TableDescription" }, 
    new StyleParagraphProperties(
     new ParagraphBorders(
      new BottomBorder() { Val = BorderValues.None } 
     ), 
     new SpacingBetweenLines() { Before = "100", After = "100", Line = "200", LineRule = LineSpacingRuleValues.Exact }, 
     new TableCellVerticalAlignment() { Val = TableVerticalAlignmentValues.Center } 
    ) 
), 

He comprobado el código XML producido usando la herramienta de la productividad y de la aplicación de las propiedades perfectamente bien. Cada TableCell tiene la siguiente configuración (hay algunas propiedades de margen adicionales allí y un relleno de sombreado que he omitido por brevedad).

<w:tc> 
    <w:p> 
     <w:pPr> 
      <w:pStyle w:val="TableDescription" /> 
     </w:pPr> 
     <w:r> 
      <w:t>Reporting Period</w:t> 
     </w:r> 
    </w:p> 
</w:tc> 

¿Alguna idea de qué está pasando?

Respuesta

5

Gestionado para solucionar este problema añadiendo lo siguiente a mi estilo:

new ContextualSpacing() { Val = false } 

¿Qué dice la palabra para desactivar la No agregue espacio entre párrafos del mismo estilo en opciones de párrafo.