3

虽然 Word 和 PowerPoint 都使用 OpenXML,但换行符的处理方式不同。在 Word/WordprocessingML 中,您可以run.Append(new Break())(参见此处)插入换行符。不幸的是,在 PresentationML 中,这会导致演示文稿无效,并且在 PowerPoint 中加载演示文稿时会出错。

如何在TextBodyPowerPoint中添加换行符Shape

4

1 回答 1

4

Open Office SDK 2.5的Open XML Productivity Tool有这个很棒的Reflect Code工具,可以获取任何 OpenXML 文件的 C# 代码。但特别是经过大量编辑后,演示文稿中的文本被拆分为各种Run元素,并且反映代码不是很紧凑。TextBody这是 a的示例Shape

new TextBody(
  new A.BodyProperties(),
  new A.Paragraph(
    new A.Run( new A.Text("first line") ),
    new A.Break(),
    new A.Run( new A.Text("second line") )
  ),
  new A.Paragraph(
    new A.Run( new A.Text("new paragraph") )
  )
)

请注意,它Break是 的孩子,而Paragraph不是 a 的孩子Run(就像在WordprocessingML中一样)。

请注意,Break换行符(PowerPoint 中的 Shift-Return),如果你想要一个新段落(PowerPoint 中的 Return),你需要一个新的Paragraph.

于 2015-09-17T13:05:19.713 回答