Package org.apache.poi.xwpf.usermodel
Class XWPFDocument
- java.lang.Object
-
- org.apache.poi.ooxml.POIXMLDocumentPart
-
- org.apache.poi.ooxml.POIXMLDocument
-
- org.apache.poi.xwpf.usermodel.XWPFDocument
-
public class XWPFDocument extends POIXMLDocument implements Document, IBody
High(ish) level class for working with .docx files.
This class tries to hide some of the complexity of the underlying file format, but as it's not a mature and stable API yet, certain parts of the XML structure come through. You'll therefore almost certainly need to refer to the OOXML specifications from http://www.ecma-international.org/publications/standards/Ecma-376.htm at some point in your use.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
POIXMLDocumentPart.RelationPart
-
-
Field Summary
-
Fields inherited from class org.apache.poi.ooxml.POIXMLDocument
DOCUMENT_CREATOR, OLE_OBJECT_REL_TYPE, PACK_OBJECT_REL_TYPE
-
Fields inherited from interface org.apache.poi.xwpf.usermodel.Document
PICTURE_TYPE_BMP, PICTURE_TYPE_DIB, PICTURE_TYPE_EMF, PICTURE_TYPE_EPS, PICTURE_TYPE_GIF, PICTURE_TYPE_JPEG, PICTURE_TYPE_PICT, PICTURE_TYPE_PNG, PICTURE_TYPE_TIFF, PICTURE_TYPE_WMF, PICTURE_TYPE_WPG
-
-
Constructor Summary
Constructors Constructor Description XWPFDocument()
XWPFDocument(java.io.InputStream is)
XWPFDocument(OPCPackage pkg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XWPFEndnote
addEndnote(CTFtnEdn note)
Add a CTFtnEdn endnote to the document.XWPFFootnote
addFootnote(CTFtnEdn note)
Add a CTFtnEdn footnote to the document.java.lang.String
addPictureData(byte[] pictureData, int format)
java.lang.String
addPictureData(java.io.InputStream is, int format)
XWPFChart
createChart()
This method is used to create template for chart XML no need to read MS-Word file and modify chartsXWPFChart
createChart(int width, int height)
This method is used to create template for chart XML no need to read MS-Word file and modify chartsXWPFEndnote
createEndnote()
Create a new end note and add it to the document.XWPFEndnotes
createEndnotes()
XWPFFooter
createFooter(HeaderFooterType type)
Create a footer of the given typeXWPFFootnote
createFootnote()
Create a new footnote and add it to the document.XWPFFootnotes
createFootnotes()
Creates an empty footnotes element for the document if one does not already existXWPFHeader
createHeader(HeaderFooterType type)
Create a header of the given typeXWPFHeaderFooterPolicy
createHeaderFooterPolicy()
XWPFNumbering
createNumbering()
Creates an empty numbering if one does not already exist and sets the numbering memberXWPFParagraph
createParagraph()
Appends a new paragraph to this documentXWPFStyles
createStyles()
Creates an empty styles for the document if one does not already existXWPFTable
createTable()
Create an empty table with one row and one column as default.XWPFTable
createTable(int rows, int cols)
Create an empty table with a number of rows and cols specifiedvoid
createTOC()
void
enforceCommentsProtection()
Enforce the Comments protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to comments (w:edit="comments")
sample snippet from settings.xmlvoid
enforceCommentsProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Comments protection.
sample snippet from settings.xmlvoid
enforceFillingFormsProtection()
Enforce the Filling Forms protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to forms (w:edit="forms")
sample snippet from settings.xmlvoid
enforceFillingFormsProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Filling Forms protection.
sample snippet from settings.xmlvoid
enforceReadonlyProtection()
Enforces the readOnly protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to readOnly (w:edit="readOnly")
sample snippet from settings.xmlvoid
enforceReadonlyProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforces the readOnly protection with a password.
sample snippet from settings.xmlvoid
enforceTrackedChangesProtection()
Enforce the Tracked Changes protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to trackedChanges (w:edit="trackedChanges")
sample snippet from settings.xmlvoid
enforceTrackedChangesProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Tracked Changes protection.
sample snippet from settings.xmlvoid
enforceUpdateFields()
Enforces fields update on document open (in Word).java.util.List<PackagePart>
getAllEmbeddedParts()
Get the document's embedded files.java.util.List<XWPFPictureData>
getAllPackagePictures()
java.util.List<XWPFPictureData>
getAllPictures()
Returns all Pictures, which are referenced from the document itself.java.util.List<IBodyElement>
getBodyElements()
returns an Iterator with paragraphs and tablesjava.util.Iterator<IBodyElement>
getBodyElementsIterator()
java.util.List<XWPFChart>
getCharts()
XWPFComment
getCommentByID(java.lang.String id)
XWPFComment[]
getComments()
CTDocument1
getDocument()
Returns the low level document base objectXWPFEndnote
getEndnoteByID(int id)
java.util.List<XWPFEndnote>
getEndnotes()
Gets the list of end notes for the document.boolean
getEvenAndOddHeadings()
Returns the even-and-odd-headings settingXWPFFooter
getFooterArray(int pos)
java.util.List<XWPFFooter>
getFooterList()
XWPFFootnote
getFootnoteByID(int id)
java.util.List<XWPFFootnote>
getFootnotes()
XWPFHeader
getHeaderArray(int pos)
XWPFHeaderFooterPolicy
getHeaderFooterPolicy()
Returns the policy on headers and footers, which also provides a way to get at them.java.util.List<XWPFHeader>
getHeaderList()
XWPFHyperlink
getHyperlinkByID(java.lang.String id)
XWPFHyperlink[]
getHyperlinks()
XWPFParagraph
getLastParagraph()
boolean
getMirrorMargins()
Returns the mirror margins settingint
getNextPicNameNumber(int format)
get the next free ImageNumberXWPFNumbering
getNumbering()
getNumberingXWPFParagraph
getParagraph(CTP p)
get the paragraph with the CTP class pXWPFParagraph
getParagraphArray(int pos)
Returns the paragraph that of position posint
getParagraphPos(int pos)
Look up the paragraph at the specified position in the body elements list and return this paragraphs position in the paragraphs listjava.util.List<XWPFParagraph>
getParagraphs()
Returns the paragraph(s) that holds the text of the header or footer.java.util.Iterator<XWPFParagraph>
getParagraphsIterator()
POIXMLDocumentPart
getPart()
returns the Part, to which the body belongs, which you need for adding relationship to other parts Actually it is needed of the class XWPFTableCell.PackagePart
getPartById(java.lang.String id)
Get the document part that's defined as the given relationship of the core document.BodyType
getPartType()
get the PartType of the body, for example DOCUMENT, HEADER, FOOTER, FOOTNOTE,XWPFPictureData
getPictureDataByID(java.lang.String blipID)
returns the PictureData by blipIDint
getPosOfParagraph(XWPFParagraph p)
Get the position of the paragraph, within the list of all the body elements.int
getPosOfTable(XWPFTable t)
Get the position of the table, within the list of all the body elements.CTStyles
getStyle()
Returns the styles object usedXWPFStyles
getStyles()
get StylesXWPFTable
getTable(CTTbl ctTbl)
get a table by its CTTbl-ObjectXWPFTable
getTableArray(int pos)
Returns the table at position posXWPFTableCell
getTableCell(CTTc cell)
get the TableCell which belongs to the TableCellint
getTablePos(int pos)
get with the position of a table in the bodyelement array list the position of this table in the table array listjava.util.List<XWPFTable>
getTables()
Return the table(s) that holds the text of the IBodyPart, for complex cases where a paragraph isn't used.java.util.Iterator<XWPFTable>
getTablesIterator()
java.lang.String
getTblStyle(XWPFTable table)
XWPFDocument
getXWPFDocument()
Return XWPFDocumentlong
getZoomPercent()
Returns the current zoom factor in percent values, i.e.XWPFParagraph
insertNewParagraph(XmlCursor cursor)
Add a new paragraph at position of the cursor.XWPFTable
insertNewTbl(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 tablesboolean
isEnforcedCommentsProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is comments (w:edit="comments")
sample snippet from settings.xmlboolean
isEnforcedFillingFormsProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is forms (w:edit="forms")
sample snippet from settings.xmlboolean
isEnforcedProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
sample snippet from settings.xmlboolean
isEnforcedReadonlyProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is readOnly (w:edit="readOnly")
sample snippet from settings.xmlboolean
isEnforcedTrackedChangesProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is trackedChanges (w:edit="trackedChanges")
sample snippet from settings.xmlboolean
isEnforcedUpdateFields()
boolean
isTrackRevisions()
Check if revision tracking is turned on.boolean
removeBodyElement(int pos)
remove a BodyElement from bodyElements array listboolean
removeEndnote(int pos)
Remove the specified end note if present.boolean
removeFootnote(int pos)
Remove the specified footnote if present.void
removeProtectionEnforcement()
Remove protection enforcement.
In the documentProtection tag inside settings.xml file
it sets the value of enforcement to "0" (w:enforcement="0")void
setEvenAndOddHeadings(boolean enable)
Sets the even-and-odd-headings settingvoid
setMirrorMargins(boolean enable)
Sets the mirror margins settingvoid
setParagraph(XWPFParagraph paragraph, int pos)
copies content of a paragraph to a existing paragraph in the list paragraphs at position posvoid
setTable(int pos, XWPFTable table)
Replace content of table in array tables at position pos with avoid
setTrackRevisions(boolean enable)
Enable or disable revision tracking.void
setZoomPercent(long zoomPercent)
Set the zoom setting as percent value, i.e.boolean
validateProtectionPassword(java.lang.String password)
Validates the existing password-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocument
close, getAllEmbedds, getPackage, getProperties, openPackage, write
-
Methods inherited from class org.apache.poi.ooxml.POIXMLDocumentPart
_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getPackagePart, getParent, getRelationById, getRelationId, getRelationPartById, getRelationParts, getRelations, isCommited, setCommited, toString
-
-
-
-
Constructor Detail
-
XWPFDocument
public XWPFDocument(OPCPackage pkg) throws java.io.IOException
- Throws:
java.io.IOException
-
XWPFDocument
public XWPFDocument(java.io.InputStream is) throws java.io.IOException
- Throws:
java.io.IOException
-
XWPFDocument
public XWPFDocument()
-
-
Method Detail
-
getDocument
@Internal public CTDocument1 getDocument()
Returns the low level document base object
-
getBodyElements
public java.util.List<IBodyElement> getBodyElements()
returns an Iterator with paragraphs and tables- Specified by:
getBodyElements
in interfaceIBody
- See Also:
IBody.getBodyElements()
-
getBodyElementsIterator
public java.util.Iterator<IBodyElement> getBodyElementsIterator()
-
getParagraphs
public java.util.List<XWPFParagraph> getParagraphs()
Description copied from interface:IBody
Returns the paragraph(s) that holds the text of the header or footer.- Specified by:
getParagraphs
in interfaceIBody
- See Also:
IBody.getParagraphs()
-
getTables
public java.util.List<XWPFTable> getTables()
Description copied from interface:IBody
Return the table(s) that holds the text of the IBodyPart, for complex cases where a paragraph isn't used.- Specified by:
getTables
in interfaceIBody
- See Also:
IBody.getTables()
-
getCharts
public java.util.List<XWPFChart> getCharts()
- Returns:
- list of XWPFCharts in this document
-
getTableArray
public XWPFTable getTableArray(int pos)
Description copied from interface:IBody
Returns the table at position pos- Specified by:
getTableArray
in interfaceIBody
- See Also:
IBody.getTableArray(int)
-
getFooterList
public java.util.List<XWPFFooter> getFooterList()
- Returns:
- the list of footers
-
getFooterArray
public XWPFFooter getFooterArray(int pos)
-
getHeaderList
public java.util.List<XWPFHeader> getHeaderList()
- Returns:
- the list of headers
-
getHeaderArray
public XWPFHeader getHeaderArray(int pos)
-
getTblStyle
public java.lang.String getTblStyle(XWPFTable table)
-
getHyperlinkByID
public XWPFHyperlink getHyperlinkByID(java.lang.String id)
-
getFootnoteByID
public XWPFFootnote getFootnoteByID(int id)
-
getEndnoteByID
public XWPFEndnote getEndnoteByID(int id)
-
getFootnotes
public java.util.List<XWPFFootnote> getFootnotes()
-
getHyperlinks
public XWPFHyperlink[] getHyperlinks()
-
getCommentByID
public XWPFComment getCommentByID(java.lang.String id)
-
getComments
public XWPFComment[] getComments()
-
getPartById
public PackagePart getPartById(java.lang.String id)
Get the document part that's defined as the given relationship of the core document.
-
getHeaderFooterPolicy
public XWPFHeaderFooterPolicy getHeaderFooterPolicy()
Returns the policy on headers and footers, which also provides a way to get at them.
-
createHeaderFooterPolicy
public XWPFHeaderFooterPolicy createHeaderFooterPolicy()
-
createHeader
public XWPFHeader createHeader(HeaderFooterType type)
Create a header of the given type- Parameters:
type
-HeaderFooterType
enum- Returns:
- object of type
XWPFHeader
-
createFooter
public XWPFFooter createFooter(HeaderFooterType type)
Create a footer of the given type- Parameters:
type
-HeaderFooterType
enum- Returns:
- object of type
XWPFFooter
-
getStyle
@Internal public CTStyles getStyle() throws XmlException, java.io.IOException
Returns the styles object used- Throws:
XmlException
java.io.IOException
-
getAllEmbeddedParts
public java.util.List<PackagePart> getAllEmbeddedParts() throws OpenXML4JException
Get the document's embedded files.- Specified by:
getAllEmbeddedParts
in classPOIXMLDocument
- Returns:
- the document's embedded files
- Throws:
OpenXML4JException
- if the embedded parts can't be determined
-
getParagraphPos
public int getParagraphPos(int pos)
Look up the paragraph at the specified position in the body elements list and return this paragraphs position in the paragraphs list- Parameters:
pos
- The position of the relevant paragraph in the body elements list- Returns:
- the position of the paragraph in the paragraphs list, if there is a paragraph at the position in the bodyelements list. Else it will return -1
-
getTablePos
public int getTablePos(int pos)
get with the position of a table in the bodyelement array list the position of this table in the table array list- Parameters:
pos
- position of the table in the bodyelement array list- Returns:
- if there is a table at the position in the bodyelement array list, else it will return null.
-
insertNewParagraph
public XWPFParagraph insertNewParagraph(XmlCursor cursor)
Add a new paragraph at position of the cursor. The cursor must be on theXmlCursor.TokenType.START
tag of an subelement of the documents body. When this method is done, the cursor passed as parameter points to theXmlCursor.TokenType.END
of the newly inserted paragraph.- Specified by:
insertNewParagraph
in interfaceIBody
- Parameters:
cursor
- The cursor-position where the new paragraph should be added.- Returns:
- the
XWPFParagraph
object representing the newly inserted CTP object
-
insertNewTbl
public XWPFTable insertNewTbl(XmlCursor cursor)
Description copied from interface:IBody
inserts a new Table at the cursor position.- Specified by:
insertNewTbl
in interfaceIBody
-
getPosOfParagraph
public int getPosOfParagraph(XWPFParagraph p)
Get the position of the paragraph, within the list of all the body elements.- Parameters:
p
- The paragraph to find- Returns:
- The location, or -1 if the paragraph couldn't be found
-
getPosOfTable
public int getPosOfTable(XWPFTable t)
Get the position of the table, within the list of all the body elements.- Parameters:
t
- The table to find- Returns:
- The location, or -1 if the table couldn't be found
-
createParagraph
public XWPFParagraph createParagraph()
Appends a new paragraph to this document- Returns:
- a new paragraph
-
createNumbering
public XWPFNumbering createNumbering()
Creates an empty numbering if one does not already exist and sets the numbering member- Returns:
- numbering
-
createStyles
public XWPFStyles createStyles()
Creates an empty styles for the document if one does not already exist- Returns:
- styles
-
createFootnotes
public XWPFFootnotes createFootnotes()
Creates an empty footnotes element for the document if one does not already exist- Returns:
- footnotes
-
addFootnote
@Internal public XWPFFootnote addFootnote(CTFtnEdn note)
Add a CTFtnEdn footnote to the document.- Parameters:
note
- CTFtnEnd to be added.- Returns:
- New
XWPFFootnote
-
addEndnote
@Internal public XWPFEndnote addEndnote(CTFtnEdn note)
Add a CTFtnEdn endnote to the document.- Parameters:
note
- CTFtnEnd to be added.- Returns:
- New
XWPFEndnote
-
removeBodyElement
public boolean removeBodyElement(int pos)
remove a BodyElement from bodyElements array list- Parameters:
pos
-- Returns:
- true if removing was successfully, else return false
-
setParagraph
public void setParagraph(XWPFParagraph paragraph, int pos)
copies content of a paragraph to a existing paragraph in the list paragraphs at position pos- Parameters:
paragraph
-pos
-
-
getLastParagraph
public XWPFParagraph getLastParagraph()
- Returns:
- the LastParagraph of the document
-
createTable
public XWPFTable createTable()
Create an empty table with one row and one column as default.- Returns:
- a new table
-
createTable
public XWPFTable createTable(int rows, int cols)
Create an empty table with a number of rows and cols specified- Parameters:
rows
-cols
-- Returns:
- table
-
createTOC
public void createTOC()
-
setTable
public void setTable(int pos, XWPFTable table)
Replace content of table in array tables at position pos with a- Parameters:
pos
-table
-
-
isEnforcedProtection
public boolean isEnforcedProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="readOnly" w:enforcement="1"/>
- Returns:
- true if documentProtection is enforced with option any
-
isEnforcedReadonlyProtection
public boolean isEnforcedReadonlyProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is readOnly (w:edit="readOnly")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="readOnly" w:enforcement="1"/>
- Returns:
- true if documentProtection is enforced with option readOnly
-
isEnforcedFillingFormsProtection
public boolean isEnforcedFillingFormsProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is forms (w:edit="forms")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="forms" w:enforcement="1"/>
- Returns:
- true if documentProtection is enforced with option forms
-
isEnforcedCommentsProtection
public boolean isEnforcedCommentsProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is comments (w:edit="comments")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="comments" w:enforcement="1"/>
- Returns:
- true if documentProtection is enforced with option comments
-
isEnforcedTrackedChangesProtection
public boolean isEnforcedTrackedChangesProtection()
Verifies that the documentProtection tag in settings.xml file
specifies that the protection is enforced (w:enforcement="1")
and that the kind of protection is trackedChanges (w:edit="trackedChanges")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="trackedChanges" w:enforcement="1"/>
- Returns:
- true if documentProtection is enforced with option trackedChanges
-
isEnforcedUpdateFields
public boolean isEnforcedUpdateFields()
-
enforceReadonlyProtection
public void enforceReadonlyProtection()
Enforces the readOnly protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to readOnly (w:edit="readOnly")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="readOnly" w:enforcement="1"/>
-
enforceReadonlyProtection
public void enforceReadonlyProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforces the readOnly protection with a password.
sample snippet from settings.xml<w:documentProtection w:edit="readOnly" w:enforcement="1" w:cryptProviderType="rsaAES" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="14" w:cryptSpinCount="100000" w:hash="..." w:salt="...." />
- Parameters:
password
- the plaintext password, if null no password will be appliedhashAlgo
- the hash algorithm - only md2, m5, sha1, sha256, sha384 and sha512 are supported. if null, it will default default to sha1
-
enforceFillingFormsProtection
public void enforceFillingFormsProtection()
Enforce the Filling Forms protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to forms (w:edit="forms")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="forms" w:enforcement="1"/>
-
enforceFillingFormsProtection
public void enforceFillingFormsProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Filling Forms protection.
sample snippet from settings.xml<w:documentProtection w:edit="forms" w:enforcement="1" w:cryptProviderType="rsaAES" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="14" w:cryptSpinCount="100000" w:hash="..." w:salt="...." />
- Parameters:
password
- the plaintext password, if null no password will be appliedhashAlgo
- the hash algorithm - only md2, m5, sha1, sha256, sha384 and sha512 are supported. if null, it will default default to sha1
-
enforceCommentsProtection
public void enforceCommentsProtection()
Enforce the Comments protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to comments (w:edit="comments")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="comments" w:enforcement="1"/>
-
enforceCommentsProtection
public void enforceCommentsProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Comments protection.
sample snippet from settings.xml<w:documentProtection w:edit="comments" w:enforcement="1" w:cryptProviderType="rsaAES" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="14" w:cryptSpinCount="100000" w:hash="..." w:salt="...." />
- Parameters:
password
- the plaintext password, if null no password will be appliedhashAlgo
- the hash algorithm - only md2, m5, sha1, sha256, sha384 and sha512 are supported. if null, it will default default to sha1
-
enforceTrackedChangesProtection
public void enforceTrackedChangesProtection()
Enforce the Tracked Changes protection.
In the documentProtection tag inside settings.xml file,
it sets the value of enforcement to "1" (w:enforcement="1")
and the value of edit to trackedChanges (w:edit="trackedChanges")
sample snippet from settings.xml<w:settings ... > <w:documentProtection w:edit="trackedChanges" w:enforcement="1"/>
-
enforceTrackedChangesProtection
public void enforceTrackedChangesProtection(java.lang.String password, HashAlgorithm hashAlgo)
Enforce the Tracked Changes protection.
sample snippet from settings.xml<w:documentProtection w:edit="trackedChanges" w:enforcement="1" w:cryptProviderType="rsaAES" w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="14" w:cryptSpinCount="100000" w:hash="..." w:salt="...." />
- Parameters:
password
- the plaintext password, if null no password will be appliedhashAlgo
- the hash algorithm - only md2, m5, sha1, sha256, sha384 and sha512 are supported. if null, it will default default to sha1
-
validateProtectionPassword
public boolean validateProtectionPassword(java.lang.String password)
Validates the existing password- Parameters:
password
-- Returns:
- true, only if password was set and equals, false otherwise
-
removeProtectionEnforcement
public void removeProtectionEnforcement()
Remove protection enforcement.
In the documentProtection tag inside settings.xml file
it sets the value of enforcement to "0" (w:enforcement="0")
-
enforceUpdateFields
public void enforceUpdateFields()
Enforces fields update on document open (in Word). In the settings.xml file
sets the updateSettings value to true (w:updateSettings w:val="true")NOTICES:
- Causing Word to ask on open: "This document contains fields that may refer to other files. Do you want to update the fields in this document?" (if "Update automatic links at open" is enabled)
- Flag is removed after saving with changes in Word
-
isTrackRevisions
public boolean isTrackRevisions()
Check if revision tracking is turned on.- Returns:
true
if revision tracking is turned on
-
setTrackRevisions
public void setTrackRevisions(boolean enable)
Enable or disable revision tracking.- Parameters:
enable
-true
to turn on revision tracking,false
to turn off revision tracking
-
getZoomPercent
public long getZoomPercent()
Returns the current zoom factor in percent values, i.e. 100 is normal zoom.- Returns:
- A percent value denoting the current zoom setting of this document.
-
setZoomPercent
public void setZoomPercent(long zoomPercent)
Set the zoom setting as percent value, i.e. 100 is normal zoom.- Parameters:
zoomPercent
- A percent value denoting the zoom setting for this document.
-
getEvenAndOddHeadings
public boolean getEvenAndOddHeadings()
Returns the even-and-odd-headings setting- Returns:
- True or false indicating whether or not separate even and odd headings is turned on.
-
setEvenAndOddHeadings
public void setEvenAndOddHeadings(boolean enable)
Sets the even-and-odd-headings setting- Parameters:
enable
- Set to true to turn on separate even and odd headings.
-
getMirrorMargins
public boolean getMirrorMargins()
Returns the mirror margins setting- Returns:
- True or false indicating whether or not mirror margins is turned on.
-
setMirrorMargins
public void setMirrorMargins(boolean enable)
Sets the mirror margins setting- Parameters:
enable
- Set to true to turn on mirror margins.
-
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
-
-
getAllPictures
public java.util.List<XWPFPictureData> getAllPictures()
Returns all Pictures, which are referenced from the document itself.- Returns:
- a
List
ofXWPFPictureData
. The returnedList
is unmodifiable. Use #a
-
getAllPackagePictures
public java.util.List<XWPFPictureData> getAllPackagePictures()
- Returns:
- all Pictures in this package
-
addPictureData
public java.lang.String addPictureData(byte[] pictureData, int format) throws InvalidFormatException
- Throws:
InvalidFormatException
-
addPictureData
public java.lang.String addPictureData(java.io.InputStream is, int format) throws InvalidFormatException
- Throws:
InvalidFormatException
-
getNextPicNameNumber
public int getNextPicNameNumber(int format) throws InvalidFormatException
get the next free ImageNumber- Parameters:
format
-- Returns:
- the next free ImageNumber
- Throws:
InvalidFormatException
- If the format of the picture is not known.
-
getPictureDataByID
public XWPFPictureData getPictureDataByID(java.lang.String blipID)
returns the PictureData by blipID- Parameters:
blipID
-- Returns:
- XWPFPictureData of a specificID
-
getNumbering
public XWPFNumbering getNumbering()
getNumbering- Returns:
- numbering
-
getStyles
public XWPFStyles getStyles()
get Styles- Returns:
- styles for this document
-
getParagraph
public XWPFParagraph getParagraph(CTP p)
get the paragraph with the CTP class p- Specified by:
getParagraph
in interfaceIBody
- Parameters:
p
-- Returns:
- the paragraph with the CTP class p
-
getTable
public XWPFTable getTable(CTTbl ctTbl)
get a table by its CTTbl-Object- Specified by:
getTable
in interfaceIBody
- Parameters:
ctTbl
-- Returns:
- a table by its CTTbl-Object or null
- See Also:
IBody.getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl)
-
getTablesIterator
public java.util.Iterator<XWPFTable> getTablesIterator()
-
getParagraphsIterator
public java.util.Iterator<XWPFParagraph> getParagraphsIterator()
-
getParagraphArray
public XWPFParagraph getParagraphArray(int pos)
Returns the paragraph that of position pos- Specified by:
getParagraphArray
in interfaceIBody
- See Also:
IBody.getParagraphArray(int)
-
getPart
public POIXMLDocumentPart getPart()
returns the Part, to which the body belongs, which you need for adding relationship to other parts Actually it is needed of the class XWPFTableCell. Because you have to know to which part the tableCell belongs.- Specified by:
getPart
in interfaceIBody
- Returns:
- the Part, to which the body belongs
- See Also:
IBody.getPart()
-
getPartType
public BodyType getPartType()
get the PartType of the body, for example DOCUMENT, HEADER, FOOTER, FOOTNOTE,- Specified by:
getPartType
in interfaceIBody
- Returns:
- the PartType of the body
- See Also:
IBody.getPartType()
-
getTableCell
public XWPFTableCell getTableCell(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
-
createChart
public XWPFChart createChart() throws InvalidFormatException, java.io.IOException
This method is used to create template for chart XML no need to read MS-Word file and modify charts- Returns:
- This method return object of XWPFChart Object with default height and width
- Throws:
InvalidFormatException
java.io.IOException
- Since:
- POI 4.0.0
-
createChart
public XWPFChart createChart(int width, int height) throws InvalidFormatException, java.io.IOException
This method is used to create template for chart XML no need to read MS-Word file and modify charts- Parameters:
width
- width of chart in documentheight
- height of chart in document- Returns:
- This method return object of XWPFChart
- Throws:
InvalidFormatException
java.io.IOException
- Since:
- POI 4.0.0
-
createFootnote
public XWPFFootnote createFootnote()
Create a new footnote and add it to the document.- Returns:
- New XWPFFootnote.
- Since:
- 4.0.0
-
removeFootnote
public boolean removeFootnote(int pos)
Remove the specified footnote if present.- Parameters:
pos
- Array position of the footnote to be removed.- Returns:
- True if the footnote was removed.
- Since:
- 4.0.0
-
createEndnote
public XWPFEndnote createEndnote()
Create a new end note and add it to the document.- Returns:
- New
XWPFEndnote
. - Since:
- 4.0.0
-
createEndnotes
public XWPFEndnotes createEndnotes()
-
getEndnotes
public java.util.List<XWPFEndnote> getEndnotes()
Gets the list of end notes for the document.- Returns:
- List, possibly empty, of
XWPFEndnote
s.
-
removeEndnote
public boolean removeEndnote(int pos)
Remove the specified end note if present.- Parameters:
pos
- Array position of the end note to be removed.- Returns:
- True if the end note was removed.
- Since:
- 4.0.0
-
-