Cocoa API to extract data from a Microsoft PowerPoint presentation - objective-c

Is there any API available in Cocoa(not COCOA-Touch) for a MAC OS based app that can extract data from a Microsoft PowerPoint presentation?
I need it for a Mac OS X-based application in which I need to read the contents of a presentation.
I need to extract the slides and template separately. Specifically, I need to:
Extract slides as images.
Extract the template as a separate PowerPoint template file.
Extract only the text in the slides.
I have done lot of googling, but found only that Applescript can interact with it. But it opens the presentation and then only it interacts with the presentation.
If there’s no API available, then what could be the best way to do this?

All Microsoft Office apps have an AppleScript interface that allows at least some access to the documents' inner structures. I have no experience with PowerPoint, but Excel works fine.
You can google for Microsoft AppleScript Reference.

Related

Generate PowerPoint presentations with Excel sheets / charts embedded in it programatically

So what my client wants to accomplish seems pretty simple. We will have PPTX file template with a few Excel sheets embedded in it, and a few charts too.
We have created such template file. We are able to extract it, update excel files that sit in ppt/embedded directory with new ones, and pack it back.
The problem is, the display values of the tables or charts do not update automatically when such file is opened. You have to double click on a spreadsheet table or chart to trigger "edit mode". When you leave it the charts are updated.
We figured that internally, PowerPoint is doing screenshots of tables or charts, and uses it to display presentation. This is probably to allow presentation players that do not come with Excel to correctly render the presentation with embedded sheets.
Is there a way I can programatically update the screenshots of tables/charts? Is there some sort of API from Microsoft that would allow me to do that, like "MS Office API".
Maybe there is some way to have MS office configured/scripted, so I send it a file, it runs a VB script on it and returns updated value? I figured I can actually trigger update to screenshots with VB script. But I don't know if I can orchestrate Office program to do what I want.
Help? :)

Extract embedded pdf from PowerPoint presentation using VBA or VSTO

I need to extract embedded (without links) pdf documents in PowerPoint file. I can extract embedded files from Excel using ActiveSheet.OLEObjects and checking for ProgID. Then I copy it to clipboard and save as described here
But for some reason I could not find equivalent to Excel.OleObject in PowerPoint. The closest thing I think is shape.OLEFormat.Object property but it does not support Copy method. I checked this but if it is possible I need a VBA solution.
What you need to do is open the embedded PDF using DoVerb:
ActivePresentation.Slides(1).Shapes(1).OLEFormat.DoVerb
going from there you are depending on your installed software to either address saving the file using SendKeys or if available an API on Adobe Reader.
For a full discussion on this read the thread on the MSDN Forums here:
https://social.msdn.microsoft.com/Forums/en-US/235dde1a-13bb-4f07-8eb4-04ef1121a747/export-a-pdf-file-from-powerpoint-with-vba?forum=officegeneral
I accidently noticed that copying the PowerPoint shape itself does the job.

Powerpoint 2013 alternative to saving as .mht

My work laptop was just reimaged with office 2013 and one of the first things I noticed was the removal of the option to save a ppt as a single file web page. One of the products that I routinely update on our sharepoint is a ppt slide with hyperlinks and rollover screen tips to make it interactive when viewed as a presentation.
I'm looking for advice on finding an alternative to using a .mht in conjunction with a page viewer web part to display the "live" slide. I'll also note that the office web apps feature is not currently enabled or available in the site settings.
Thank you and take care.

Render various document types on a BlackBerry

I need an application which can read a variety of document formats. I am looking for something that can handle word, excel, powerpoint and pdf.
I want to invoke that application from my application and then return back to my application. Are there any open source or third-party applications available that do this?
Do you need to create application which handles pdf's and other formats or you just need to be able to open docs?
AFAIK there are some pdf viewers but those i have tried are not free.

How to create a program on top of Visio?

Is it possible to make a standalone/independent (from visio) program that is built on visio. Say, can i attach some of the design templates and visio drawing page on to my form??
Thanks
Visio supports VBA. With that, you can add all kinds of interactivity to your document.
And, you can embed visio in another program with the activex control.
Both of these methods require visio to be installed on the machine (if that's what you were getting at by the "independent" comment).
The Visio Viewer may or may not install the activex control or support VBA, I don't know.
There's a value stream mapping tool called SigmaFlow VSM that is an application built on Visio like you want to make. Basically the tool loads up Visio and strips out a lot of the Visio toolbars and puts their own UI in. Obviously it requires you have Visio installed.
There's a similar tool called eVSM that leaves the Visio UI in place, but provides a toolbar and templates and stencils for the purpose of building value stream maps.
I prefer the eSVM approach, where you end up giving the user the full ability to do whatever they want within Visio, while making the very specific task of Value Stream Map diagram creation easy.