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