虽然Word和PowerPoint都使用OpenXML,但新行的处理方式不同。在Word / WordprocessingML中,您可以run.Append(new Break())
(请参阅here)插入换行符。不幸的是,在PresentationML中,这会导致无效的演示文稿,并在PowerPoint中加载时出错。
如何在PowerPoint TextBody
的{{1}}中添加换行符?
答案 0 :(得分:2)
Open XML Productivity Tool of Open Office SDK 2.5有一个很棒的反射代码工具来获取您拥有的任何OpenXML文件的C#代码。但特别是经过大量编辑后,演示文稿中的文本会被分成各种Run
元素,而反映代码并非紧凑。以下是TextBody
的{{1}}的示例。
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
的子项(就像在 WordprocessingML 中一样)。
注意,Run
创建一个换行符(PowerPoint中的Shift-Return),如果你想要一个新的段落(在PowerPoint中返回),你需要一个新的Break
。< / p>