如何使用 C# 以编程方式将 RTF 文本插入到 PowerPoint 文本框架中?

问题描述 投票:0回答:2

有没有办法以编程方式将 RTF 格式的文本插入到 PowerPoint TextFrame 中?

string myString = <some RTF formatted text>;

MyPlaceholder.TextFrame.TextRange.Text = myString;

这个答案让我很接近:是否可以使用 OpenXml 将 RTF 文本片段插入到 Word 文档 (.docx) 中?

但我无法弄清楚如何在 PowerPoint 而不是 Word 中执行此操作。

我想做的是将应用程序中的 RichEditBox 中的文本复制到 PowerPoint 幻灯片上,并维护字体颜色、格式等。我能够成功地将文本导入 PowerPoint。我只是无法引入格式(例如字体颜色)。

谢谢。

c# uwp powerpoint vsto
2个回答
0
投票

我终于能够通过使用以下代码行从 RichEditBox 保存到流,然后写入文件来完成此任务:

tempRichEditBox.Document.SaveToStream(Windows.UI.Text.TextGetOptions.FormatRtf, randAccStream);

然后我使用这一行将文件导入到 PowerPoint 中。字体颜色和格式保持不变。

var rtfShape = PptSlide.Shapes.AddOLEObject(FileName: rtfFileName);

0
投票

我通过剪贴板解决了它。

Clipboard.SetText(rtfText, TextDataFormat.Rtf)
shape.TextFrame.TextRange.PasteSpecial(DataType:=PP.PpPasteDataType.ppPasteRTF)
© www.soinside.com 2019 - 2024. All rights reserved.