Class HWPFDocument

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public final class HWPFDocument
    extends HWPFDocumentCore
    This class acts as the bucket that we throw all of the Word data structures into.
    • Constructor Detail

      • HWPFDocument

        public HWPFDocument​(InputStream istream)
                     throws IOException
        This constructor loads a Word document from an InputStream.
        Parameters:
        istream - The InputStream that contains the Word document.
        Throws:
        IOException - If there is an unexpected IOException from the passed in InputStream.
      • HWPFDocument

        public HWPFDocument​(POIFSFileSystem pfilesystem)
                     throws IOException
        This constructor loads a Word document from a POIFSFileSystem
        Parameters:
        pfilesystem - The POIFSFileSystem that contains the Word document.
        Throws:
        IOException - If there is an unexpected IOException from the passed in POIFSFileSystem.
      • HWPFDocument

        public HWPFDocument​(DirectoryNode directory)
                     throws 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:
        IOException - If there is an unexpected IOException from the passed in POIFSFileSystem.
    • Method Detail

      • 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
      • 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 Fields
        Returns:
        user-friendly interface to access document Fields
      • write

        public void write​(File newFile)
                   throws 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:
        IOException - If there is an unexpected IOException from writing to the File.
        Since:
        3.15 beta 3
      • write

        public void write​(OutputStream out)
                   throws 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:
        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)