Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Handling Microsoft PowerPoint file format: Difference between revisions
AutoSpider (talk | contribs) (Add "cleanup" tag) |
Henri Vikki (talk | contribs) No edit summary |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
__NOTOC__ | |||
[[Category:Developing_with_Qt]] | [[Category:Developing_with_Qt]] | ||
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. | |||
{| 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 | |||
when evaluating third-party libraries or tools! | |||
|} | |||
{| 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): | ||
| | {| class="wikitable" | ||
| ''classification:'' | binary | XML-based | | | | ||
| ''main filename extension:'' | | ! Legacy "PowerPoint Presentation" format | ||
| ''main internet media type:'' | | ! "Office Open XML Presentation" format | ||
| ''native format of PowerPoint:'' | until PowerPoint 2003 | since PowerPoint 2007 | | |- | ||
| ''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 == | == Reading / Writing == | ||
Line 25: | Line 49: | ||
=== Using PowerPoint itself === | === 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 | If you are exclusively targeting the Windows platform and Microsoft PowerPoint will be installed on all target machines, then you can use [http://doc.qt.io/qt-4.8/activeqt.html 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 [http://wiki.qt.io/Using_ActiveX_Object_in_QT this how to] (focuses on Microsoft Excel, but it works the same way for PowerPoint). | ||
{| class="wikitable" | |||
| | | | ||
| | ! DLL file name | ||
! COM object name | |||
! platforms | |||
! license | |||
|- | |||
| [http://office.microsoft.com/powerpoint/ '''Microsoft PowerPoint'''] | |||
| ? | |||
| PowerPoint.Application | |||
| Windows | |||
| commercial | |||
|} | |||
=== Using independent parser/writer libraries === | === Using independent parser/writer libraries === | ||
Line 35: | Line 70: | ||
… | … | ||
| | |||
| | {| class="wikitable" | ||
| | |||
! API | |||
! .ppt | |||
! .pptx | |||
! reading | |||
! writing | |||
! platforms | |||
! license | |||
|- | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
|} | |||
=== Using manual XML processing === | === Using manual XML processing === | ||
Line 53: | Line 106: | ||
=== Using PowerPoint itself === | === Using PowerPoint itself === | ||
{| 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 61: | Line 116: | ||
=== Using PowerPoint itself === | === Using PowerPoint itself === | ||
{| 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!) | |||
|} | |||
… | … | ||
Line 69: | Line 128: | ||
… | … | ||
== See Also == | == See Also == |
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
- Handling Document Formats
- other Microsoft Office formats:
- other "Presentation" document formats: