Managed Hosting



Project Home Blog Forums Known Issues Contact Project

Author: Todd Sharp (All RIAForge projects by this author)
Last Updated: January 30, 2008 11:14 PM
Version: 0.8
Views: 25,092
Downloads: 1,676
Demo URL: http://cfsilence.com/blog/client/page.cfm/pptutils_demo
License: Apache License, Version 2


This component gives you the ability to extract pure text and/or slides with (almost) full formatting from PowerPoint presentations (Office 2003 and older). It is built upon the Apache POI HSLF project.

PPTUtils is a simple cfc that can be used to extract text and/or formatted markup (including images) from a PowerPoint file. Since it is built upon HSLF it is subject to the limitations in that project:

"HSLF is the POI Project's pure Java implementation of the Powerpoint '97(-2007) file format. It does not support the new PowerPoint 2007 .pptx file format, which is not OLE2 based.

HSLF provides a way to read powerpoint presentations, and extract text from it. It also provides some (currently limited) edit capabilities."

To work with this CFC, just instantiate it like you would any component.

<!--- create the pptutils object --->
<cfset pptutils = createObject("component", "pptutils.com.pptutils").init() />

To extract text call the extractText() method.
To create an array of slides (which will include data about formatting/positioning, etc) call the convertPowerPoint() method.
To extract metadata about the PPT file call the getPPTMetaData() method.

For sample implementations see the samples folder in this package.

Also see docs/pptutils_api.html

If you should find this component useful please consider visiting my wishlist (http://www.amazon.com/gp/registry/wishlist/2PTWNTIRNTIKS/)

pptutils uses JavaLoader by Mark Mandel (http://javaloader.riaforge.org/)
pptutils utilizes POI/HSLF which is part of the Apache Project (http://poi.apache.org/)
Licenses applicable to the respective owners.


ColdFusion 7+ (some samples require CF 8 but component can be used without 8)

Issue Tracker:

There are no issues for this project.

To enter issues for this (or any other) project, you must be logged in.