Class XWPFStyles

java.lang.Object
org.apache.poi.ooxml.POIXMLDocumentPart
org.apache.poi.xwpf.usermodel.XWPFStyles

public class XWPFStyles extends POIXMLDocumentPart
Holds details of built-in, default and user styles, which apply to tables / paragraphs / lists etc. Text within one of those with custom stylings has the style information stored in the XWPFRun
  • Constructor Details

    • XWPFStyles

      public XWPFStyles(PackagePart part)
      Construct XWPFStyles from a package part
      Parameters:
      part - the package part holding the data of the styles,
      Since:
      3.14-Beta1
    • XWPFStyles

      public XWPFStyles()
      Construct XWPFStyles from scratch for a new document.
  • Method Details

    • onDocumentRead

      protected void onDocumentRead() throws IOException
      Read document
      Overrides:
      onDocumentRead in class POIXMLDocumentPart
      Throws:
      IOException - a subclass may throw an IOException when a document is read
    • commit

      protected void commit() throws IOException
      Description copied from class: POIXMLDocumentPart
      Save the content in the underlying package part. Default implementation is empty meaning that the package part is left unmodified.

      Sub-classes should override and add logic to marshal the "model" into Ooxml4J.

      For example, the code saving a generic XML entry may look as follows:

       protected void commit() throws IOException {
         PackagePart part = getPackagePart();
         try (OutputStream out = part.getOutputStream()) {
           XmlObject bean = getXmlBean(); //the "model" which holds changes in memory
           bean.save(out, DEFAULT_XML_OPTIONS);
         }
       }
       
      Overrides:
      commit in class POIXMLDocumentPart
      Throws:
      IOException - a subclass may throw an IOException if the changes can't be committed
    • ensureDocDefaults

      protected void ensureDocDefaults()
    • setStyles

      public void setStyles(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles styles)
      Sets the ctStyles
      Parameters:
      styles - The CTStyles object to set
    • getCtStyles

      public org.openxmlformats.schemas.wordprocessingml.x2006.main.CTStyles getCtStyles()
      Gets the underlying CTStyles object for the Styles.
      Returns:
      CTStyles object
      Since:
      5.4.0
    • getStyles

      public List<XWPFStyle> getStyles()
      Get the list of XWPFStyle in the Styles part.
      Since:
      5.4.0
    • removeStyle

      public boolean removeStyle(int pos)
      Remove the specified style if present.
      Parameters:
      pos - Array position of the style to be removed
      Returns:
      True if the style was removed.
      Since:
      5.4.0
    • styleExist

      public boolean styleExist(String styleID)
      checks whether style with styleID exist
      Parameters:
      styleID - styleID of the Style in the style-Document
      Returns:
      true if style exist, false if style not exist
    • addStyle

      public void addStyle(XWPFStyle style)
      add a style to the document
      Parameters:
      style - The style to add
    • getStyle

      public XWPFStyle getStyle(String styleID)
      Get style by a styleID
      Parameters:
      styleID - styleID of the searched style
      Returns:
      style
    • getNumberOfStyles

      public int getNumberOfStyles()
    • getUsedStyleList

      public List<XWPFStyle> getUsedStyleList(XWPFStyle style)
      get the styles which are related to the parameter style and their relatives this method can be used to copy all styles from one document to another document
      Parameters:
      style - The style to look for
      Returns:
      a list of all styles which were used by this method
    • getCTLanguage

      protected org.openxmlformats.schemas.wordprocessingml.x2006.main.CTLanguage getCTLanguage()
    • setSpellingLanguage

      public void setSpellingLanguage(String strSpellingLanguage)
      Sets the default spelling language on ctStyles DocDefaults parameter
      Parameters:
      strSpellingLanguage - the default spelling language to use
    • setEastAsia

      public void setEastAsia(String strEastAsia)
      Sets the default East Asia spelling language on ctStyles DocDefaults parameter
      Parameters:
      strEastAsia - The default East Asia spelling language to use
    • setDefaultFonts

      public void setDefaultFonts(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTFonts fonts)
      Sets the default font on ctStyles DocDefaults parameter TODO Replace this with specific setters for each type, possibly on XWPFDefaultRunStyle
    • getStyleWithSameName

      public XWPFStyle getStyleWithSameName(XWPFStyle style)
      get the style with the same name if this style is not existing, return null
    • getDefaultRunStyle

      public XWPFDefaultRunStyle getDefaultRunStyle()
      Get the default style which applies text runs in the document
    • getDefaultParagraphStyle

      public XWPFDefaultParagraphStyle getDefaultParagraphStyle()
      Get the default paragraph style which applies to the document
    • getLatentStyles

      public XWPFLatentStyles getLatentStyles()
      Get the definition of all the Latent Styles
    • getStyleWithName

      public XWPFStyle getStyleWithName(String styleName)
      Get the style with the specified name, if any.
      Parameters:
      styleName - The name of the style to get, e.g., "Heading 1"
      Returns:
      XWPFStyle with the specified name, or null if not found.