Package org.apache.poi.xwpf.usermodel
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
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
XWPFHeaderFooter()
XWPFHeaderFooter(POIXMLDocumentPart parent, PackagePart part)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.void
clearHeaderFooter()
Clears all paragraphs and tables from this header / footerXWPFParagraph
createParagraph()
Adds a new paragraph at the end of the header or footerXWPFTable
createTable(int rows, int cols)
Adds a new table at the end of the header or footerjava.util.List<XWPFPictureData>
getAllPackagePictures()
get all Pictures in this packagejava.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 ParagraphsPOIXMLDocumentPart
getOwner()
XWPFParagraph
getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)
if there is a correspondingXWPFParagraph
of the parameter ctTable in the paragraphList of this header or footer the method will return this paragraph if there is no correspondingXWPFParagraph
the method will return nullXWPFParagraph
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 partsXWPFPictureData
getPictureDataByID(java.lang.String blipID)
returns the PictureData by blipIDXWPFTable
getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTable)
XWPFTable
getTableArray(int pos)
Returns the table at position posXWPFTableCell
getTableCell(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTc cell)
get the TableCell which belongs to the TableCelljava.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 XWPFDocumentXWPFParagraph
insertNewParagraph(org.apache.xmlbeans.XmlCursor cursor)
add a new paragraph at position of the cursorXWPFTable
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 tablesprotected void
onDocumentRead()
Fired when a package part is readprotected void
prepareForCommit()
Ensure that a memory based package part does not have lingering data from previous commit() calls.void
readHdrFtr()
void
removeParagraph(XWPFParagraph paragraph)
Removes a specific paragraph from this header / footervoid
removeTable(XWPFTable table)
Removes a specific table from this header / footervoid
setHeaderFooter(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtr headerFooter)
set a new headerFootervoid
setXWPFDocument(XWPFDocument doc)
-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, commit, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, getTargetPart, isCommited, onDocumentCreate, onDocumentRemove, onSave, read, rebase, removeRelation, removeRelation, removeRelation, setCommited, 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) throws java.io.IOException
- Throws:
java.io.IOException
- Since:
- by POI 3.14-Beta1
-
-
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 classPOIXMLDocumentPart
- Throws:
java.io.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 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 interfaceIBody
-
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 interfaceIBody
-
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.
-
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)
-
getParagraph
public XWPFParagraph getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)
if there is a correspondingXWPFParagraph
of the parameter ctTable in the paragraphList of this header or footer the method will return this paragraph if there is no correspondingXWPFParagraph
the method will return null- Specified by:
getParagraph
in interfaceIBody
- 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 interfaceIBody
-
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 dataformat
- 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 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 fromformat
- 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.java.io.IOException
- If reading the picture-data from the stream fails.
-
getPictureDataByID
public XWPFPictureData getPictureDataByID(java.lang.String blipID)
returns the PictureData by blipID- Parameters:
blipID
-- Returns:
- XWPFPictureData of a specificID
- Throws:
java.lang.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 tablecols
- - 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 interfaceIBody
- 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 interfaceIBody
- 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 interfaceIBody
- 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 interfaceIBody
- 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 interfaceIBody
- Parameters:
cell
-
-
getXWPFDocument
public XWPFDocument getXWPFDocument()
Description copied from interface:IBody
Return XWPFDocument- Specified by:
getXWPFDocument
in interfaceIBody
-
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 interfaceIBody
- Returns:
- the Part, to which the body belongs
- See Also:
IBody.getPart()
-
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 classPOIXMLDocumentPart
-
-