New PowerPoint Import for KOffice

Sep 22, 2009

Since Nokia's takeover of Trolltech and the increased presence of Qt, the KOffice suite has been gaining prominence on mobile devices. Developers have been working on new import opportunities of Microsoft Office formats.

On September 17 Nokia's KOffice developer Thomas Zander announced in his blog that the document viewer for the next Maemo 5 platform will be based on KOffice2. At the same time the KOffice team released a new beta version with a vastly improved MS Word import filter.

Now Jos van den Oever has written some further software to improve importing MS Office documents to KOffice: a parser that converts PowerPoint format to XML. As he reports in his blog, the documentation describing the PPT format encompasses 663 pages, with the one on drawings, essential to presentations, encompassing 620 pages as a PDF file. To prevent from having to scroll through all the pages, van den Oever converted the documents to machine-readable format and developed a parser from it to convert PowerPoint files to XML format. The method allows large amounts of PowerPoint data to be read in to make it easier to find weaknessses and errors. The resulting XML files can then be used as a basis for an import filter.

The product is a Qt program called


with a C++ and Java parser that is now available for download. Jos van den Oever encourages other project developers to write parsers in their favorite languages, requiring fewer than 700 lines of code.

Interested parties in Msoscheme for machine-readable MS Office files who want to participate in the project can access the source code as follows:

git clone git://
mkdir msoscheme/cpp/build
cd msoscheme/cpp/build
cmake ..
./ppttoxml myfile.ppt myfile.xml

A driving force behind the newest KOffice development is the KO GmbH open document company, where van den Oever is also a member.

Related content

comments powered by Disqus

Issue 19: Linux Shell Handbook 5th Ed./Special Editions

Buy this issue as a PDF

Digital Issue: Price $15.99
(incl. VAT)