Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

    java.lang.Object
      org.apache.poi.POIXMLDocumentPart
          org.apache.poi.POIXMLDocument
              org.apache.poi.xwpf.usermodel.XWPFDocument

All Implemented Interfaces:
  java.io.Closeable, Document, IBody

    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.POIXMLDocumentPart
`POIXMLDocumentPart.RelationPart`

Field Summary
`protected java.util.List<IBodyElement>` | `bodyElements`
`protected java.util.List<XWPFComment>` | `comments`
`protected java.util.List<XWPFSDT>` | `contentControls`
`protected java.util.Map<java.lang.Integer,XWPFFootnote>` | `endnotes`
`protected java.util.List<XWPFFooter>` | `footers`
`protected XWPFFootnotes` | `footnotes`
`protected java.util.List<XWPFHeader>` | `headers`
`protected java.util.List<XWPFHyperlink>` | `hyperlinks`
`protected XWPFNumbering` | `numbering`
`protected java.util.Map<java.lang.Long,java.util.List<XWPFPictureData>>` | `packagePictures`
`protected java.util.List<XWPFParagraph>` | `paragraphs`
`protected java.util.List<XWPFPictureData>` | `pictures`
`protected XWPFStyles` | `styles`
`protected java.util.List<XWPFTable>` | `tables`

Fields inherited from class org.apache.poi.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
`XWPFDocument()`
`XWPFDocument(java.io.InputStream is)`
`XWPFDocument(OPCPackage pkg)`

Method Summary
`XWPFFootnote` | `addEndnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)`
`XWPFFootnote` | `addFootnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)`
`java.lang.String` | `addPictureData(byte[] pictureData, int format)`
`java.lang.String` | `addPictureData(java.io.InputStream is, int format)`
`protected void` | `commit()` commit and saves the document
`XWPFFooter` | `createFooter(HeaderFooterType type)` Create a footer of the given type
`XWPFFootnotes` | `createFootnotes()` Creates an empty footnotes element for the document if one does not already exist
`XWPFHeader` | `createHeader(HeaderFooterType type)` Create a header of the given type
`XWPFHeaderFooterPolicy` | `createHeaderFooterPolicy()`
`XWPFNumbering` | `createNumbering()` Creates an empty numbering if one does not already exist and sets the numbering member
`XWPFParagraph` | `createParagraph()` Appends a new paragraph to this document
`XWPFStyles` | `createStyles()` Creates an empty styles for the document if one does not already exist
`XWPFTable` | `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 specified
`void` | `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.xml
`void` | `enforceCommentsProtection(java.lang.String password, HashAlgorithm hashAlgo)` Enforce the Comments protection. sample snippet from settings.xml
`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
`void` | `enforceFillingFormsProtection(java.lang.String password, HashAlgorithm hashAlgo)` Enforce the Filling Forms protection. sample snippet from settings.xml
`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
`void` | `enforceReadonlyProtection(java.lang.String password, HashAlgorithm hashAlgo)` Enforces the readOnly protection with a password. sample snippet from settings.xml
`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
`void` | `enforceTrackedChangesProtection(java.lang.String password, HashAlgorithm hashAlgo)` Enforce the Tracked Changes protection. sample snippet from settings.xml
`void` | `enforceUpdateFields()` Enforces fields update on document open (in Word).
`java.util.List<PackagePart>` | `getAllEmbedds()` 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 tables
`java.util.Iterator<IBodyElement>` | `getBodyElementsIterator()`
`XWPFComment` | `getCommentByID(java.lang.String id)`
`XWPFComment[]` | `getComments()`
`org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1` | `getDocument()` Returns the low level document base object
`XWPFFootnote` | `getEndnoteByID(int id)`
`XWPFFooter` | `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()`
`int` | `getNextPicNameNumber(int format)` get the next free ImageNumber
`XWPFNumbering` | `getNumbering()` getNumbering
`XWPFParagraph` | `getParagraph(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)` get the paragraph with the CTP class p
`XWPFParagraph` | `getParagraphArray(int pos)` Returns the paragraph that of position pos
`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
`java.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 blipID
`int` | `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.
`org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles` | `getStyle()` Returns the styles object used
`XWPFStyles` | `getStyles()` get Styles
`XWPFTable` | `getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTbl)` get a table by its CTTbl-Object
`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
`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
`java.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 XWPFDocument
`long` | `getZoomPercent()` Returns the current zoom factor in percent values, i.e.
`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
`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
`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
`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
`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
`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
`boolean` | `isEnforcedUpdateFields()`
`boolean` | `isTrackRevisions()` Check if revision tracking is turned on.
`protected static OPCPackage` | `newPackage()` Create a new WordProcessingML package and setup the default minimal content
`protected void` | `onDocumentCreate()` Create a new CTWorkbook with all values set to default
`protected void` | `onDocumentRead()` Fired when a package part is read
`boolean` | `removeBodyElement(int pos)` remove a BodyElement from bodyElements array list
`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` | `setParagraph(XWPFParagraph paragraph, int pos)` copies content of a paragraph to a existing paragraph in the list paragraphs at position pos
`void` | `setTable(int pos, XWPFTable table)` Replace content of table in array tables at position pos with a
`void` | `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.POIXMLDocument
`close, getCorePart, getPackage, getProperties, getRelatedByType, load, openPackage, write`

