2026-02-16 20:14:18 +01:00

786 lines
18 KiB
HTML

<!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&trade; - 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> &gt; <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">
<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 &ndash; supporting some of the most widely used and important software solutions powering today's Internet economy."></a>
</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">&nbsp;
<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">
&nbsp;
</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&trade; - 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">
&nbsp;
</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&rsquo;s
</td>
<td colspan="1" rowspan="1">
</td>
<td colspan="1" rowspan="1">
</td>
</tr>
</table>
<p align="right">
<font size="-2">by&nbsp;Ryan Ackley</font>
</p>
</div>
<!--+
|end content
+-->
<div class="clearboth">&nbsp;</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 &copy;
2001-2026 <a href="https://www.apache.org/">The Apache Software Foundation</a>
<br>
Apache POI, POI, Apache, the Apache logo, and the Apache
POI project logo are trademarks of The Apache Software Foundation.
</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>