使用跳跃动作为PowerPoint编写自定义代码?

HIR*_*KUR 10 c# powerpoint desktop-application visual-studio-2010 leap-motion

我正在尝试制作基于PowerPoint幻灯片手势.JavaScript肯定不会在这里工作,因为我希望我的幻灯片工作时,为Windows打开特定的PowerPoint文件(.ppt).

我用谷歌搜索,在Leap Motion论坛上发布了一个问题,但是徒劳无功.我主要担心的是:

  1. 我不确定在这里使用什么.是否有一些用于此目的的SDK?简单来说,如何在我们的系统上为PowerPoint文件编写一些自定义代码? Leap Motion应用程序可以使用C#,C++,Python,JavaScript,Java,Objective-C开发

  2. Leap Motion设备的代码与上面的代码集成.

如果你回答这两点中的任何一点都没关系.对不起,我无法发布任何代码,因为我对系统本身的基于PowerPoint的编程完全不熟悉.

我对任何能让我完成任务的语言(C,C#,C++,Java和Objective-C)持开放态度.有一些信息/代码的sugesstions肯定会有所帮助.

我是一名PHPJavaScript开发人员.我希望我很清楚,不会被误解.

更新:

我找到了适用于Microsoft Office 2010/2013(C#)的LEAP Motion Controller插件.

Jas*_*ext 8

您找到的用于Microsoft OfficeLEAP运动控制器加载项可能是将控制器与Powerpoint集成的最佳方式.

要开始使用它,你需要Visual Studio(看起来你需要2012).Microsoft 在Visual Studio中有Office Development的概述页面.

按照配置计算机以开发Office解决方案页面上的说明进行操作.

下载Leap SDK for Windows,然后解压缩,然后在项目GestureLib.NET4.0的Visual Studio中,添加对LeapCSharp.NET4.0 dll的引用

对GestureListener.cs做一个简单的修复(在第44行使用IsEmpty).

之后,您应该能够在Visual Studio中运行LEAP Motion Controller Add-in.当你这样做时它会启动Powerpoint.

"VSTO"是您在此处使用的技术的名称,所以更多的是Google的"VSTO插件powerpoint".

加载项源代码,看起来您应该在Powerpoint的功能区上看到一个按钮,用于启动和停止Leap.

看看ThisAddIn.cs,一旦启动(通过按功能区上的按钮),控制器应该分别通过移动到下一个/上一个幻灯片来响应左右手势: -

                if (direction.ToString() == "Right")
            {
                Application.ActivePresentation.SlideShowWindow.View.Next();
                LastGesture = DateTime.Now;
            }
            if (direction.ToString() == "Left")
            {
                Application.ActivePresentation.SlideShowWindow.View.Previous();
                LastGesture = DateTime.Now;
            }
Run Code Online (Sandbox Code Playgroud)

GestureLib支持其他手势,您可以按照相同的模式执行某些操作.


Lev*_*ity 2

如果您的目标只是与 PowerPoint 演示文稿交互,那么一个简单的解决方案可能是使用BetterTouchTool

它专为 OS X 设计,可与Leap Motion 控制器配合使用,允许您将手势(由 LM 控制器捕获)映射到键盘快捷键,只要配置正确,它就可以在后台运行时运行。

本质上,应该可以将用 X 手指向右滑动映射为按右箭头键 - 这会将演示文稿推进到下一张幻灯片。等等。

但是,如果您正在寻找编程挑战/希望将其纳入 Airspace 应用程序中,那么您可以使用Apache POI的 Java API 之类的东西。

这是一个复杂得多的解决方案,但它确实有一个好处,那就是它可以在 OS X 上运行 - 并且需要你修改一些代码:)。

似乎最简单的解决方案是遵循将幻灯片导出到图像的示例。您现在拥有一组图像 - 每张 PowerPoint 幻灯片都有一个图像。这为您提供了很多选择,例如

  • 您可以将此数据视为内存数据库(和 Web 服务),然后回到 PHP 和 JS 的舒适区,并使用 Leap Motion 控制器的 JS API 来捕获手势,以驱动本质上的在线图片库。
  • 您可以使用 Java API 开发纯 Java 解决方案,从 Leap Motion 控制器捕获手势,并使用 Swing/JavaFX 或使用 JSF 在浏览器中显示数据。