3

I have an application which currently uses the Apache POI libraries to produce Microsoft Powerpoint documents. I need to move this application into a more restricted environment which doesn't allow the POI libraries.

Are there any alternatives to POI and interfacing with COM for writing information to PowerPoint with Java?

I could learn and work with COM, but I'd rather avoid it at this point.

Thanks

Wolfgang Fahl
  • 15,016
  • 11
  • 93
  • 186
deterb
  • 3,994
  • 1
  • 28
  • 33
  • A "restricted environment" which allows COM, but doesn't allow a couple of largely self contained jars like POI? That seems really odd... – Gagravarr Jul 06 '11 at 16:23
  • @Gagravarr I haven't tried to get a Java COM library approved yet. It depends more on where it was developed and who is contributing than what it does from what I can tell. – deterb Jul 06 '11 at 16:26
  • Personally I'd just try to get POI approved to be used, on the grounds that it's from the ASF (that's normally enough for most places), but then I'm a bit biased... :) – Gagravarr Jul 06 '11 at 16:41
  • @Gagravarr I'd love to be able to use it, but unfortunately internationally peer reviewed software isn't "safe" enough - they're only really willing to pull in stuff that's only been developed in the USA (and maybe a few other trusted countries). – deterb Jul 06 '11 at 17:14
  • Your best bet then is to script PowerPoint itself, hope it never pops up a dialogue box (or you app hangs), and pray your security team never realise that basically all the big tech companies have some offshore teams... – Gagravarr Jul 06 '11 at 17:26
  • 1
    pptx4j (part of docx4j) was developed in Australia. – JasonPlutext Jul 06 '11 at 21:36
  • If you're talking about Powerpoint 2007/2010 then basically you need to dig into the PresentationML schema and use common XML API's to produce pptx documents. And at that point you'll be doing plutext's work all over again ;-) – Wivani Aug 17 '11 at 09:04

1 Answers1

0

I would suggest that you look at two commercial libraries.

The first is Aspose. It's a library that works a bit like Apache POI but in a "easiest" way. At my company, we are using it to include charts in Excel file (a thing that is not yet supported by POI).

Ezjcom is probably the library you want. It needs a living Office instance and allow you to interact with excel as if you were making a macro in Basic, but from Java. Watch-out, the documentation is terrible!

user983716
  • 1,992
  • 1
  • 22
  • 32