com.aspose.words

Class TabStopCollection

  • All Implemented Interfaces:
    java.lang.Cloneable
    public class TabStopCollection 
    extends InternableComplexAttr

A collection of TabStop objects that represent custom tabs for a paragraph or a style.

In Microsoft Word documents, a tab stop can be defined in the properties of a paragraph style or directly in the properties of a paragraph. A style can be based on another style. Therefore, the complete set of tab stops for a given object is a combination of tab stops defined directly on this object and tab stops inherited from the parent styles.

In Aspose.Words, when you obtain a TabStops collection for a paragraph or a style, it contains only the custom tab stops defined directly for this paragraph or style. The collection does not include tab stops defined in the parent styles or default tab stops.

Example:

Shows how to work with a document's collection of tab stops.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();

// 72 points is one "inch" on the Microsoft Word tab stop ruler.
tabStops.add(new TabStop(72.0));
tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));

Assert.assertEquals(2, tabStops.getCount());
Assert.assertFalse(tabStops.get(0).isClear());
Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));

// Every "tab" character takes the builder's cursor to the location of the next tab stop.
builder.writeln("Start\tTab 1\tTab 2");

ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();

Assert.assertEquals(2, paragraphs.getCount());

// Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());

// A tab stop collection can point us to TabStops before and after certain positions.
Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());

// We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
paragraphs.get(1).getParagraphFormat().getTabStops().clear();

Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());

doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
See Also:
ParagraphFormat, TabStop, Document.DefaultTabStop

Property Getters/Setters Summary
intgetCount()
Gets the number of tab stops in the collection.
TabStopget(double position)
Gets a tab stop at the specified position.
TabStopget(int index)
Gets a tab stop at the given index.
 
Method Summary
voidadd(TabStop tabStop)
Adds or replaces a tab stop in the collection.
voidadd(double position, int alignment, int leader)
Adds or replaces a tab stop in the collection.
TabStopafter(double position)
Gets a first tab stop to the right of the specified position.
TabStopbefore(double position)
Gets a first tab stop to the left of the specified position.
voidclear()
Deletes all tab stop positions.
booleanequals(TabStopCollection rhs)
Determines whether the specified TabStopCollection is equal in value to the current TabStopCollection.
booleanequals(java.lang.Object obj)
Determines whether the specified object is equal in value to the current object.
intgetIndexByPosition(double position)
Gets the index of a tab stop with the specified position in points.
doublegetPositionByIndex(int index)
Gets the position (in points) of the tab stop at the specified index.
inthashCode()
Serves as a hash function for this type.
voidremoveByIndex(int index)
Removes a tab stop at the specified index from the collection.
voidremoveByPosition(double position)
Removes a tab stop at the specified position from the collection.
 

    • Property Getters/Setters Detail

      • getCount

        public int getCount()
        
        Gets the number of tab stops in the collection.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • get

        public TabStop get(double position)
        
        Gets a tab stop at the specified position. Returns null if no tab stop is found at the specified position.
        Parameters:
        position - The position (in points) of the tab stop.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • get

        public TabStop get(int index)
        
        Gets a tab stop at the given index.
        Parameters:
        index - An index into the collection of tab stops.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
    • Method Detail

      • add

        public void add(TabStop tabStop)
        Adds or replaces a tab stop in the collection.

        If a tab stop already exists at the specified position, it is replaced.

        Parameters:
        tabStop - A tab stop object to add.

        Example:

        Shows how to add custom tab stops to a document.
        Document doc = new Document();
        Paragraph paragraph = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Below are two ways of adding tab stops to a paragraph's collection of tab stops via the "ParagraphFormat" property.
        // 1 -  Create a "TabStop" object, and then add it to the collection:
        TabStop tabStop = new TabStop(ConvertUtil.inchToPoint(3.0), TabAlignment.LEFT, TabLeader.DASHES);
        paragraph.getParagraphFormat().getTabStops().add(tabStop);
        
        // 2 -  Pass the values for properties of a new tab stop to the "Add" method:
        paragraph.getParagraphFormat().getTabStops().add(ConvertUtil.millimeterToPoint(100.0), TabAlignment.LEFT,
                TabLeader.DASHES);
        
        // Add tab stops at 5 cm to all paragraphs.
        for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
            para.getParagraphFormat().getTabStops().add(ConvertUtil.millimeterToPoint(50.0), TabAlignment.LEFT,
                    TabLeader.DASHES);
        }
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.writeln("Start\tTab 1\tTab 2\tTab 3\tTab 4");
        
        doc.save(getArtifactsDir() + "TabStopCollection.AddTabStops.docx");
      • add

        public void add(double position, int alignment, int leader)
        Adds or replaces a tab stop in the collection.

        If a tab stop already exists at the specified position, it is replaced.

        Parameters:
        position - A position (in points) where to add the tab stop.
        alignment - A TabAlignment value that specifies the alignment of text at the tab stop.
        leader - A TabLeader value that specifies the type of the leader line displayed under the tab character.

        Example:

        Shows how to add custom tab stops to a document.
        Document doc = new Document();
        Paragraph paragraph = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 0, true);
        
        // Below are two ways of adding tab stops to a paragraph's collection of tab stops via the "ParagraphFormat" property.
        // 1 -  Create a "TabStop" object, and then add it to the collection:
        TabStop tabStop = new TabStop(ConvertUtil.inchToPoint(3.0), TabAlignment.LEFT, TabLeader.DASHES);
        paragraph.getParagraphFormat().getTabStops().add(tabStop);
        
        // 2 -  Pass the values for properties of a new tab stop to the "Add" method:
        paragraph.getParagraphFormat().getTabStops().add(ConvertUtil.millimeterToPoint(100.0), TabAlignment.LEFT,
                TabLeader.DASHES);
        
        // Add tab stops at 5 cm to all paragraphs.
        for (Paragraph para : (Iterable<Paragraph>) doc.getChildNodes(NodeType.PARAGRAPH, true)) {
            para.getParagraphFormat().getTabStops().add(ConvertUtil.millimeterToPoint(50.0), TabAlignment.LEFT,
                    TabLeader.DASHES);
        }
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        DocumentBuilder builder = new DocumentBuilder(doc);
        builder.writeln("Start\tTab 1\tTab 2\tTab 3\tTab 4");
        
        doc.save(getArtifactsDir() + "TabStopCollection.AddTabStops.docx");
      • after

        public TabStop after(double position)
        Gets a first tab stop to the right of the specified position.

        Skips tab stops with Alignment set to TabAlignment.Bar.

        Parameters:
        position - The reference position (in points).
        Returns:
        A tab stop object or null if a suitable tab stop was not found.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • before

        public TabStop before(double position)
        Gets a first tab stop to the left of the specified position.

        Skips tab stops with Alignment set to TabAlignment.Bar.

        Parameters:
        position - The reference position (in points).
        Returns:
        A tab stop object or null if a suitable tab stop was not found.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • clear

        public void clear()
        Deletes all tab stop positions.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • equals

        public boolean equals(TabStopCollection rhs)
        Determines whether the specified TabStopCollection is equal in value to the current TabStopCollection.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • equals

        public boolean equals(java.lang.Object obj)
        Determines whether the specified object is equal in value to the current object.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • getIndexByPosition

        public int getIndexByPosition(double position)
        Gets the index of a tab stop with the specified position in points.

        Example:

        Shows how to look up a position to see if a tab stop exists there and obtain its index.
        Document doc = new Document();
        TabStopCollection tabStops = doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getTabStops();
        
        // Add a tab stop at a position of 30mm.
        tabStops.add(ConvertUtil.millimeterToPoint(30.0), TabAlignment.LEFT, TabLeader.DASHES);
        
        // A result of "0" returned by "GetIndexByPosition" confirms that a tab stop
        // at 30mm exists in this collection, and it is at index 0.
        Assert.assertEquals(0, tabStops.getIndexByPosition(ConvertUtil.millimeterToPoint(30.0)));
        
        // A "-1" returned by "GetIndexByPosition" confirms that
        // there is no tab stop in this collection with a position of 60mm.
        Assert.assertEquals(-1, tabStops.getIndexByPosition(ConvertUtil.millimeterToPoint(60.0)));
      • getPositionByIndex

        public double getPositionByIndex(int index)
        Gets the position (in points) of the tab stop at the specified index.
        Parameters:
        index - An index into the collection of tab stops.
        Returns:
        The position of the tab stop.

        Example:

        Shows how to find a tab, stop by its index and verify its position.
        Document doc = new Document();
        TabStopCollection tabStops = doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getTabStops();
        
        tabStops.add(ConvertUtil.millimeterToPoint(30.0), TabAlignment.LEFT, TabLeader.DASHES);
        tabStops.add(ConvertUtil.millimeterToPoint(60.0), TabAlignment.LEFT, TabLeader.DASHES);
        
        // Verify the position of the second tab stop in the collection.
        Assert.assertEquals(ConvertUtil.millimeterToPoint(60.0), tabStops.getPositionByIndex(1), 0.1d);
      • hashCode

        public int hashCode()
        Serves as a hash function for this type.

        Example:

        Shows how to work with a document's collection of tab stops.
        Document doc = new Document();
        DocumentBuilder builder = new DocumentBuilder(doc);
        
        TabStopCollection tabStops = builder.getParagraphFormat().getTabStops();
        
        // 72 points is one "inch" on the Microsoft Word tab stop ruler.
        tabStops.add(new TabStop(72.0));
        tabStops.add(new TabStop(432, TabAlignment.RIGHT, TabLeader.DASHES));
        
        Assert.assertEquals(2, tabStops.getCount());
        Assert.assertFalse(tabStops.get(0).isClear());
        Assert.assertFalse(tabStops.get(0).equals(tabStops.get(1)));
        
        // Every "tab" character takes the builder's cursor to the location of the next tab stop.
        builder.writeln("Start\tTab 1\tTab 2");
        
        ParagraphCollection paragraphs = doc.getFirstSection().getBody().getParagraphs();
        
        Assert.assertEquals(2, paragraphs.getCount());
        
        // Each paragraph gets its tab stop collection, which clones its values from the document builder's tab stop collection.
        Assert.assertEquals(paragraphs.get(0).getParagraphFormat().getTabStops(), paragraphs.get(1).getParagraphFormat().getTabStops());
        
        // A tab stop collection can point us to TabStops before and after certain positions.
        Assert.assertEquals(72.0, tabStops.before(100.0).getPosition());
        Assert.assertEquals(432.0, tabStops.after(100.0).getPosition());
        
        // We can clear a paragraph's tab stop collection to revert to the default tabbing behavior.
        paragraphs.get(1).getParagraphFormat().getTabStops().clear();
        
        Assert.assertEquals(0, paragraphs.get(1).getParagraphFormat().getTabStops().getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.TabStopCollection.docx");
      • removeByIndex

        public void removeByIndex(int index)
        Removes a tab stop at the specified index from the collection.
        Parameters:
        index - An index into the collection of tab stops.

        Example:

        Shows how to select a tab stop in a document by its index and remove it.
        Document doc = new Document();
        TabStopCollection tabStops = doc.getFirstSection().getBody().getParagraphs().get(0).getParagraphFormat().getTabStops();
        
        tabStops.add(ConvertUtil.millimeterToPoint(30.0), TabAlignment.LEFT, TabLeader.DASHES);
        tabStops.add(ConvertUtil.millimeterToPoint(60.0), TabAlignment.LEFT, TabLeader.DASHES);
        
        Assert.assertEquals(2, tabStops.getCount());
        
        // Remove the first tab stop.
        tabStops.removeByIndex(0);
        
        Assert.assertEquals(1, tabStops.getCount());
        
        doc.save(getArtifactsDir() + "TabStopCollection.RemoveByIndex.docx");
      • removeByPosition

        public void removeByPosition(double position)
        Removes a tab stop at the specified position from the collection.
        Parameters:
        position - The position (in points) of the tab stop to remove.

        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");