## org.apache.poi.xwpf.usermodel
Class XWPFHeaderFooter

    java.lang.Object
      org.apache.poi.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

Field Summary

Fields inherited from class org.apache.poi.POIXMLDocumentPart
`DEFAULT_XML_OPTIONS`

Constructor Summary
`protected` `XWPFHeaderFooter()`
`` `XWPFHeaderFooter(POIXMLDocumentPart parent, PackagePart part, PackageRelationship rel)`

Method Summary
`org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr` `_getHdrFtr()`
`java.lang.String` `addPictureData(byte[] pictureData, int format)` Adds a picture to the document.
`java.lang.String` `addPictureData(java.io.InputStream is, int format)` Adds a picture to the document.
`java.util.List<XWPFPictureData>` `getAllPackagePictures()` get all Pictures in this package
`java.util.List<XWPFPictureData>` `getAllPictures()`
`java.util.List<IBodyElement>` `getBodyElements()` Returns an Iterator with paragraphs and tables, in the order that they occur in the text.
`java.util.List<XWPFParagraph>` `getListParagraph()` get a List of all Paragraphs
`POIXMLDocumentPart` `getOwner()`
`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
`XWPFParagraph` `getParagraphArray(int pos)` Returns the paragraph that holds the text of the header or footer.
`java.util.List<XWPFParagraph>` `getParagraphs()` Returns the paragraph(s) that holds the text of the header or footer.
`POIXMLDocumentPart` `getPart()` returns the Part, to which the body belongs, which you need for adding relationship to other parts
`XWPFPictureData` `getPictureDataByID(java.lang.String blipID)` returns the PictureData by blipID
`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
`XWPFTable` `getTableArray(int pos)` Returns the table at position pos
`XWPFTableCell` `getTableCell(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc cell)` get the TableCell which belongs to the TableCell
`java.util.List<XWPFTable>` `getTables()` Return the table(s) that holds the text of the header or footer, for complex cases where a paragraph isn't used.
`java.lang.String` `getText()` Returns the textual content of the header/footer, by flattening out the text of its paragraph(s)
`XWPFDocument` `getXWPFDocument()` Return XWPFDocument
`XWPFParagraph` `insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)` add a new paragraph at position of the cursor
`XWPFTable` `insertNewTbl(org.apache.xmlbeans.XmlCursor cursor)` inserts a new Table at the cursor position.
`void` `insertTable(int pos, XWPFTable table)` inserts an existing XWPFTable to the arrays bodyElements and tables
`protected void` `onDocumentRead()` Fired when a package part is read
`void` `readHdrFtr()`
`void` `setHeaderFooter(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr headerFooter)` set a new headerFooter
`void` `setXWPFDocument(XWPFDocument doc)`

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`addRelation, commit, createRelationship, createRelationship, createRelationship, getPackagePart, getPackageRelationship, getParent, getRelationById, getRelationId, getRelations, getTargetPart, onDocumentCreate, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, toString`

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

Methods inherited from interface org.apache.poi.xwpf.usermodel.IBody
`getPartType`

Constructor Detail

### XWPFHeaderFooter

    protected XWPFHeaderFooter()

### XWPFHeaderFooter

    public XWPFHeaderFooter(POIXMLDocumentPart parent,
                            PackagePart part,
                            PackageRelationship rel)
                     throws java.io.IOException

Throws:
  `java.io.IOException`

Method Detail

### onDocumentRead

    protected void onDocumentRead()
                           throws java.io.IOException

  Description copied from class: `POIXMLDocumentPart`
  Fired when a package part is read

  Overrides:
    `onDocumentRead` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException`

### _getHdrFtr

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

### getBodyElements

    public java.util.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 java.util.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 java.util.List<XWPFTable> getTables()
                                        throws java.lang.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:
    `java.lang.ArrayIndexOutOfBoundsException`

### getText

    public java.lang.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 java.util.List<XWPFParagraph> getListParagraph()

  get a List of all Paragraphs

  Returns:
    a list of `XWPFParagraph`

### getAllPictures

    public java.util.List<XWPFPictureData> getAllPictures()

### getAllPackagePictures

    public java.util.List<XWPFPictureData> getAllPackagePictures()

  get all Pictures in this package

  Returns:
    all Pictures in this package

### addPictureData

    public java.lang.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`

### addPictureData

    public java.lang.String addPictureData(java.io.InputStream is,
                                           int format)
                                    throws InvalidFormatException,
                                           java.io.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`
    `java.io.IOException`

### getPictureDataByID

    public XWPFPictureData getPictureDataByID(java.lang.String blipID)

  returns the PictureData by blipID

  Parameters:
    `blipID` -
  Returns:
    XWPFPictureData of a specificID
  Throws:
    `java.lang.Exception`

### 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:
    `IBody.getTableArray(int)`

### 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` -

### setXWPFDocument

    public void setXWPFDocument(XWPFDocument doc)

### getXWPFDocument

    public XWPFDocument getXWPFDocument()

  Description copied from interface: `IBody`
  Return XWPFDocument

  Specified by:
    `getXWPFDocument` in interface `IBody`

### 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:
    `IBody.getPart()`

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