KPresenter PowerPoint-Filter the other way

At the moment the KPresenter PowerPoint-Filter is broken, which means that KPresenter 2.0 will not be able to import ppt files directly. Unfortunately many users have PowerPoint presentations around and every day a few million new ones are made. At the moment the only way to import ppt files in KPresenter is to use OpenOffice to convert them to odp.

On the other hand many users already have a very capable filter on their disk namely the one included in OpenOffice. Very often some user suggested to use the OpenOffice filters, but getting just the filter out of the apps is practically impossible. Yesterday vandenoever proposed on IRC that we could use OpenOffice in batch mode to convert the files. At first I found it pretty ridiculous as that filter would need the OpenOffice installed and it would be pretty heavyweight, but vandenoever insisted that he rather use that one than a faster but half-working native filter. So I decided that it could be interesting to give it a try.

So I started to hack a new ppt filter together. I found some example scripts on how to convert files with a headless OpenOffice. After three hours of glueing C++, bash and Python code together, I have now a working KPresenter ppt-Filter. The result is as expected: The filter is quite slow as it needs some time to start OpenOffice, convert the file and open it with KPresenter, but the result is really nice (though I only tested some files from Bugzilla, as I don’t have any ppt files around) and very convenient as I can just select the file in the file chooser and everything happens automatically.

The fiter is completely experimental and not publicly available (At the moment hard-coded for my system). Depending on the interest I might put it somewhere later.

8 Responses to “KPresenter PowerPoint-Filter the other way”

  1. jospoortvliet Says:

    Cool. I agree with Jos (gotta be the name) that this is much better than having no decent filter at all – besides, maybe one day somebody at OO.o will spend time on extracting the filters from the core of OO.o 😉

  2. Andre Says:

    There is also JODConverter http://www.artofsolving.com/opensource/jodconverter

  3. slangkamp Says:

    @Andre: I used PyODConverter as it’s probably more popular than a Java dependency and it does the job.

  4. Marktoms Says:

    Why not use Openoffice?

    JODConverter, Maybe it is a solution.

  5. Boudewijn Rempt Says:

    Hadn’t Sebastian Sauer also written a kind of scripted filter that used OOo to convert to ODF?

  6. skierpage Says:

    You can also upload the PPT to show.zoho.com , an online office suite, and then Export as .odp. (Or just share the URL of the online presentation on Zoho.) I just verified it works in KPresenter 2.0 beta 3 on Windows XP (no less!), though some step in the process seemed to turn each slide into a bitmap.

    Google Docs does not support .odp yet.

    I’m finding KPresenter useful to view .odp files people stick on the net, though the version I have often shows extraneous master slide text on every slide.

    ODP is better than PPT, but as Sun’s CEO remarked over 10 years ago:

    “I’m trying to ban e-mail attachments. I just want an ASCII e-mail.
    If you want to show me something, put it in a Web page, publish it,
    give me the URL, and I’ll look at it. That’s the new model.”
    Scott McNealy, CEO of Sun Microsystems, in May 1997 Upside magazine.

  7. slangkamp Says:

    @Marktomes: I used OpenOffice, though with PyODConverter which is the Python variant of JODConverter.

    @Boudwijn: Yes, he did and my newest version is using some of his code.

    @skierpage: Yes, it would be possible to create a import filter that uploads the file somewhere to convert it. You could also have a server running OpenOffice somewhere, so you wouldn’t have to install it yourself. The downside is that these files can be very big and not everyone has a fast internet connection.

    The problem with KPresenter showing extraneous master slide text is a OpenOffice bug. The problem is that OpenOffice doesn’t mark this text a placeholder, so KPresenter loads it as normal text. Unfortunately there is no easy workaround, because it’s tricky to do the same magic that OpenOffice does internally.

  8. Powerpoint Slave Says:

    Thanks alot for this post, helped me solve a problem I was having 🙂

Leave a comment