Apache Software Foundation > Apache POI

POI-HSLF and and POI-XLSF - Java API To Access Microsoft Powerpoint Format Files



HSLF is the POI Project's pure Java implementation of the Powerpoint '97(-2007) file format.

HSLF provides a way to read, create or modify PowerPoint presentations. In particular, it provides:

  • api for data extraction (text, pictures, embedded objects, sounds)
  • usermodel api for creating, reading and modifying ppt files
This code currently lives the scratchpad area of the POI SVN repository. To use this component, ensure you have the Scratchpad Jar on your classpath, or a dependency defined on the poi-scratchpad artifact - the main POI jar is not enough! See the POI Components Map for more details.

The quick guide documentation provides information on using this API. Comments and fixes gratefully accepted on the POI dev mailing lists.


XSLF is the POI Project's pure Java implementation of the PowerPoint 2007 OOXML (.xlsx) file format. Whilst HSLF and XSLF provide similar features, there is not a common interface across the two of them at this time.

Please note that XSLF is still in early development and is a subject to incompatible changes in future.

A quick guide is available in the XSLF Cookbook

by Avik Sengupta, Nick Burch, Yegor Kozlov