Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.poi.hwpf
Class HWPFDocument

    java.lang.Object
      org.apache.poi.POIDocument
          org.apache.poi.hwpf.HWPFDocumentCore
              org.apache.poi.hwpf.HWPFDocument

All Implemented Interfaces:
  java.io.Closeable

    public final class HWPFDocument

extends HWPFDocumentCore

This class acts as the bucket that we throw all of the Word data structures into.

Field Summary
`protected Bookmarks` | `_bookmarks` Holds the bookmarks
`protected BookmarksTables` | `_bookmarksTables` Holds the bookmarks tables
`protected ComplexFileTable` | `_cft` Contains text of the document wrapped in a obfuscated Word data structure
`protected byte[]` | `_dataStream` data stream buffer
`protected DocumentProperties` | `_dop` Document wide Properties
`protected Notes` | `_endnotes` Holds the footnotes
`protected NotesTables` | `_endnotesTables` Holds the ending notes tables
`protected EscherRecordHolder` | `_escherRecordHolder` Escher Drawing Group information
`protected Fields` | `_fields` Holds the fields
`protected FieldsTables` | `_fieldsTables` Holds the fields PLCFs
`protected Notes` | `_footnotes` Holds the footnotes
`protected NotesTables` | `_footnotesTables` Holds the footnotes tables
`protected OfficeDrawingsImpl` | `_officeDrawingsHeaders` Holds Office Art objects
`protected OfficeDrawingsImpl` | `_officeDrawingsMain` Holds Office Art objects
`protected PicturesTable` | `_pictures` Holds pictures table
`protected RevisionMarkAuthorTable` | `_rmat` Holds the revision mark authors for this document.
`protected SavedByTable` | `_sbt` Holds the save history for this document.
`protected byte[]` | `_tableStream` table stream buffer
`protected java.lang.StringBuilder` | `_text` Contains text buffer linked directly to single-piece document text piece

Fields inherited from class org.apache.poi.hwpf.HWPFDocumentCore
`_cbt, _fib, _ft, _lt, _mainStream, _objectPool, _pbt, _ss, _st, FIB_BASE_LEN, RC4_REKEYING_INTERVAL, STREAM_OBJECT_POOL, STREAM_TABLE_0, STREAM_TABLE_1, STREAM_WORD_DOCUMENT`

Constructor Summary
`protected` | `HWPFDocument()`
`` | `HWPFDocument(DirectoryNode directory)` This constructor loads a Word document from a specific point in a POIFSFileSystem, probably not the default.
`` | `HWPFDocument(java.io.InputStream istream)` This constructor loads a Word document from an InputStream.
`` | `HWPFDocument(POIFSFileSystem pfilesystem)` This constructor loads a Word document from a POIFSFileSystem

Method Summary
`int` | `characterLength()` Returns the character length of a document.
`void` | `delete(int start, int length)`
`Bookmarks` | `getBookmarks()`
`Range` | `getCommentsRange()` Returns the `Range` which covers all annotations.
`byte[]` | `getDataStream()`
`DocumentProperties` | `getDocProperties()`
`Range` | `getEndnoteRange()` Returns the `Range` which covers all endnotes.
`Notes` | `getEndnotes()`
`EscherRecordHolder` | `getEscherRecordHolder()`
`Fields` | `getFields()` Returns user-friendly interface to access document `Field`s
`FieldsTables` | `getFieldsTables()` Deprecated. POI 3.8.
`Range` | `getFootnoteRange()` Returns the `Range` which covers all the Footnotes.
`Notes` | `getFootnotes()`
`Range` | `getHeaderStoryRange()` Returns the range which covers all "Header Stories".
`Range` | `getMainTextboxRange()` Returns the `Range` which covers all textboxes.
`OfficeDrawings` | `getOfficeDrawingsHeaders()`
`OfficeDrawings` | `getOfficeDrawingsMain()`
`Range` | `getOverallRange()` Returns the range that covers all text in the file, including main text, footnotes, headers and comments
`PicturesTable` | `getPicturesTable()`
`Range` | `getRange()` Returns the range which covers the whole of the document, but excludes any headers and footers.
`RevisionMarkAuthorTable` | `getRevisionMarkAuthorTable()` Gets a reference to the revision mark author table, which holds the revision mark authors for the document.
`SavedByTable` | `getSavedByTable()` Gets a reference to the saved -by table, which holds the save history for the document.
`byte[]` | `getTableStream()`
`java.lang.StringBuilder` | `getText()` Internal method to access document text
`TextPieceTable` | `getTextTable()`
`int` | `registerList(HWPFList list)`
`void` | `write()` Write out the word file that is represented by this class, to the currently open `File`, via the writeable `POIFSFileSystem` it was opened as.
`void` | `write(java.io.File newFile)` Writes out the word file that is represented by an instance of this class.
`void` | `write(java.io.OutputStream out)` Writes out the word file that is represented by an instance of this class.

