Handling Microsoft PowerPoint file format

From Qt Wiki
Revision as of 15:44, 3 March 2015 by AutoSpider (talk | contribs) (Add "cleanup" tag)
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

[toc align_right="yes" depth="2"]

Handling Microsoft PowerPoint (file format)

This page discusses various available options for working with "Microsoft PowerPoint":http://en.wikipedia.org/wiki/Microsoft_PowerPoint#File_formats documents in your Qt application. Please also read the general considerations outlined on the Handling Document Formats page.

p{width:60%;border:solid 1px #99a;background:#eef;color:#335;padding:2pt 4pt;font-size:0.9em;line-height:150%;font-style:italic}. Note that this information is collaboratively collected by the community, with no promise of completeness or correctness. In particular, use your own research and judgment when evaluating third-party libraries or tools!

p{border:dashed 1px #a94;background:#fbf3dd;color:#530;padding:2pt 4pt;font-size:0.9em;line-height:150%;font-style:italic}. NOTE: This page is a stub. Please help expanding it.

One needs to distinguish between two different formats (this page deals with both of them):

table{width:95%;margin-left:2.5%}. | |. Legacy "PowerPoint Presentation" format |. "Office Open XML Presentation" format | | classification: | binary | XML-based | | main filename extension: | {font:1em monospace}.ppt | {font-family:monospace}.pptx | | main internet media type: | {font:0.9em monospace}application/vnd.ms-powerpoint | {font:0.9em monospace}application/vnd.openxmlformats-officedocument.presentationml.presentation | | native format of PowerPoint: | until PowerPoint 2003 | since PowerPoint 2007 |

Reading / Writing

Using PowerPoint itself

If you are exclusively targeting the Windows platform and Microsoft PowerPoint will be installed on all target machines, then you can use "Qt’s ActiveX framework":http://doc.qt.io/qt-4.8/activeqt.html to access PowerPoint’s .ppt and .pptx processing functionality through OLE automation. For an introductory code example (and a way to list the API provided by the PowerPoint COM object), consult "this how to":http://wiki.qt.io/Using_ActiveX_Object_in_QT (focuses on Microsoft Excel, but it works the same way for PowerPoint).

table{width:95%;margin-left:2.5%}. | |. DLL file name |. COM object name |. platforms |. license | | "Microsoft PowerPoint":http://office.microsoft.com/powerpoint/ | ? | {font-family:monospace}PowerPoint.Application | Windows | {color:#458}commercial |

Using independent parser/writer libraries

table{width:95%;margin-left:2.5%}. | |. API |. {font-family:monospace}.ppt |. {font-family:monospace}.pptx |. reading |. writing |. platforms |_. license | | "":http://… | … | … | … | … | … | … | … |

Using manual XML processing

Files using the XML-based (.pptx) format could be processed using Qt's XML handling classes (see Handling Document Formats).

Using batch conversion tools

Rendering

Using PowerPoint itself

p{border:dashed 1px #a94;background:#fbf3dd;color:#530;padding:2pt 4pt;font-size:0.9em;line-height:150%;font-style:italic}. TODO: If you know whether PowerPoint's COM object (see above) supports rendering individual pages from a .ppt/.pptx presentation to images (e.g. for thumbnails), please edit this section.

Interactive Viewing

Using PowerPoint itself

p{border:dashed 1px #a94;background:#fbf3dd;color:#530;padding:2pt 4pt;font-size:0.9em;line-height:150%;font-style:italic}. TODO: If you know whether PowerPoint provides a "viewer" ActiveX control that can be embedded in a Qt application through ActiveQT, please fill out this section (include links to relevant resources!)

Manual solution

p{color:#fff;border-bottom:solid 1px #ccc}. .

See Also