【问题标题】:Open XML Paragraph Spacing打开 XML 段落间距
【发布时间】:2012-09-19 23:39:57
【问题描述】:

我在使用 Open XML 生成 .docx 时遇到了一个奇怪的问题。我有一个TableCell,它有一个Paragraph,然后是Run,然后是Text,生成如下:

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

GetPropertiesForStyle 方法返回特定段落的ParagraphProperties 并设置样式。这一切都很好,但是在表格行中,第一个单元格之前似乎有双倍间距,最后一个单元格之后有双倍间距 - 中间的所有单元格看起来都很好。

我的样式配置如下:

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 }
    )
),

我已经使用生产力工具检查了生成的 XML,它可以很好地应用属性。每个TableCell 都有以下配置(那里有一些额外的边距属性和一个着色器填充,为简洁起见我省略了)。

<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>

有什么想法吗?

【问题讨论】:

    标签: c# openxml


    【解决方案1】:

    通过在我的样式中添加以下内容来解决此问题:

    new ContextualSpacing() { Val = false }
    

    这告诉 word 在段落选项中取消选中不要在相同样式的段落之间添加空格

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      • 2010-11-07
      • 2015-08-08
      相关资源
      最近更新 更多