Methods inherited from class org.apache.poi.hwpf.HWPFDocumentCore
`getCharacterTable, getDocumentEntryBytes, getDocumentText, getEncryptionInfo, getFileInformationBlock, getFontTable, getListTables, getMainStream, getObjectsPool, getParagraphTable, getSectionTable, getStyleSheet, updateEncryptionInfo, verifyAndBuildPOIFS`

Methods inherited from class org.apache.poi.POIDocument
`clearDirectory, close, createInformationProperties, getDirectory, getDocumentSummaryInformation, getEncryptedPropertyStreamName, getPropertySet, getPropertySet, getSummaryInformation, initDirectory, readProperties, replaceDirectory, validateInPlaceWritePossible, writeProperties, writeProperties, writeProperties, writePropertySet`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _tableStream

    protected byte[] _tableStream

  table stream buffer

### _dataStream

    protected byte[] _dataStream

  data stream buffer

### _dop

    protected DocumentProperties _dop

  Document wide Properties

### _cft

    protected ComplexFileTable _cft

  Contains text of the document wrapped in a obfuscated Word data structure

### _text

    protected java.lang.StringBuilder _text

  Contains text buffer linked directly to single-piece document text piece

### _sbt

    protected SavedByTable _sbt

  Holds the save history for this document.

### _rmat

    protected RevisionMarkAuthorTable _rmat

  Holds the revision mark authors for this document.

### _escherRecordHolder

    protected EscherRecordHolder _escherRecordHolder

  Escher Drawing Group information

### _pictures

    protected PicturesTable _pictures

  Holds pictures table

### _officeDrawingsHeaders

    protected OfficeDrawingsImpl _officeDrawingsHeaders

  Holds Office Art objects

### _officeDrawingsMain

    protected OfficeDrawingsImpl _officeDrawingsMain

  Holds Office Art objects

### _bookmarksTables

    protected BookmarksTables _bookmarksTables

  Holds the bookmarks tables

### _bookmarks

    protected Bookmarks _bookmarks

  Holds the bookmarks

### _endnotesTables

    protected NotesTables _endnotesTables

  Holds the ending notes tables

### _endnotes

    protected Notes _endnotes

  Holds the footnotes

### _footnotesTables

    protected NotesTables _footnotesTables

  Holds the footnotes tables

### _footnotes

    protected Notes _footnotes

  Holds the footnotes

### _fieldsTables

    protected FieldsTables _fieldsTables

  Holds the fields PLCFs

### _fields

    protected Fields _fields

  Holds the fields

Constructor Detail

### HWPFDocument

    protected HWPFDocument()

### HWPFDocument

    public HWPFDocument(java.io.InputStream istream)
                 throws java.io.IOException

  This constructor loads a Word document from an InputStream.

  Parameters:
    `istream` - The InputStream that contains the Word document.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in InputStream.

### HWPFDocument

    public HWPFDocument(POIFSFileSystem pfilesystem)
                 throws java.io.IOException

  This constructor loads a Word document from a POIFSFileSystem

  Parameters:
    `pfilesystem` - The POIFSFileSystem that contains the Word document.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in POIFSFileSystem.

### HWPFDocument

    public HWPFDocument(DirectoryNode directory)
                 throws java.io.IOException

  This constructor loads a Word document from a specific point in a POIFSFileSystem, probably not the default. Used typically to open embeded documents.

  Parameters:
    `directory` - The DirectoryNode that contains the Word document.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in POIFSFileSystem.

Method Detail

### getTextTable

    @Internal
    public TextPieceTable getTextTable()

  Specified by:
    `getTextTable` in class `HWPFDocumentCore`

### getText

    @Internal
    public java.lang.StringBuilder getText()

  Description copied from class: `HWPFDocumentCore`
  Internal method to access document text

  Specified by:
    `getText` in class `HWPFDocumentCore`

### getDocProperties

    public DocumentProperties getDocProperties()

### getOverallRange

    public Range getOverallRange()

  Description copied from class: `HWPFDocumentCore`
  Returns the range that covers all text in the file, including main text, footnotes, headers and comments

  Specified by:
    `getOverallRange` in class `HWPFDocumentCore`

### getRange

    public Range getRange()

  Returns the range which covers the whole of the document, but excludes any headers and footers.

  Specified by:
    `getRange` in class `HWPFDocumentCore`

### getFootnoteRange

    public Range getFootnoteRange()

  Returns the `Range` which covers all the Footnotes.

  Returns:
    the `Range` which covers all the Footnotes.

### getEndnoteRange

    public Range getEndnoteRange()

  Returns the `Range` which covers all endnotes.

  Returns:
    the `Range` which covers all endnotes.

### getCommentsRange

    public Range getCommentsRange()

  Returns the `Range` which covers all annotations.

  Returns:
    the `Range` which covers all annotations.

### getMainTextboxRange

    public Range getMainTextboxRange()

  Returns the `Range` which covers all textboxes.

  Returns:
    the `Range` which covers all textboxes.

### getHeaderStoryRange

    public Range getHeaderStoryRange()

  Returns the range which covers all "Header Stories". A header story contains a header, footer, end note separators and footnote separators.

### characterLength

    public int characterLength()

  Returns the character length of a document.

  Returns:
    the character length of a document

### getSavedByTable

    @Internal
    public SavedByTable getSavedByTable()

  Gets a reference to the saved -by table, which holds the save history for the document.

  Returns:
    the saved-by table.

### getRevisionMarkAuthorTable

    @Internal
    public RevisionMarkAuthorTable getRevisionMarkAuthorTable()

  Gets a reference to the revision mark author table, which holds the revision mark authors for the document.

  Returns:
    the saved-by table.

### getPicturesTable

    public PicturesTable getPicturesTable()

  Returns:
    PicturesTable object, that is able to extract images from this document

### getEscherRecordHolder

    @Internal
    public EscherRecordHolder getEscherRecordHolder()

### getOfficeDrawingsHeaders

    public OfficeDrawings getOfficeDrawingsHeaders()

### getOfficeDrawingsMain

    public OfficeDrawings getOfficeDrawingsMain()

### getBookmarks

    public Bookmarks getBookmarks()

  Returns:
    user-friendly interface to access document bookmarks

### getEndnotes

    public Notes getEndnotes()

  Returns:
    user-friendly interface to access document endnotes

### getFootnotes

    public Notes getFootnotes()

  Returns:
    user-friendly interface to access document footnotes

### getFieldsTables

    @Deprecated
    @Internal
    public FieldsTables getFieldsTables()

  Deprecated. POI 3.8.

  Returns:
    FieldsTables object, that is able to extract fields descriptors from this document

### getFields

    public Fields getFields()

  Returns user-friendly interface to access document `Field`s

  Returns:
    user-friendly interface to access document `Field`s

### write

    public void write()
               throws java.io.IOException

  Write out the word file that is represented by this class, to the currently open `File`, via the writeable `POIFSFileSystem` it was opened as.

  This will fail (with an `IllegalStateException` if the Document was opened read-only, opened from an `InputStream` instead of a File, or if this is not the root document. For those cases, you must use `write(OutputStream)` or `write(File)` to write to a brand new document.

  Specified by:
    `write` in class `POIDocument`
  Throws:
    `java.io.IOException` - thrown on errors writing to the file
  Since:
    3.15

### write

    public void write(java.io.File newFile)
               throws java.io.IOException

  Writes out the word file that is represented by an instance of this class. If the `File` exists, it will be replaced, otherwise a new one will be created

  Specified by:
    `write` in class `POIDocument`
  Parameters:
    `newFile` - The File to write to.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from writing to the File.
  Since:
    3.15 beta 3

### write

    public void write(java.io.OutputStream out)
               throws java.io.IOException

  Writes out the word file that is represented by an instance of this class. For better performance when writing to files, use `write(File)`. If `stream` has a high cost/latency associated with each written byte, consider wrapping the OutputStream in a `BufferedOutputStream` to improve write performance.

  Specified by:
    `write` in class `POIDocument`
  Parameters:
    `out` - The OutputStream to write to.
  Throws:
    `java.io.IOException` - If there is an unexpected IOException from the passed in OutputStream.

### getDataStream

    @Internal
    public byte[] getDataStream()

### getTableStream

    @Internal
    public byte[] getTableStream()

### registerList

    public int registerList(HWPFList list)

### delete

    public void delete(int start,
                       int length)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 2017 The Apache Software Foundation or its licensors, as applicable.