Handling Microsoft PowerPoint file format: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
__NOTOC__


[[Category:Developing_with_Qt]]
[[Category:Developing_with_Qt]]




= Handling Microsoft PowerPoint (file format) =
 


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


<pre style="background-color: #E6E6FA"> Note that this information is collaboratively collected by the
 
{| style="background-color:LightCyan;" cellpadding="20" cellspacing="0" border="1"
| 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
community, with no promise of completeness or correctness. In particular, use your own research and judgment
when evaluating third-party libraries or tools! </pre>
when evaluating third-party libraries or tools!
|}


<pre style="background-color: moccasin">NOTE: This page is a stub. Please help expanding it. </pre>
 
{| style="background-color:moccasin;" cellpadding="20" cellspacing="0" border="1"
| 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):
One needs to distinguish between two different formats (this page deals with both of them):
Line 18: Line 24:


{| class="wikitable"
{| class="wikitable"
|  
|
! Legacy "PowerPoint Presentation" format  
! Legacy "PowerPoint Presentation" format  
! "Office Open XML Presentation" format  
! "Office Open XML Presentation" format  
Line 48: Line 54:
{| class="wikitable"
{| class="wikitable"
|
|
| DLL file name  
! DLL file name  
| COM object name  
! COM object name  
| platforms  
! platforms  
| license  
! license  
|-
|-
| [http://office.microsoft.com/powerpoint/ '''Microsoft PowerPoint''']  
| [http://office.microsoft.com/powerpoint/ '''Microsoft PowerPoint''']  
Line 65: Line 71:




{| class="wikitable"  
 
{| class="wikitable"
|
|
! API  
! API  
Line 98: Line 105:


=== Using PowerPoint itself ===
=== Using PowerPoint itself ===
<pre style="background-color: moccasin">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.</pre>
{| style="background-color:moccasin;" cellpadding="20" cellspacing="0" border="1"
| 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.
|}


Line 106: Line 116:
=== Using PowerPoint itself ===
=== Using PowerPoint itself ===


<pre style="background-color: moccasin">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!)</pre>
 
{| style="background-color:moccasin;" cellpadding="20" cellspacing="0" border="1"
| 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!)
|}



Latest revision as of 14:27, 25 March 2015



This page discusses various available options for working with Microsoft PowerPoint documents in your Qt application. Please also read the general considerations outlined on the Handling Document Formats page.


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!


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):


Legacy "PowerPoint Presentation" format "Office Open XML Presentation" format
classification: binary XML-based
main filename extension: .ppt .pptx
main internet media type: application/vnd.ms-powerpoint 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 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 (focuses on Microsoft Excel, but it works the same way for PowerPoint).


DLL file name COM object name platforms license
Microsoft PowerPoint ? PowerPoint.Application Windows commercial

Using independent parser/writer libraries


API .ppt .pptx reading writing platforms license

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

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

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


See Also