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