如何在OpenXML / PresentationML / C中的PowerPoint(PPTX)中插入换行符#

时间:2015-09-17 13:04:26

标签: c# openxml openxml-sdk presentationml

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

如何在PowerPoint TextBody的{​​{1}}中添加换行符?

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>