簡體   English   中英

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

[英]How to insert a newline in PowerPoint (PPTX) in OpenXML / PresentationML / C#

雖然Word和PowerPoint都使用OpenXML,但是換行符的處理方式有所不同。 在Word / WordprocessingML中,您可以運行run.Append(new Break()) (請參見此處 )以插入換行符。 不幸的是,在PresentationML中,這導致了無效的演示文稿,並且在PowerPoint中加載演示文稿時出錯。

如何在PowerPoint ShapeTextBody中添加換行符?

Open Office SDK 2.5Open XML生產力工具具有出色的Reflect Code工具,可以獲取您擁有的任何OpenXML文件的C#代碼。 但是尤其是在進行大量編輯之后,演示文稿中的文本會分成各種Run元素,並且反射代碼不是很緊湊。 這是ShapeTextBody的示例。

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") )
  )
)

請注意, BreakParagraph子級,而不是Run子級(就像在WordprocessingML中一樣 )。

請注意, Break會換行(在PowerPoint中為Shift-Return),如果您要一個新段落(在PowerPoint中為Return),則需要一個新的Paragraph

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM