Anyone know of a Delphi component or tool that allows creation of PowerPoint files without going through PowerPoint itself? In other words, native PowerPoint creation? Or even the OpenOffice equivalent, which can be opened in PowerPoint? I see things to display them and I know it can be done with COM, but I've run into issues with COM when the user already is working on their own PowerPoint concurrently.
You can adopt the OOXML SDK, it is .net from MS. I saw a strange site with a wrapper (using Jeroens search above) and perhaps one could use something like CrossTalk to communicate with the SDK.
ReplyDeleteSince OOXML is a Zip-file with a specified structure you could also unzip it, manipulate it and zip it. Can be tricky but it is surely possible.
I do not know about your need for the created files but if they are kind of similar you could create som "stubs" using PowerPoint and trial-error some way of patching in the information you need into copies.
HTH
Dany Marmur Glenn Claudi-Magnussen writing the XML and zipping it up is how Database WorkBench performs .XSLX export.
ReplyDeleteI've done similar things (based on an XSD) for old style Office-2003 XML. It was straightforward because my output types were limited.
Yes, Jeroen Wiert Pluimers, what i do is zip it up using mORMot. Then recurse through the "main" file(s) using Oxml. For word-files i replace stuff using either "bookmarks" or "placeholders". I can also copy headers, footers and styles from a "template". Extract all text, and extract/patch document properties. And so on.
ReplyDeleteThis allows me to skip COM and the .NET OOXML SDK (in C# everything is a class). Downside is of course that i do not have "all actions available" as would be the case with the SDK.
For each new "need" i need to examine the files and implement whetever needed, can be cumbersome at times. Also validate the files after my changes as OOXML is a bit "sensitive".