Methods inherited from class org.apache.poi.POIXMLDocumentPart
`_invokeOnDocumentRead, addRelation, createRelationship, createRelationship, createRelationship, getNextPartNumber, getPackagePart, getParent, getRelationById, getRelationId, getRelationParts, getRelations, getTargetPart, onDocumentRemove, onSave, prepareForCommit, read, rebase, removeRelation, removeRelation, toString`

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

Field Detail

### footers

    protected java.util.List<XWPFFooter> footers

### headers

    protected java.util.List<XWPFHeader> headers

### comments

    protected java.util.List<XWPFComment> comments

### hyperlinks

    protected java.util.List<XWPFHyperlink> hyperlinks

### paragraphs

    protected java.util.List<XWPFParagraph> paragraphs

### tables

    protected java.util.List<XWPFTable> tables

### contentControls

    protected java.util.List<XWPFSDT> contentControls

### bodyElements

    protected java.util.List<IBodyElement> bodyElements

### pictures

    protected java.util.List<XWPFPictureData> pictures

### packagePictures

    protected java.util.Map<java.lang.Long,java.util.List<XWPFPictureData>> packagePictures

### endnotes

    protected java.util.Map<java.lang.Integer,XWPFFootnote> endnotes

### numbering

    protected XWPFNumbering numbering

### styles

    protected XWPFStyles styles

### footnotes

    protected XWPFFootnotes footnotes

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

### newPackage

    protected static OPCPackage newPackage()

  Create a new WordProcessingML package and setup the default minimal content

### 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` - a subclass may throw an IOException when a document is read

### onDocumentCreate

    protected void onDocumentCreate()

  Create a new CTWorkbook with all values set to default

  Overrides:
    `onDocumentCreate` in class `POIXMLDocumentPart`

### getDocument

    @Internal
    public org.openxmlformats.schemas.wordprocessingml.x2006.main.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 interface `IBody`
  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 interface `IBody`
  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 interface `IBody`
  See Also:
    `IBody.getTables()`

### getTableArray

    public XWPFTable getTableArray(int pos)

  Description copied from interface: `IBody`
  Returns the table at position pos

  Specified by:
    `getTableArray` in interface `IBody`
  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 XWPFFootnote 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 org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles getStyle()
                                                                             throws org.apache.xmlbeans.XmlException,
                                                                                    java.io.IOException

  Returns the styles object used

  Throws:
    `org.apache.xmlbeans.XmlException`
    `java.io.IOException`

### getAllEmbedds

    public java.util.List<PackagePart> getAllEmbedds()
                                              throws OpenXML4JException

  Get the document's embedded files.

  Specified by:
    `getAllEmbedds` in class `POIXMLDocument`
  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(org.apache.xmlbeans.XmlCursor cursor)

  Add a new paragraph at position of the cursor. The cursor must be on the `XmlCursor.TokenType.START` tag of an subelement of the documents body. When this method is done, the cursor passed as parameter points to the `XmlCursor.TokenType.END` of the newly inserted paragraph.

  Specified by:
    `insertNewParagraph` in interface `IBody`
  Parameters:
    `cursor` -
  Returns:
    the `XWPFParagraph` object representing the newly inserted CTP object

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

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

### commit

    protected void commit()
                   throws java.io.IOException

  commit and saves the document

  Overrides:
    `commit` in class `POIXMLDocumentPart`
  Throws:
    `java.io.IOException` - a subclass may throw an IOException if the changes can't be committed

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

    public XWPFFootnote addFootnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)

### addEndnote

    public XWPFFootnote addEndnote(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFtnEdn note)

### 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 applied
    `hashAlgo` - 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 applied
    `hashAlgo` - 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 applied
    `hashAlgo` - 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 applied
    `hashAlgo` - 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.

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

### getAllPictures

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

  Returns all Pictures, which are referenced from the document itself.

  Returns:
    a `List` of `XWPFPictureData`. The returned `List` 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`

### 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(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTP p)

  get the paragraph with the CTP class p

  Specified by:
    `getParagraph` in interface `IBody`
  Parameters:
    `p` -
  Returns:
    the paragraph with the CTP class p

### getTable

    public XWPFTable getTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl ctTbl)

  get a table by its CTTbl-Object

  Specified by:
    `getTable` in interface `IBody`
  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 interface `IBody`
  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 interface `IBody`
  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 interface `IBody`
  Returns:
    the PartType of the body
  See Also:
    `IBody.getPartType()`

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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