Class XWPFHeaderFooter

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xwpf.usermodel.XWPFHeaderFooter
All Implemented Interfaces:
IBody
Direct Known Subclasses:
XWPFFooter, XWPFHeader

public abstract class XWPFHeaderFooter extends POIXMLDocumentPart implements IBody
Parent of XWPF headers and footers
  • Constructor Details

  • Method Details

    • onDocumentRead

      protected void onDocumentRead() throws IOException
      Description copied from class: POIXMLDocumentPart
      Fired when a package part is read
      Overrides:
      onDocumentRead in class POIXMLDocumentPart
      Throws:
      IOException - a subclass may throw an IOException when a document is read
    • _getHdrFtr

      @Internal public org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr _getHdrFtr()
    • getBodyElements

      public List<IBodyElement> getBodyElements()
      Description copied from interface: IBody
      Returns an Iterator with paragraphs and tables, in the order that they occur in the text.
      Specified by:
      getBodyElements in interface IBody
    • getParagraphs

      public List<XWPFParagraph> getParagraphs()
      Returns the paragraph(s) that holds the text of the header or footer. Normally there is only the one paragraph, but there could be more in certain cases, or a table.
      Specified by:
      getParagraphs in interface IBody
    • getTables

      public List<XWPFTable> getTables() throws ArrayIndexOutOfBoundsException
      Return the table(s) that holds the text of the header or footer, for complex cases where a paragraph isn't used. Normally there's just one paragraph, but some complex headers/footers have a table or two in addition.
      Specified by:
      getTables in interface IBody
      Throws:
      ArrayIndexOutOfBoundsException
    • getText

      public String getText()
      Returns the textual content of the header/footer, by flattening out the text of its paragraph(s)
    • setHeaderFooter

      public void setHeaderFooter(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr headerFooter)
      set a new headerFooter
    • getTable

      public XWPFTable getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTable)
      if there is a corresponding XWPFTable of the parameter ctTable in the tableList of this header the method will return this table if there is no corresponding XWPFTable the method will return null
      Specified by:
      getTable in interface IBody
      Parameters:
      ctTable -
    • getParagraph

      public XWPFParagraph getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)
      if there is a corresponding XWPFParagraph of the parameter ctTable in the paragraphList of this header or footer the method will return this paragraph if there is no corresponding XWPFParagraph the method will return null
      Specified by:
      getParagraph in interface IBody
      Parameters:
      p - is instance of CTP and is searching for an XWPFParagraph
      Returns:
      null if there is no XWPFParagraph with an corresponding CTPparagraph in the paragraphList of this header or footer XWPFParagraph with the correspondig CTP p
    • getParagraphArray

      public XWPFParagraph getParagraphArray(int pos)
      Returns the paragraph that holds the text of the header or footer.
      Specified by:
      getParagraphArray in interface IBody
    • getListParagraph

      public List<XWPFParagraph> getListParagraph()
      get a List of all Paragraphs
      Returns:
      a list of XWPFParagraph
    • getAllPictures

      public List<XWPFPictureData> getAllPictures()
    • getAllPackagePictures

      public List<XWPFPictureData> getAllPackagePictures()
      get all Pictures in this package
      Returns:
      all Pictures in this package
    • addPictureData

      public String addPictureData(byte[] pictureData, int format) throws InvalidFormatException
      Adds a picture to the document.
      Parameters:
      pictureData - The picture data
      format - The format of the picture.
      Returns:
      the index to this picture (0 based), the added picture can be obtained from getAllPictures() .
      Throws:
      InvalidFormatException - If the format of the picture is not known.
    • addPictureData

      public String addPictureData(InputStream is, int format) throws InvalidFormatException, IOException
      Adds a picture to the document.
      Parameters:
      is - The stream to read image from
      format - The format of the picture.
      Returns:
      the index to this picture (0 based), the added picture can be obtained from getAllPictures() .
      Throws:
      InvalidFormatException - If the format of the picture is not known.
      IOException - If reading the picture-data from the stream fails.
    • getPictureDataByID

      public XWPFPictureData getPictureDataByID(String blipID)
      returns the PictureData by blipID
      Parameters:
      blipID -
      Returns:
      XWPFPictureData of a specificID
      Throws:
      Exception
    • createParagraph

      public XWPFParagraph createParagraph()
      Adds a new paragraph at the end of the header or footer
      Returns:
      new XWPFParagraph object
    • createTable

      public XWPFTable createTable(int rows, int cols)
      Adds a new table at the end of the header or footer
      Parameters:
      rows - - number of rows in the table
      cols - - number of columns in the table
      Returns:
      new XWPFTable object
    • removeParagraph

      public void removeParagraph(XWPFParagraph paragraph)
      Removes a specific paragraph from this header / footer
      Parameters:
      paragraph - - XWPFParagraph object to remove
    • removeTable

      public void removeTable(XWPFTable table)
      Removes a specific table from this header / footer
      Parameters:
      table - - XWPFTable object to remove
    • clearHeaderFooter

      public void clearHeaderFooter()
      Clears all paragraphs and tables from this header / footer
    • insertNewParagraph

      public XWPFParagraph insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)
      add a new paragraph at position of the cursor
      Specified by:
      insertNewParagraph in interface IBody
      Parameters:
      cursor -
      Returns:
      the inserted paragraph
    • insertNewTbl

      public XWPFTable insertNewTbl(org.apache.xmlbeans.XmlCursor cursor)
      Description copied from interface: IBody
      inserts a new Table at the cursor position.
      Specified by:
      insertNewTbl in interface IBody
      Parameters:
      cursor -
      Returns:
      the inserted table
    • getOwner

      public POIXMLDocumentPart getOwner()
    • getTableArray

      public XWPFTable getTableArray(int pos)
      Returns the table at position pos
      Specified by:
      getTableArray in interface IBody
      See Also:
    • insertTable

      public void insertTable(int pos, XWPFTable table)
      inserts an existing XWPFTable to the arrays bodyElements and tables
      Specified by:
      insertTable in interface IBody
      Parameters:
      pos -
      table -
    • readHdrFtr

      public void readHdrFtr()
    • getTableCell

      public XWPFTableCell getTableCell(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc cell)
      get the TableCell which belongs to the TableCell
      Specified by:
      getTableCell in interface IBody
      Parameters:
      cell -
    • getXWPFDocument

      public XWPFDocument getXWPFDocument()
      Description copied from interface: IBody
      Return XWPFDocument
      Specified by:
      getXWPFDocument in interface IBody
    • setXWPFDocument

      public void setXWPFDocument(XWPFDocument doc)
    • getPart

      public POIXMLDocumentPart getPart()
      returns the Part, to which the body belongs, which you need for adding relationship to other parts
      Specified by:
      getPart in interface IBody
      Returns:
      the Part, to which the body belongs
      See Also:
    • prepareForCommit

      protected void prepareForCommit()
      Description copied from class: POIXMLDocumentPart
      Ensure that a memory based package part does not have lingering data from previous commit() calls.

      Note: This is overwritten for some objects, as *PictureData seem to store the actual content in the part directly without keeping a copy like all others therefore we need to handle them differently.

      Overrides:
      prepareForCommit in class POIXMLDocumentPart