【问题标题】:How can I programmatically insert RTF text into a PowerPoint text frame using C#?如何使用 C# 以编程方式将 RTF 文本插入 PowerPoint 文本框架?
【发布时间】:2020-11-10 21:41:22
【问题描述】:

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

string myString = <some RTF formatted text>;

MyPlaceholder.TextFrame.TextRange.Text = myString;

这个答案让我很接近:Is it possible to insert pieces of RTF text into a Word document (.docx) using OpenXml?

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

我要做的是将应用程序中 RichEditBox 中的文本复制到 PowerPoint 幻灯片上,并保持字体颜色、格式等。我能够成功地将文本导入 PowerPoint。我只是不能用它来输入格式(例如字体颜色)。

谢谢。

【问题讨论】:

  • 你开发 UWP 应用吗?
  • 是的,它是一个 UWP 应用。谢谢
  • UWP没有提供直接编辑powerpoint文件的api,可以搜索第三方库实现。
  • 抱歉,Nico,我应该说我正在使用 AppService 与 UWP 中的 PowerPoint 进行交互。然后我使用 VSTO 创建 PowerPoint 演示文稿。我有它正确地将文本引入 PowerPoint 幻灯片,但我无法让 PowerPoint 引入 RTF 格式的文本并保持字体颜色、格式等。)文本来自我的应用程序中的 RichEditBox,我需要复制PowerPoint 幻灯片上 RichEdit 框中的格式。

标签: c# uwp powerpoint vsto


【解决方案1】:

我终于能够通过使用以下代码行将 RichEditBox 保存到流中然后写入文件来完成此操作:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多