Java – How do I remotely control Office 2010 PowerPoint presentations using Android applications?

How do I remotely control Office 2010 PowerPoint presentations using Android applications?… here is a solution to the problem.

How do I remotely control Office 2010 PowerPoint presentations using Android applications?

I wanted to write an Android remote control application that allowed people to navigate back and forth in a PowerPoint slide presentation in Microsoft Office (preferably 2007/2010) on my PC. In this case, I had to make a small PowerPoint navigation client on Android, and I also created a PC server to access Microsoft Office PowerPoint and manipulate its slides. I know that Java applications can access Microsoft Office PowerPoint’s slideshow. Some apps have been made for Android (Gmote 2.0, etc.) that can be used to navigate PowerPoint slides.

Are there any extensions or any libraries available to access Microsoft Office PowerPoint? Thank you.

Solution

What I did was:

  1. I’m using the .NET #C client on the Windows side, and

  2. Java servlets and XMLRPC web applications running on Tomcat (“intermediary”).

  3. And, of course, the Android client as a controller

My C# client creates a persistent HTTP connection to the servlet. Android applications are sending short HTTP GET requests to TomCat, such as goto3 or next (the request also has a Presentation ID as a parameter). Commands from Android devices are dispatched to persistent HTTP connections previously opened from .NET clients.

In the .NET client, I use a locally installed PowerPoint as an ActiveX/OLE control. You can do almost everything you can do “manually” programmatically in C#. Open a .ppt(x), start the slide, control the slide and of course edit the slide content. You can find many examples by Googling Microsoft.Office.Interop.PowerPoint

I used the generated QR code to pair the .NET client with my Android phone. The QR code that I displayed in the generated PowerPoint slide. All the work around QR codes (C# and Android) is done using code from ZXing (zebra crossing) projects.

You can try it, the instructions and downloads are here.

Related Problems and Solutions