【问题标题】:Editing Powerpoint Slide in C# Windows Form在 C# Windows 窗体中编辑 Powerpoint 幻灯片
【发布时间】:2011-01-21 16:26:50
【问题描述】:

我正在尝试开发一个 Point of Purchase 标志创建器。 我能想到的最好方法是使用 PowerPoint 幻灯片来创建 POP。

我遇到的问题是我可以找到一页又一页的信息来打开演示文稿,但我似乎找不到任何可以让我打开实际的 powerpoint 文件进行编辑的东西。客户端不需要制作新的文本框或任何类似的东西,但需要能够编辑它们。

目前我正在使用网络浏览器查看 ppt 演示文稿,但正如我所提到的,它只是一个演示文稿。

    private void Form1_Load(object sender, EventArgs e)
    {
        this.webBrowser1.Navigate("about.blank");
        string path = "C:\\Users\\Test\\test.ppt";
        this.webBrowser1.Navigate(path);
    }

提前谢谢你

附言我确实在项目中引用了 Office 互操作,但似乎一切都因情况而异,以至于我找不到太多信息来帮助我。

【问题讨论】:

  • 您能否详细说明您正在查看的“编辑”范围是什么?
  • 那么,让我直说吧...您正在创建软件,通过使用 Office 互操作来编辑 power point 演示文稿来编辑 power point 演示文稿?
  • @Will 这不是不合理,因为这是在非常特殊的情况下使用的。
  • 正如 BrianLy 解释的那样。关于我正在尝试做的事情的更详细描述是关于 BrianLy 的回答的评论
  • @Brian @Erick 所以你实际上是在“编辑”模板中的文本。知道了。顺便说一句,我正在做一些非常相似的事情,但是我没有使用 PPT 作为模板,而是使用 WPF 页面和用户控件,绑定我的数据,然后使用 XPS 打印路径打印它。如果您希望用户创建和提供 PPT,这可能太复杂了。

标签: c# office-interop


【解决方案1】:

如果您能提供更多关于编辑需要多么灵活的信息,以及您所针对的 PowerPoint 版本,那就太好了。从您的问题和方法来看,您似乎正在寻找对所有功能的访问。这不是您可以通过您的方法轻松完成的事情。

其他一些可能对您有用的选项:

  1. 使用来自外部数据源的Open XML format and generate the PPT。这对我来说似乎更干净,但你的灵活性比你目前的方法要低。您需要自己捕获用户的更改,然后生成要预览的文件。
  2. 将 PPT 文件复制到临时文件并在 PowerPoint 中打开以进行编辑。然后允许用户编辑和更新它。当他们关闭临时文件时,将其捕获并将它们带回您的主应用程序。用户可以完全访问 PPT 文件来做他们想做的事,但你有很多边缘情况需要处理。例如。如果他们关闭文件并且不退出 PowerPoint 等会怎样。
  3. 编写一个适用于您的应用程序的 PowerPoint 插件,并进行一些功能区自定义。用户将获得完整的 PowerPoint 体验,但功能区将为您的应用程序提供自定义支持,用户只需单击即可将完成的 PPT 发送回您的应用程序。这似乎比选项 2 更易于维护,因为您可能会使用更多标准 API,并且用户必须单击“完成”按钮才能完成该过程,这意味着您有一个明确定义的终点,而不是监视用户您可能会错过的行为。

【讨论】:

  • 好吧,描述一下我想要的是拥有一个从数据库中获取文本框值的 powerpoint 模板。我自己想通了这么多。用户将要做的唯一编辑是偶尔的文本编辑。例如,如果数据库有一个简短的描述,我希望用户能够编辑它以显示完整的描述。如果它足够用户友好,他们只需单击需要编辑的文本并对其进行编辑,就好像他们在 powerpoint 中一样。最后我需要它从表格中打印出来,我想我可以弄清楚
  • 我使用的是 Office 2010。我相信我的参考资料中是 Powerpoint 14
  • 我认为选项 2/3 是唯一可以做你想做的事,但我想错了。如果您找到更好的解决方案,请发表另一条评论。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-14
  • 2017-07-28
相关资源
最近更新 更多