2025-07-08 02:27:35 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< META http-equiv = "Content-Type" content = "text/html; charset=UTF-8" >
< meta content = "Apache Forrest" name = "Generator" >
< meta name = "Forrest-version" content = "0.9" >
< meta name = "Forrest-skin-name" content = "pelt" >
< title > Apache POI™ - HWPF - Java API to Handle Microsoft Word Files< / title >
< link type = "text/css" href = "../../skin/basic.css" rel = "stylesheet" >
< link media = "screen" type = "text/css" href = "../../skin/screen.css" rel = "stylesheet" >
< link media = "print" type = "text/css" href = "../../skin/print.css" rel = "stylesheet" >
< link type = "text/css" href = "../../skin/profile.css" rel = "stylesheet" >
< script src = "../../skin/getBlank.js" language = "javascript" type = "text/javascript" > < / script > < script src = "../../skin/getMenu.js" language = "javascript" type = "text/javascript" > < / script > < script src = "../../skin/fontsize.js" language = "javascript" type = "text/javascript" > < / script >
< link rel = "shortcut icon" href = "../../images/favicon.ico" >
< / head >
< body onload = "init()" >
< script type = "text/javascript" > ndeSetTextSize ( ) ; < / script >
< div id = "top" >
<!-- +
|breadtrail
+-->
< div class = "breadtrail" >
< a href = "https://www.apache.org" > Apache Software Foundation< / a > > < a href = "https://poi.apache.org" > Apache POI< / a > < script src = "../../skin/breadcrumbs.js" language = "JavaScript" type = "text/javascript" > < / script >
< / div >
<!-- +
|header
+-->
< div class = "header" >
<!-- +
|start group logo
+-->
< div class = "grouplogo" >
2025-09-11 22:56:08 +01:00
< a href = "https://www.apache.org" > < img class = "logoImage" alt = "Apache Software Foundation" src = "../../images/asflogo_horizontal_color.svg" title = "The Apache Software Foundation is a cornerstone of the modern Open Source software ecosystem – supporting some of the most widely used and important software solutions powering today's Internet economy." > < / a >
2025-07-08 02:27:35 +01:00
< / div >
<!-- +
|end group logo
+-->
<!-- +
|start Project Logo
+-->
< div class = "projectlogo" >
< a href = "https://poi.apache.org" > < img class = "logoImage" alt = "Apache POI" src = "../../images/project-header.png" title = "Apache POI is well-known in the Java field as a library for reading and writing Microsoft Office file formats, such as Excel, PowerPoint, Word, Visio, Publisher and Outlook. It supports both the older (OLE2) and new (OOXML - Office Open XML) formats." > < / a >
< / div >
<!-- +
|end Project Logo
+-->
<!-- +
|start Search
+-->
< div class = "searchbox" >
< form action = "https://www.google.com/search" method = "get" class = "roundtopsmall" >
< input value = "poi.apache.org" name = "sitesearch" type = "hidden" > < input onFocus = "getBlank (this, 'Search the site with google');" size = "25" name = "q" id = "query" type = "text" value = "Search the site with google" >
< input name = "Search" value = "Search" type = "submit" >
< / form >
< / div >
<!-- +
|end search
+-->
<!-- +
|start Tabs
+-->
< ul id = "tabs" >
< li >
< a class = "unselected" href = "../../index.html" > Home< / a >
< / li >
< li >
< a class = "unselected" href = "../../help/index.html" > Help< / a >
< / li >
< li class = "current" >
< a class = "selected" href = "../../components/index.html" > Component APIs< / a >
< / li >
< li >
< a class = "unselected" href = "../../devel/index.html" > Getting Involved< / a >
< / li >
< / ul >
<!-- +
|end Tabs
+-->
< / div >
< / div >
< div id = "main" >
< div id = "publishedStrip" >
<!-- +
|start Subtabs
+-->
< div id = "level2tabs" > < / div >
<!-- +
|end Endtabs
+-->
< script type = "text/javascript" > < ! - -
document.write("Last Published: " + document.lastModified);
// -->< / script >
< / div >
<!-- +
|breadtrail
+-->
< div class = "breadtrail" >
< / div >
<!-- +
|start Menu, mainarea
+-->
<!-- +
|start Menu
+-->
< div id = "menu" >
< div onclick = "SwitchMenu('menu_selected_1.1', '../../skin/')" id = "menu_selected_1.1Title" class = "menutitle" style = "background-image: url('../../skin/images/chapter_open.gif');" > Component APIs< / div >
< div id = "menu_selected_1.1" class = "selectedmenuitemgroup" style = "display: block;" >
< div class = "menuitem" >
< a href = "../../components/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../apidocs/index.html" > Javadocs< / a >
< / div >
< div onclick = "SwitchMenu('menu_1.1.3', '../../skin/')" id = "menu_1.1.3Title" class = "menutitle" > Excel (HSSF/XSSF)< / div >
< div id = "menu_1.1.3" class = "menuitemgroup" >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/quick-guide.html" > Quick Guide< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/how-to.html" > HOWTO< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/converting.html" > HSSF to SS Converting< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/formula.html" > Formula Support< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/eval.html" > Formula Evaluation< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/eval-devguide.html" > Eval Dev Guide< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/examples.html" > Examples< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/use-case.html" > Use Case< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/diagrams.html" > Pictorial Docs< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/limitations.html" > Limitations< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/user-defined-functions.html" > User Defined Functions< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/excelant.html" > ExcelAnt Tests< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/hacking-hssf.html" > Hacking HSSF< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/record-generator.html" > Record Generator< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/spreadsheet/chart.html" > Charts< / a >
< / div >
< / div >
< div onclick = "SwitchMenu('menu_1.1.4', '../../skin/')" id = "menu_1.1.4Title" class = "menutitle" > PowerPoint (HSLF/XSLF)< / div >
< div id = "menu_1.1.4" class = "menuitemgroup" >
< div class = "menuitem" >
< a href = "../../components/slideshow/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/slideshow/quick-guide.html" > Quick Guide< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/slideshow/how-to-shapes.html" > HSLF Cookbook< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/slideshow/xslf-cookbook.html" > XSLF Cookbook< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/slideshow/ppt-wmf-emf-renderer.html" > Render SL/WMF/EMF< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/slideshow/ppt-file-format.html" > PPT File Format< / a >
< / div >
< / div >
< div onclick = "SwitchMenu('menu_selected_1.1.5', '../../skin/')" id = "menu_selected_1.1.5Title" class = "menutitle" style = "background-image: url('../../skin/images/chapter_open.gif');" > Word (HWPF/XWPF)< / div >
< div id = "menu_selected_1.1.5" class = "selectedmenuitemgroup" style = "display: block;" >
< div class = "menuitem" >
< a href = "../../components/document/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/document/quick-guide.html" > HWPF Quick Guide< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/document/quick-guide-xwpf.html" > XWPF Quick Guide< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/document/docoverview.html" > HWPF Format< / a >
< / div >
< div class = "menupage" >
< div class = "menupagetitle" > HWPF Project plan< / div >
< / div >
< / div >
< div class = "menuitem" >
< a href = "../../components/hsmf/index.html" > Outlook (HSMF)< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/diagram/index.html" > Visio (HDGF+XDGF)< / a >
< / div >
< div onclick = "SwitchMenu('menu_1.1.8', '../../skin/')" id = "menu_1.1.8Title" class = "menutitle" > Publisher (HPBF)< / div >
< div id = "menu_1.1.8" class = "menuitemgroup" >
< div class = "menuitem" >
< a href = "../../components/hpbf/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/hpbf/file-format.html" > File Format< / a >
< / div >
< / div >
< div onclick = "SwitchMenu('menu_1.1.9', '../../skin/')" id = "menu_1.1.9Title" class = "menutitle" > OLE2 Filesystem (POIFS)< / div >
< div id = "menu_1.1.9" class = "menuitemgroup" >
< div class = "menuitem" >
< a href = "../../components/poifs/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/poifs/how-to.html" > How To< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/poifs/embeded.html" > Embedded Documents< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/poifs/fileformat.html" > File System Documentation< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/poifs/usecases.html" > Use Cases< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/poifs/design.html" > Design< / a >
< / div >
< / div >
< div onclick = "SwitchMenu('menu_1.1.10', '../../skin/')" id = "menu_1.1.10Title" class = "menutitle" > OLE2 Document Props (HPSF)< / div >
< div id = "menu_1.1.10" class = "menuitemgroup" >
< div class = "menuitem" >
< a href = "../../components/hpsf/index.html" > Overview< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/hpsf/how-to.html" > How To< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/hpsf/thumbnails.html" > Thumbnails< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/hpsf/internals.html" > Internals< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/hpsf/todo.html" > To Do< / a >
< / div >
< / div >
< div class = "menuitem" >
< a href = "../../components/hmef/index.html" > TNEF (HMEF) for winmail.dat< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/oxml4j/index.html" > OpenXML4J (OOXML)< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/logging.html" > Logging framework< / a >
< / div >
< div class = "menuitem" >
< a href = "../../components/configuration.html" > Configuration< / a >
< / div >
< / div >
< div id = "credit" > < / div >
< div id = "roundbottom" >
< img style = "display: none" class = "corner" height = "15" width = "15" alt = "" src = "../../skin/images/rc-b-l-15-1body-2menu-3menu.png" > < / div >
<!-- +
|alternative credits
+-->
< div id = "credit2" >
< a href = "https://donate.apache.org/" > < img border = "0" title = "Support Apache" alt = "Support Apache - logo" src = "../../images/support-asf.png" style = "width: 125px;height: 125px;" > < / a > < a href = "https://www.apache.org/foundation/press/kit/#poweredby" > < img border = "0" title = "powered by POI" alt = "powered by POI - logo" src = "../../images/poweredby-poi-logo.png" style = "width: 125px;height: 125px;" > < / a >
< / div >
< / div >
<!-- +
|end Menu
+-->
<!-- +
|start content
+-->
< div id = "content" >
< h1 > Apache POI™ - HWPF - Java API to Handle Microsoft Word Files< / h1 >
< h3 > Project Plan< / h3 >
< div id = "front-matter" > < / div >
< p > HWPF Milestones< / p >
< table class = "ForrestTable" cellspacing = "1" cellpadding = "4" >
< tr >
< th colspan = "1" rowspan = "1" >
Milestones
< / th >
< th colspan = "1" rowspan = "1" >
Target Date
< / th >
< th colspan = "1" rowspan = "1" >
Owner
< / th >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Read in a Word document
with minimum formatting
(no lists, tables, footnotes,
endnotes, headers, footers)
and write it back out with the
result viewable in Word
97/2000
< / td >
< td colspan = "1" rowspan = "1" >
07/11/2003
< / td >
< td colspan = "1" rowspan = "1" >
Ryan
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Add support for Lists and
Tables
< / td >
< td colspan = "1" rowspan = "1" >
8/15/2003
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
HWPF 1.0-alpha release with
documentation and examples
< / td >
< td colspan = "1" rowspan = "1" >
8/18/2003
< / td >
< td colspan = "1" rowspan = "1" >
Praveen/Ryan
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Add support for Headers,
Footers, endnotes, and
footnotes
< / td >
< td colspan = "1" rowspan = "1" >
8/31/2003
< / td >
< td colspan = "1" rowspan = "1" >
?
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Add support for forms and
mail merge
< / td >
< td colspan = "1" rowspan = "1" >
September/October 2003
< / td >
< td colspan = "1" rowspan = "1" >
?
< / td >
< / tr >
< / table >
< p > HWPF Task Lists< / p >
< p > Read in a Word document with minimum formatting (no lists, tables, footnotes,
endnotes, headers, footers) and write it back out with the result viewable in Word 97/2000< / p >
< table class = "ForrestTable" cellspacing = "1" cellpadding = "4" >
< tr >
< th colspan = "1" rowspan = "1" >
Task
< / th >
< th colspan = "1" rowspan = "1" >
Target Date
< / th >
< th colspan = "1" rowspan = "1" >
Owner
< / th >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Create classes to read and
write low level data
structures with test cases
< / td >
< td colspan = "1" rowspan = "1" >
7/10/2003
< / td >
< td colspan = "1" rowspan = "1" >
Ryan
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Create classes to read and
write FontTable and Font
names with test case
< / td >
< td colspan = "1" rowspan = "1" >
7/10/2003
< / td >
< td colspan = "1" rowspan = "1" >
Praveen
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Final test
< / td >
< td colspan = "1" rowspan = "1" >
7/11/2003
< / td >
< td colspan = "1" rowspan = "1" >
Ryan
< / td >
< / tr >
< / table >
< p > Develop user friendly API so it is fun and easy to read and write word documents
with java.< / p >
< table class = "ForrestTable" cellspacing = "1" cellpadding = "4" >
< tr >
< th colspan = "1" rowspan = "1" >
Task
< / th >
< th colspan = "1" rowspan = "1" >
Target Date
< / th >
< th colspan = "1" rowspan = "1" >
Owner
< / th >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Develop a way for SPRMS to
be compressed and
uncompressed
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override CHPAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override PAPAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override SEPAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override DOPAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override TAPAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Override TCAbstractType
with a concrete class that
exposes attributes with
human readable names
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Develop a VerifyIntegrity
class for testing so it is easy
to determine if a Word
Document is well-formed.
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Develop general intuitive
API to tie everything together
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< / table >
< p > Add support for lists and tables< / p >
< table class = "ForrestTable" cellspacing = "1" cellpadding = "4" >
< tr >
< th colspan = "1" rowspan = "1" >
Task
< / th >
< th colspan = "1" rowspan = "1" >
Target Date
< / th >
< th colspan = "1" rowspan = "1" >
Owner
< / th >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Add data structures for
reading and writing list data
with test cases.
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Add data structures for
reading and writing tables
with test cases.
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< / table >
< p > HWPF 1.0-alpha release with documentation and examples< / p >
< table class = "ForrestTable" cellspacing = "1" cellpadding = "4" >
< tr >
< th colspan = "1" rowspan = "1" >
Task
< / th >
< th colspan = "1" rowspan = "1" >
Target Date
< / th >
< th colspan = "1" rowspan = "1" >
Owner
< / th >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Document the user model
API
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Document the low level
classes
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< tr >
< td colspan = "1" rowspan = "1" >
Come up with detailed How-To’ s
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< td colspan = "1" rowspan = "1" >
< / td >
< / tr >
< / table >
< p align = "right" >
< font size = "-2" > by Ryan Ackley< / font >
< / p >
< / div >
<!-- +
|end content
+-->
< div class = "clearboth" > < / div >
< / div >
< div id = "footer" >
<!-- +
|start bottomstrip
+-->
< div class = "lastmodified" >
< script type = "text/javascript" > < ! - -
document.write("Last Published: " + document.lastModified);
// -->< / script >
< / div >
< div class = "copyright" >
Copyright ©
2026-02-16 20:14:18 +01:00
2001-2026 < a href = "https://www.apache.org/" > The Apache Software Foundation< / a >
2025-07-08 02:27:35 +01:00
< br >
2025-11-23 21:03:09 +01:00
Apache POI, POI, Apache, the Apache logo, and the Apache
POI project logo are trademarks of The Apache Software Foundation.
2025-07-08 02:27:35 +01:00
< / div >
< div id = "feedback" >
Send feedback about the website to:
< a id = "feedbackto" href = "mailto:dev@poi.apache.org?subject=Feedback%C2%A0components/document/projectplan.html" > dev@poi.apache.org< / a >
< / div >
<!-- +
|end bottomstrip
+-->
< / div >
< / body >
< / html >