com.aspose.words

  • java.lang.Object
    • com.aspose.words.Style
  • All Implemented Interfaces:
    java.lang.Cloneable
    Direct Known Subclasses:
    TableStyle
    public class Style 
    extends java.lang.Object

Represents a single built-in or user-defined style.

Example:

Shows how to create and use a paragraph style with list formatting.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// Create a custom paragraph style.
Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle1");
style.getFont().setSize(24.0);
style.getFont().setName("Verdana");
style.getParagraphFormat().setSpaceAfter(12.0);

// Create a list and make sure the paragraphs that use this style will use this list.
style.getListFormat().setList(doc.getLists().add(ListTemplate.BULLET_DEFAULT));
style.getListFormat().setListLevelNumber(0);

// Apply the paragraph style to the document builder's current paragraph, and then add some text.
builder.getParagraphFormat().setStyle(style);
builder.writeln("Hello World: MyStyle1, bulleted list.");

// Change the document builder's style to one that has no list formatting and write another paragraph.
builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal"));
builder.writeln("Hello World: Normal.");

builder.getDocument().save(getArtifactsDir() + "Styles.ParagraphStyleBulletedList.docx");

Example:

Shows how to create and apply a custom style.
Document doc = new Document();

Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle");
style.getFont().setName("Times New Roman");
style.getFont().setSize(16.0);
style.getFont().setColor(Color.magenta);

DocumentBuilder builder = new DocumentBuilder(doc);

// Apply one of the styles from the document to the paragraph that the document builder is creating.
builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle"));
builder.writeln("Hello world!");

Style firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();

Assert.assertEquals(style, firstParagraphStyle);

// Remove our custom style from the document's styles collection.
doc.getStyles().get("MyStyle").remove();

firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();

// Any text that used a removed style reverts to the default formatting.
Assert.assertFalse(IterableUtils.matchesAny(doc.getStyles(), s -> s.getName() == "MyStyle"));
Assert.assertEquals("Times New Roman", firstParagraphStyle.getFont().getName());
Assert.assertEquals(12.0d, firstParagraphStyle.getFont().getSize());
Assert.assertEquals(0, firstParagraphStyle.getFont().getColor().getRGB());

Property Getters/Setters Summary
java.lang.String[]getAliases()
Gets all aliases of this style. If style has no aliases then empty array of string is returned.
java.lang.StringgetBaseStyleName()
void
setBaseStyleName(java.lang.Stringvalue)
           Gets/sets the name of the style this style is based on.
booleangetBuiltIn()
True if this style is one of the built-in styles in MS Word.
DocumentBasegetDocument()
Gets the owner document.
FontgetFont()
Gets the character formatting of the style.
booleanisHeading()
True when the style is one of the built-in Heading styles.
booleanisQuickStyle()
void
isQuickStyle(booleanvalue)
           Specifies whether this style is shown in the Quick Style gallery inside MS Word UI.
java.lang.StringgetLinkedStyleName()
Gets the name of the Style linked to this one. Returns Empty string if no styles are linked.
ListgetList()
Gets the list that defines formatting of this list style.
ListFormatgetListFormat()
Provides access to the list formatting properties of a paragraph style.
java.lang.StringgetName()
void
setName(java.lang.Stringvalue)
           Gets or sets the name of the style.
java.lang.StringgetNextParagraphStyleName()
void
setNextParagraphStyleName(java.lang.Stringvalue)
           Gets/sets the name of the style to be applied automatically to a new paragraph inserted after a paragraph formatted with the specified style.
ParagraphFormatgetParagraphFormat()
Gets the paragraph formatting of the style.
intgetStyleIdentifier()
Gets the locale independent style identifier for a built-in style. The value of the property is StyleIdentifier integer constant.
StyleCollectiongetStyles()
Gets the collection of styles this style belongs to.
intgetType()
Gets the style type (paragraph or character). The value of the property is StyleType integer constant.
 
Method Summary
booleanequals(Style style)
Compares with the specified style. Styles Istds are compared for built-in styles only. Styles defaults are not included in comparison. Base style, linked style and next paragraph style are recursively compared.
voidremove()
Removes the specified style from the document.
 

    • Property Getters/Setters Detail

      • getAliases

        public java.lang.String[] getAliases()
        
        Gets all aliases of this style. If style has no aliases then empty array of string is returned.

        Example:

        Shows how to use style aliases.
        Document doc = new Document(getMyDir() + "Style with alias.docx");
        
        // This document contains a style named "MyStyle,MyStyle Alias 1,MyStyle Alias 2".
        // If a style's name has multiple values separated by commas, each clause is a separate alias.
        Style style = doc.getStyles().get("MyStyle");
        Assert.assertEquals(new String[]{"MyStyle Alias 1", "MyStyle Alias 2"}, style.getAliases());
        Assert.assertEquals("Title", style.getBaseStyleName());
        Assert.assertEquals("MyStyle Char", style.getLinkedStyleName());
        
        // We can reference a style using its alias, as well as its name.
        Assert.assertEquals(doc.getStyles().get("MyStyle Alias 1"), doc.getStyles().get("MyStyle Alias 2"));
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.moveToDocumentEnd();
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 1"));
        builder.writeln("Hello world!");
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 2"));
        builder.write("Hello again!");
        
        Assert.assertEquals(doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getStyle(),
                doc.getFirstSection().getBody().getParagraphs().get(1).getParagraphFormat().getStyle());
      • getBaseStyleName/setBaseStyleName

        public java.lang.String getBaseStyleName() / public void setBaseStyleName(java.lang.String value)
        
        Gets/sets the name of the style this style is based on. This will be an empty string if the style is not based on any other style and it can be set to an empty string.

        Example:

        Shows how to use style aliases.
        Document doc = new Document(getMyDir() + "Style with alias.docx");
        
        // This document contains a style named "MyStyle,MyStyle Alias 1,MyStyle Alias 2".
        // If a style's name has multiple values separated by commas, each clause is a separate alias.
        Style style = doc.getStyles().get("MyStyle");
        Assert.assertEquals(new String[]{"MyStyle Alias 1", "MyStyle Alias 2"}, style.getAliases());
        Assert.assertEquals("Title", style.getBaseStyleName());
        Assert.assertEquals("MyStyle Char", style.getLinkedStyleName());
        
        // We can reference a style using its alias, as well as its name.
        Assert.assertEquals(doc.getStyles().get("MyStyle Alias 1"), doc.getStyles().get("MyStyle Alias 2"));
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.moveToDocumentEnd();
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 1"));
        builder.writeln("Hello world!");
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 2"));
        builder.write("Hello again!");
        
        Assert.assertEquals(doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getStyle(),
                doc.getFirstSection().getBody().getParagraphs().get(1).getParagraphFormat().getStyle());
      • getBuiltIn

        public boolean getBuiltIn()
        
        True if this style is one of the built-in styles in MS Word.

        Example:

        Shows how to differentiate custom styles from built-in styles.
        Document doc = new Document();
        
        // When we create a document using Microsoft Word, or programmatically using Aspose.Words,
        // the document will come with a collection of styles to apply to its text to modify its appearance.
        // We can access these built-in styles via the document's "Styles" collection.
        // These styles will all have the "BuiltIn" flag set to "true".
        Style style = doc.getStyles().get("Emphasis");
        
        Assert.assertTrue(style.getBuiltIn());
        
        // Create a custom style and add it to the collection.
        // Custom styles such as this will have the "BuiltIn" flag set to "false". 
        style = doc.getStyles().add(StyleType.CHARACTER, "MyStyle");
        style.getFont().setColor(Color.RED);
        style.getFont().setName("Courier New");
        
        Assert.assertFalse(style.getBuiltIn());
      • getDocument

        public DocumentBase getDocument()
        
        Gets the owner document.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
      • getFont

        public Font getFont()
        
        Gets the character formatting of the style.

        For list styles this property returns null.

        Example:

        Shows how to create and use a paragraph style with list formatting.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a custom paragraph style.
        Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle1");
        style.getFont().setSize(24.0);
        style.getFont().setName("Verdana");
        style.getParagraphFormat().setSpaceAfter(12.0);
        
        // Create a list and make sure the paragraphs that use this style will use this list.
        style.getListFormat().setList(doc.getLists().add(ListTemplate.BULLET_DEFAULT));
        style.getListFormat().setListLevelNumber(0);
        
        // Apply the paragraph style to the document builder's current paragraph, and then add some text.
        builder.getParagraphFormat().setStyle(style);
        builder.writeln("Hello World: MyStyle1, bulleted list.");
        
        // Change the document builder's style to one that has no list formatting and write another paragraph.
        builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal"));
        builder.writeln("Hello World: Normal.");
        
        builder.getDocument().save(getArtifactsDir() + "Styles.ParagraphStyleBulletedList.docx");

        Example:

        Shows how to create and apply a custom style.
        Document doc = new Document();
        
        Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle");
        style.getFont().setName("Times New Roman");
        style.getFont().setSize(16.0);
        style.getFont().setColor(Color.magenta);
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Apply one of the styles from the document to the paragraph that the document builder is creating.
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle"));
        builder.writeln("Hello world!");
        
        Style firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();
        
        Assert.assertEquals(style, firstParagraphStyle);
        
        // Remove our custom style from the document's styles collection.
        doc.getStyles().get("MyStyle").remove();
        
        firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();
        
        // Any text that used a removed style reverts to the default formatting.
        Assert.assertFalse(IterableUtils.matchesAny(doc.getStyles(), s -> s.getName() == "MyStyle"));
        Assert.assertEquals("Times New Roman", firstParagraphStyle.getFont().getName());
        Assert.assertEquals(12.0d, firstParagraphStyle.getFont().getSize());
        Assert.assertEquals(0, firstParagraphStyle.getFont().getColor().getRGB());
      • isHeading

        public boolean isHeading()
        
        True when the style is one of the built-in Heading styles.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
      • isQuickStyle/isQuickStyle

        public boolean isQuickStyle() / public void isQuickStyle(boolean value)
        
        Specifies whether this style is shown in the Quick Style gallery inside MS Word UI.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
      • getLinkedStyleName

        public java.lang.String getLinkedStyleName()
        
        Gets the name of the Style linked to this one. Returns Empty string if no styles are linked.

        Example:

        Shows how to use style aliases.
        Document doc = new Document(getMyDir() + "Style with alias.docx");
        
        // This document contains a style named "MyStyle,MyStyle Alias 1,MyStyle Alias 2".
        // If a style's name has multiple values separated by commas, each clause is a separate alias.
        Style style = doc.getStyles().get("MyStyle");
        Assert.assertEquals(new String[]{"MyStyle Alias 1", "MyStyle Alias 2"}, style.getAliases());
        Assert.assertEquals("Title", style.getBaseStyleName());
        Assert.assertEquals("MyStyle Char", style.getLinkedStyleName());
        
        // We can reference a style using its alias, as well as its name.
        Assert.assertEquals(doc.getStyles().get("MyStyle Alias 1"), doc.getStyles().get("MyStyle Alias 2"));
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.moveToDocumentEnd();
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 1"));
        builder.writeln("Hello world!");
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 2"));
        builder.write("Hello again!");
        
        Assert.assertEquals(doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getStyle(),
                doc.getFirstSection().getBody().getParagraphs().get(1).getParagraphFormat().getStyle());
      • getList

        public List getList()
        
        Gets the list that defines formatting of this list style.

        This property is only valid for list styles. For other style types this property returns null.

        Example:

        Shows how to create a list style and use it in a document.
        Document doc = new Document();
        
        // A list allows us to organize and decorate sets of paragraphs with prefix symbols and indents.
        // We can create nested lists by increasing the indent level. 
        // We can begin and end a list by using a document builder's "ListFormat" property. 
        // Each paragraph that we add between a list's start and the end will become an item in the list.
        // We can contain an entire List object within a style.
        Style listStyle = doc.getStyles().add(StyleType.LIST, "MyListStyle");
        
        List list1 = listStyle.getList();
        
        Assert.assertTrue(list1.isListStyleDefinition());
        Assert.assertFalse(list1.isListStyleReference());
        Assert.assertTrue(list1.isMultiLevel());
        Assert.assertEquals(listStyle, list1.getStyle());
        
        // Change the appearance of all list levels in our list.
        for (ListLevel level : list1.getListLevels()) {
            level.getFont().setName("Verdana");
            level.getFont().setColor(Color.BLUE);
            level.getFont().setBold(true);
        }
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        builder.writeln("Using list style first time:");
        
        // Create another list from a list within a style.
        List list2 = doc.getLists().add(listStyle);
        
        Assert.assertFalse(list2.isListStyleDefinition());
        Assert.assertTrue(list2.isListStyleReference());
        Assert.assertEquals(listStyle, list2.getStyle());
        
        // Add some list items that our list will format.
        builder.getListFormat().setList(list2);
        builder.writeln("Item 1");
        builder.writeln("Item 2");
        builder.getListFormat().removeNumbers();
        
        builder.writeln("Using list style second time:");
        
        // Create and apply another list based on the list style.
        List list3 = doc.getLists().add(listStyle);
        builder.getListFormat().setList(list3);
        builder.writeln("Item 1");
        builder.writeln("Item 2");
        builder.getListFormat().removeNumbers();
        
        builder.getDocument().save(getArtifactsDir() + "Lists.CreateAndUseListStyle.docx");
      • getListFormat

        public ListFormat getListFormat()
        
        Provides access to the list formatting properties of a paragraph style.

        This property is only valid for paragraph styles. For other style types this property returns null.

        Example:

        Shows how to create and use a paragraph style with list formatting.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a custom paragraph style.
        Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle1");
        style.getFont().setSize(24.0);
        style.getFont().setName("Verdana");
        style.getParagraphFormat().setSpaceAfter(12.0);
        
        // Create a list and make sure the paragraphs that use this style will use this list.
        style.getListFormat().setList(doc.getLists().add(ListTemplate.BULLET_DEFAULT));
        style.getListFormat().setListLevelNumber(0);
        
        // Apply the paragraph style to the document builder's current paragraph, and then add some text.
        builder.getParagraphFormat().setStyle(style);
        builder.writeln("Hello World: MyStyle1, bulleted list.");
        
        // Change the document builder's style to one that has no list formatting and write another paragraph.
        builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal"));
        builder.writeln("Hello World: Normal.");
        
        builder.getDocument().save(getArtifactsDir() + "Styles.ParagraphStyleBulletedList.docx");
      • getName/setName

        public java.lang.String getName() / public void setName(java.lang.String value)
        
        Gets or sets the name of the style.

        Can not be empty string.

        If there already is a style with such name in the collection, then this style will override it. All affected nodes will reference new style.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }

        Example:

        Shows how to clone a document's style.
        Document doc = new Document();
        
        // The AddCopy method creates a copy of the specified style and
        // automatically generates a new name for the style, such as "Heading 1_0".
        Style newStyle = doc.getStyles().addCopy(doc.getStyles().get("Heading 1"));
        
        // Use the style's "Name" property to change the style's identifying name.
        newStyle.setName("My Heading 1");
        
        // Our document now has two identical looking styles with different names.
        // Changing settings of one of the styles do not affect the other.
        newStyle.getFont().setColor(Color.RED);
        
        Assert.assertEquals("My Heading 1", newStyle.getName());
        Assert.assertEquals("Heading 1", doc.getStyles().get("Heading 1").getName());
        
        Assert.assertEquals(doc.getStyles().get("Heading 1").getType(), newStyle.getType());
        Assert.assertEquals(doc.getStyles().get("Heading 1").getFont().getName(), newStyle.getFont().getName());
        Assert.assertEquals(doc.getStyles().get("Heading 1").getFont().getSize(), newStyle.getFont().getSize());
        Assert.assertNotEquals(doc.getStyles().get("Heading 1").getFont().getColor(), newStyle.getFont().getColor());
      • getNextParagraphStyleName/setNextParagraphStyleName

        public java.lang.String getNextParagraphStyleName() / public void setNextParagraphStyleName(java.lang.String value)
        
        Gets/sets the name of the style to be applied automatically to a new paragraph inserted after a paragraph formatted with the specified style. This property is not used by Aspose.Words. The next paragraph style will only be applied automatically when you edit the document in MS Word.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
      • getParagraphFormat

        public ParagraphFormat getParagraphFormat()
        
        Gets the paragraph formatting of the style.

        For character and list styles this property returns null.

        Example:

        Shows how to create and use a paragraph style with list formatting.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Create a custom paragraph style.
        Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle1");
        style.getFont().setSize(24.0);
        style.getFont().setName("Verdana");
        style.getParagraphFormat().setSpaceAfter(12.0);
        
        // Create a list and make sure the paragraphs that use this style will use this list.
        style.getListFormat().setList(doc.getLists().add(ListTemplate.BULLET_DEFAULT));
        style.getListFormat().setListLevelNumber(0);
        
        // Apply the paragraph style to the document builder's current paragraph, and then add some text.
        builder.getParagraphFormat().setStyle(style);
        builder.writeln("Hello World: MyStyle1, bulleted list.");
        
        // Change the document builder's style to one that has no list formatting and write another paragraph.
        builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal"));
        builder.writeln("Hello World: Normal.");
        
        builder.getDocument().save(getArtifactsDir() + "Styles.ParagraphStyleBulletedList.docx");
      • getStyleIdentifier

        public int getStyleIdentifier()
        
        Gets the locale independent style identifier for a built-in style. The value of the property is StyleIdentifier integer constant.

        For user defined (custom) styles, this property returns StyleIdentifier.USER.

        Example:

        Shows how to modify the position of the right tab stop in TOC related paragraphs.
        Document doc = new Document(getMyDir() + "Table of contents.docx");
        
        // Iterate through all paragraphs with TOC result-based styles; this is any style between TOC and TOC9.
        for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
            if (para.getParagraphFormat().getStyle().getStyleIdentifier() >= StyleIdentifier.TOC_1
                    && para.getParagraphFormat().getStyle().getStyleIdentifier() <= StyleIdentifier.TOC_9) {
                // Get the first tab used in this paragraph, this should be the tab used to align the page numbers.
                TabStop tab = para.getParagraphFormat().getTabStops().get(0);
        
                // Replace the first default tab, stop with a custom tab stop.
                para.getParagraphFormat().getTabStops().removeByPosition(tab.getPosition());
                para.getParagraphFormat().getTabStops().add(tab.getPosition() - 50.0, tab.getAlignment(), tab.getLeader());
            }
        }
        
        doc.save(getArtifactsDir() + "Styles.ChangeTocsTabStops.docx");
        See Also:
        Name
      • getStyles

        public StyleCollection getStyles()
        
        Gets the collection of styles this style belongs to.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
      • getType

        public int getType()
        
        Gets the style type (paragraph or character). The value of the property is StyleType integer constant.

        Example:

        Shows how to access a document's style collection.
        Document doc = new Document();
        
        Assert.assertEquals(4, doc.getStyles().getCount());
        
        // Enumerate and list all the styles that a document created using Aspose.Words contains by default.
        Iterator<Style> stylesEnum = doc.getStyles().iterator();
        while (stylesEnum.hasNext()) {
            Style curStyle = stylesEnum.next();
            System.out.println(MessageFormat.format("Style name:\t\"{0}\", of type \"{1}\"", curStyle.getName(), curStyle.getType()));
            System.out.println(MessageFormat.format("\tSubsequent style:\t{0}", curStyle.getNextParagraphStyleName()));
            System.out.println(MessageFormat.format("\tIs heading:\t\t\t{0}", curStyle.isHeading()));
            System.out.println(MessageFormat.format("\tIs QuickStyle:\t\t{0}", curStyle.isQuickStyle()));
        
            Assert.assertEquals(curStyle.getDocument(), doc);
        }
    • Method Detail

      • equals

        public boolean equals(Style style)
        Compares with the specified style. Styles Istds are compared for built-in styles only. Styles defaults are not included in comparison. Base style, linked style and next paragraph style are recursively compared.

        Example:

        Shows how to use style aliases.
        Document doc = new Document(getMyDir() + "Style with alias.docx");
        
        // This document contains a style named "MyStyle,MyStyle Alias 1,MyStyle Alias 2".
        // If a style's name has multiple values separated by commas, each clause is a separate alias.
        Style style = doc.getStyles().get("MyStyle");
        Assert.assertEquals(new String[]{"MyStyle Alias 1", "MyStyle Alias 2"}, style.getAliases());
        Assert.assertEquals("Title", style.getBaseStyleName());
        Assert.assertEquals("MyStyle Char", style.getLinkedStyleName());
        
        // We can reference a style using its alias, as well as its name.
        Assert.assertEquals(doc.getStyles().get("MyStyle Alias 1"), doc.getStyles().get("MyStyle Alias 2"));
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.moveToDocumentEnd();
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 1"));
        builder.writeln("Hello world!");
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle Alias 2"));
        builder.write("Hello again!");
        
        Assert.assertEquals(doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getStyle(),
                doc.getFirstSection().getBody().getParagraphs().get(1).getParagraphFormat().getStyle());
      • remove

        public void remove()
        Removes the specified style from the document. Style removal has following effects on the document model:
        • All references to the style are removed from corresponding paragraphs, runs and tables.
        • If base style is removed its formatting is moved to child styles.
        • If style to be deleted has a linked style, then both of these are deleted.

        Example:

        Shows how to create and apply a custom style.
        Document doc = new Document();
        
        Style style = doc.getStyles().add(StyleType.PARAGRAPH, "MyStyle");
        style.getFont().setName("Times New Roman");
        style.getFont().setSize(16.0);
        style.getFont().setColor(Color.magenta);
        
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        // Apply one of the styles from the document to the paragraph that the document builder is creating.
        builder.getParagraphFormat().setStyle(doc.getStyles().get("MyStyle"));
        builder.writeln("Hello world!");
        
        Style firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();
        
        Assert.assertEquals(style, firstParagraphStyle);
        
        // Remove our custom style from the document's styles collection.
        doc.getStyles().get("MyStyle").remove();
        
        firstParagraphStyle = doc.getFirstSection().getBody().getFirstParagraph().getParagraphFormat().getStyle();
        
        // Any text that used a removed style reverts to the default formatting.
        Assert.assertFalse(IterableUtils.matchesAny(doc.getStyles(), s -> s.getName() == "MyStyle"));
        Assert.assertEquals("Times New Roman", firstParagraphStyle.getFont().getName());
        Assert.assertEquals(12.0d, firstParagraphStyle.getFont().getSize());
        Assert.assertEquals(0, firstParagraphStyle.getFont().getColor().getRGB());