Handling Microsoft PowerPoint file format: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= | [[Category:Developing_with_Qt]]<br />[toc align_right="yes&quot; depth="2&quot;] | ||
= Handling Microsoft PowerPoint (file format) = | |||
This page discusses various available options for working with "Microsoft PowerPoint&quot;: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 | 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): | One needs to distinguish between two different formats (this page deals with both of them): | ||
{ | table{width:95%;margin-left:2.5%}.<br />| |''. Legacy "PowerPoint Presentation&quot; format |''. "Office Open XML Presentation&quot; format |<br />| ''classification:'' | binary | XML-based |<br />| ''main filename extension:'' | {font:1em monospace}.ppt | {font-family:monospace}.pptx |<br />| ''main internet media type:'' | {font:0.9em monospace}application/vnd.ms-powerpoint | {font:0.9em monospace}application/vnd.openxmlformats-officedocument.presentationml.presentation |<br />| ''native format of PowerPoint:'' | until PowerPoint 2003 | since PowerPoint 2007 | | ||
| | |||
| ''classification:'' | |||
| binary | |||
| | |||
| ''main filename extension:'' | |||
| | |||
| | |||
| ''main internet media type:'' | |||
| | |||
| | |||
| ''native format of PowerPoint:'' | |||
| until PowerPoint 2003 | |||
| since PowerPoint 2007 | |||
| | |||
==Reading / Writing== | == Reading / Writing == | ||
===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 "Qt’s ActiveX framework&quot;: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&quot;: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%}.<br />| |''. DLL file name |''. COM object name |''. platforms |''. license |<br />| "'''Microsoft PowerPoint'''":http://office.microsoft.com/powerpoint/ | ? | {font-family:monospace}PowerPoint.Application | Windows | {color:#458}commercial | | ||
| | |||
| | |||
| ? | |||
| | |||
| Windows | |||
| | |||
| | |||
===Using independent parser/writer libraries=== | === Using independent parser/writer libraries === | ||
… | … | ||
{ | table{width:95%;margin-left:2.5%}.<br />| |''. API |''. {font-family:monospace}.ppt |''. {font-family:monospace}.pptx |''. reading |''. writing |''. platforms |_. license |<br />| "'''…'''":http://… | … | … | … | … | … | … | … | | ||
| | |||
| | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| … | |||
| | |||
===Using manual | === Using manual XML processing === | ||
Files using the | Files using the XML-based (.pptx) format could be processed using Qt's XML handling classes (see [[Handling_Document_Formats | Handling Document Formats]]). | ||
… | … | ||
===Using batch conversion tools=== | === Using batch conversion tools === | ||
… | … | ||
==Rendering== | == Rendering == | ||
===Using PowerPoint itself=== | === 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== | == Interactive Viewing == | ||
===Using PowerPoint itself=== | === 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&quot; ActiveX control that can be embedded in a Qt application through ActiveQT, please fill out this section (include links to relevant resources!) | |||
… | … | ||
===Manual solution=== | === Manual solution === | ||
… | … | ||
p{color:#fff;border-bottom:solid 1px #ccc}. . | |||
==See Also== | == See Also == | ||
* [[Handling Document Formats]] | * [[Handling_Document_Formats | Handling Document Formats]] | ||
** ''other Microsoft Office formats:'' | ** ''other Microsoft Office formats:'' | ||
*** [[ | *** [[Handling_Microsoft_Word_(file_format) | Microsoft Word]] | ||
*** [[ | *** [[Handling_Microsoft_Excel_(file_format) | Microsoft Excel]] | ||
** ''other | ** ''other "Presentation&quot; document formats:'' | ||
*** [[ | *** [[Handling_OpenDocument_Presentation | OpenDocument Presentation]] | ||
Revision as of 09:32, 24 February 2015
[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
- Handling Document Formats
- other Microsoft Office formats:
- other "Presentation" document formats: