public class StyleCollection
Example:
Shows how to create and use a paragraph style with list formatting.Document doc = new Document(); DocumentBuilder builder = new DocumentBuilder(doc); // Create a paragraph style and specify some formatting for it 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 current paragraph in the document and add some text builder.getParagraphFormat().setStyle(style); builder.writeln("Hello World: MyStyle1, bulleted list."); // Change to a paragraph style that has no list formatting builder.getParagraphFormat().setStyle(doc.getStyles().get("Normal")); builder.writeln("Hello World: Normal."); builder.getDocument().save(getArtifactsDir() + "Styles.ParagraphStyleBulletedList.docx");
Property Getters/Setters Summary | ||
---|---|---|
int | getCount() | |
Gets the number of styles in the collection.
|
||
Font | getDefaultFont() | |
Gets document default text formatting.
|
||
ParagraphFormat | getDefaultParagraphFormat() | |
Gets document default paragraph formatting.
|
||
DocumentBase | getDocument() | |
Gets the owner document.
|
||
Style | get(int index) | |
Gets a style by index.
|
||
Style | get(java.lang.String name) | |
Gets a style by name or alias.
|
||
Style | getByStyleIdentifier(int sti) | |
Gets a built-in style by its locale independent identifier.
|
Method Summary | ||
---|---|---|
Style | add(int type, java.lang.String name) | |
Creates a new user defined style and adds it the collection.
|
||
Style | addCopy(Style style) | |
Copies a style into this collection.
|
||
java.util.Iterator<Style> | iterator() | |
Gets an enumerator object that will enumerate styles in the alphabetical order of their names.
|
public int getCount()
Example:
Shows how to add a Style to a StyleCollection.Document doc = new Document(); // New documents come with a collection of default styles that can be applied to paragraphs StyleCollection styles = doc.getStyles(); // We can set default parameters for new styles that will be added to the collection from now on styles.getDefaultFont().setName("Courier New"); styles.getDefaultParagraphFormat().setFirstLineIndent(15.0); styles.add(StyleType.PARAGRAPH, "MyStyle"); // Styles within the collection can be referenced either by index or name // The default font "Courier New" gets automatically applied to any new style added to the collection Assert.assertEquals("Courier New", styles.get(4).getFont().getName()); Assert.assertEquals(15.0, styles.get("MyStyle").getParagraphFormat().getFirstLineIndent());
public Font getDefaultFont()
Note that document-wide defaults were introduced in Microsoft Word 2007 and are fully supported in OOXML formats (
Example:
Shows how to add a Style to a StyleCollection.Document doc = new Document(); // New documents come with a collection of default styles that can be applied to paragraphs StyleCollection styles = doc.getStyles(); // We can set default parameters for new styles that will be added to the collection from now on styles.getDefaultFont().setName("Courier New"); styles.getDefaultParagraphFormat().setFirstLineIndent(15.0); styles.add(StyleType.PARAGRAPH, "MyStyle"); // Styles within the collection can be referenced either by index or name // The default font "Courier New" gets automatically applied to any new style added to the collection Assert.assertEquals("Courier New", styles.get(4).getFont().getName()); Assert.assertEquals(15.0, styles.get("MyStyle").getParagraphFormat().getFirstLineIndent());
public ParagraphFormat getDefaultParagraphFormat()
Note that document-wide defaults were introduced in Microsoft Word 2007 and are fully supported in OOXML formats (
Example:
Shows how to add a Style to a StyleCollection.Document doc = new Document(); // New documents come with a collection of default styles that can be applied to paragraphs StyleCollection styles = doc.getStyles(); // We can set default parameters for new styles that will be added to the collection from now on styles.getDefaultFont().setName("Courier New"); styles.getDefaultParagraphFormat().setFirstLineIndent(15.0); styles.add(StyleType.PARAGRAPH, "MyStyle"); // Styles within the collection can be referenced either by index or name // The default font "Courier New" gets automatically applied to any new style added to the collection Assert.assertEquals("Courier New", styles.get(4).getFont().getName()); Assert.assertEquals(15.0, styles.get("MyStyle").getParagraphFormat().getFirstLineIndent());
public DocumentBase getDocument()
Example:
Shows how to access a document's style collection.Document doc = new Document(); // A blank document comes with 4 styles by default Assert.assertEquals(4, doc.getStyles().getCount()); 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); }
public Style get(int index)
Example:
Shows how to add a Style to a StyleCollection.Document doc = new Document(); // New documents come with a collection of default styles that can be applied to paragraphs StyleCollection styles = doc.getStyles(); // We can set default parameters for new styles that will be added to the collection from now on styles.getDefaultFont().setName("Courier New"); styles.getDefaultParagraphFormat().setFirstLineIndent(15.0); styles.add(StyleType.PARAGRAPH, "MyStyle"); // Styles within the collection can be referenced either by index or name // The default font "Courier New" gets automatically applied to any new style added to the collection Assert.assertEquals("Courier New", styles.get(4).getFont().getName()); Assert.assertEquals(15.0, styles.get("MyStyle").getParagraphFormat().getFirstLineIndent());
public Style get(java.lang.String name)
Case sensitive, returns null if the style with the given name is not found.
If this is an English name of a built in style that does not yet exist, automatically creates it.
Example:
Shows when to request page layout of the document to be recalculated.Document doc = new Document(getMyDir() + "Rendering.docx"); // Saving a document to PDF or to image or printing for the first time will automatically // layout document pages and this information will be cached inside the document doc.save(getArtifactsDir() + "Rendering.UpdatePageLayout.1.pdf"); // Modify the document in any way doc.getStyles().get("Normal").getFont().setSize(6.0); doc.getSections().get(0).getPageSetup().setOrientation(com.aspose.words.Orientation.LANDSCAPE); // In the current version of Aspose.Words, modifying the document does not automatically rebuild // the cached page layout. If you want to save to PDF or render a modified document again, // you need to manually request page layout to be updated doc.updatePageLayout(); doc.save(getArtifactsDir() + "Rendering.UpdatePageLayout.2.pdf");
Example:
Shows when to recalculate the page layout of the document.Document doc = new Document(getMyDir() + "Rendering.docx"); // Saving a document to PDF, to an image, or printing for the first time will automatically // cache the layout of the document within its pages. doc.save(getArtifactsDir() + "Document.UpdatePageLayout.1.pdf"); // Modify the document in some way. doc.getStyles().get("Normal").getFont().setSize(6.0); doc.getSections().get(0).getPageSetup().setOrientation(com.aspose.words.Orientation.LANDSCAPE); // In the current version of Aspose.Words, modifying the document does not automatically rebuild // the cached page layout. If we wish for the cached layout // to stay up-to-date, we will need to update it manually. doc.updatePageLayout(); doc.save(getArtifactsDir() + "Document.UpdatePageLayout.2.pdf");
public Style getByStyleIdentifier(int sti)
When accessing a style that does not yet exist, automatically creates it.
sti
- A Example:
Shows how to add a Style to a StyleCollection.Document doc = new Document(); // New documents come with a collection of default styles that can be applied to paragraphs StyleCollection styles = doc.getStyles(); // We can set default parameters for new styles that will be added to the collection from now on styles.getDefaultFont().setName("Courier New"); styles.getDefaultParagraphFormat().setFirstLineIndent(15.0); styles.add(StyleType.PARAGRAPH, "MyStyle"); // Styles within the collection can be referenced either by index or name // The default font "Courier New" gets automatically applied to any new style added to the collection Assert.assertEquals("Courier New", styles.get(4).getFont().getName()); Assert.assertEquals(15.0, styles.get("MyStyle").getParagraphFormat().getFirstLineIndent());
public Style add(int type, java.lang.String name)
You can create character, paragraph or a list style.
When creating a list style, the style is created with default numbered list formatting (1 \ a \ i).
Throws an exception if a style with this name already exists.
type
- A name
- Case sensitive name of the style to create.Example:
Shows how to create a list style and use it in a document.Document doc = new Document(); // Create a new list style // List formatting associated with this list style is default numbered Style listStyle = doc.getStyles().add(StyleType.LIST, "MyListStyle"); // This list defines the formatting of the list style // Note this list can not be used directly to apply formatting to paragraphs (see below) List list1 = listStyle.getList(); // Check some basic rules about the list that defines a list style Assert.assertTrue(list1.isListStyleDefinition()); Assert.assertFalse(list1.isListStyleReference()); Assert.assertTrue(list1.isMultiLevel()); Assert.assertEquals(listStyle, list1.getStyle()); // Modify formatting of the list style to our liking for (ListLevel level : list1.getListLevels()) { level.getFont().setName("Verdana"); level.getFont().setColor(Color.BLUE); level.getFont().setBold(true); } // Add some text to our document and use the list style DocumentBuilder builder = new DocumentBuilder(doc); builder.writeln("Using list style first time:"); // This creates a list based on the list style List list2 = doc.getLists().add(listStyle); // Check some basic rules about the list that references a list style Assert.assertFalse(list2.isListStyleDefinition()); Assert.assertTrue(list2.isListStyleReference()); Assert.assertEquals(listStyle, list2.getStyle()); // Apply the list that references the list style 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");
public Style addCopy(Style style)
Style to be copied can belong to the same document as well as to different document.
Linked style is copied.
This method does doesn't copy base styles.
If collection already contains a style with the same name, then new name is
automatically generated by adding "_number" suffix starting from 0 e.g. "Normal_0", "Heading 1_1" etc.
Use
style
- Style to be copied.Example:
Shows how to import a style from one document into a different document.Document dstDoc = new Document(); Document srcDoc = new Document(); Style srcStyle = srcDoc.getStyles().add(StyleType.PARAGRAPH, "MyStyle"); // Change the font of the heading style to red srcStyle.getFont().setColor(Color.RED); // The AddCopy method can be used to copy a style from a different document Style newStyle = dstDoc.getStyles().addCopy(srcStyle); // The imported style is identical to its source Assert.assertEquals("MyStyle", newStyle.getName()); Assert.assertEquals(Color.RED.getRGB(), newStyle.getFont().getColor().getRGB());
Example:
Shows how to copy a style within the same document.Document doc = new Document(getMyDir() + "Document.docx"); // 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")); // You can change the new style name if required as the Style.Name property is read-write newStyle.setName("My Heading 1");
public java.util.Iterator<Style> iterator()
Example:
Shows how to access a document's style collection.Document doc = new Document(); // A blank document comes with 4 styles by default Assert.assertEquals(4, doc.getStyles().getCount()); 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); }