public class Table extends CompositeNode
To learn more, visit the Working with Tables documentation article.
Remarks:
Table is a block-level node and can be a child of classes derived from Story or InlineStory.
Table can contain one or more Row nodes.
A minimal valid table needs to have at least one Row.
Examples:
Shows how to create a table.
Document doc = new Document();
Table table = new Table(doc);
doc.getFirstSection().getBody().appendChild(table);
// Tables contain rows, which contain cells, which may have paragraphs
// with typical elements such as runs, shapes, and even other tables.
// Calling the "EnsureMinimum" method on a table will ensure that
// the table has at least one row, cell, and paragraph.
Row firstRow = new Row(doc);
table.appendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.appendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.appendChild(paragraph);
// Add text to the first cell in the first row of the table.
Run run = new Run(doc, "Hello world!");
paragraph.appendChild(run);
doc.save(getArtifactsDir() + "Table.CreateTable.docx");
Shows how to iterate through all tables in the document and print the contents of each cell.
Document doc = new Document(getMyDir() + "Tables.docx");
TableCollection tables = doc.getFirstSection().getBody().getTables();
Assert.assertEquals(2, tables.toArray().length);
for (int i = 0; i < tables.getCount(); i++) {
System.out.println(MessageFormat.format("Start of Table {0}", i));
RowCollection rows = tables.get(i).getRows();
for (int j = 0; j < rows.getCount(); j++) {
System.out.println(MessageFormat.format("\tStart of Row {0}", j));
CellCollection cells = rows.get(j).getCells();
for (int k = 0; k < cells.getCount(); k++) {
String cellText = cells.get(k).toString(SaveFormat.TEXT).trim();
System.out.println(MessageFormat.format("\t\tContents of Cell:{0} = \"{1}\"", k, cellText));
}
System.out.println(MessageFormat.format("\tEnd of Row {0}", j));
}
System.out.println(MessageFormat.format("End of Table {0}\n", i));
}
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
Shows how to build a formatted 2x2 table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endRow();
// While building the table, the document builder will apply its current RowFormat/CellFormat property values
// to the current row/cell that its cursor is in and any new rows/cells as it creates them.
Assert.assertEquals(CellVerticalAlignment.CENTER, table.getRows().get(0).getCells().get(0).getCellFormat().getVerticalAlignment());
Assert.assertEquals(CellVerticalAlignment.CENTER, table.getRows().get(0).getCells().get(1).getCellFormat().getVerticalAlignment());
builder.insertCell();
builder.getRowFormat().setHeight(100.0);
builder.getRowFormat().setHeightRule(HeightRule.EXACTLY);
builder.getCellFormat().setOrientation(TextOrientation.UPWARD);
builder.write("Row 2, cell 1.");
builder.insertCell();
builder.getCellFormat().setOrientation(TextOrientation.DOWNWARD);
builder.write("Row 2, cell 2.");
builder.endRow();
builder.endTable();
// Previously added rows and cells are not retroactively affected by changes to the builder's formatting.
Assert.assertEquals(0.0, table.getRows().get(0).getRowFormat().getHeight());
Assert.assertEquals(HeightRule.AUTO, table.getRows().get(0).getRowFormat().getHeightRule());
Assert.assertEquals(100.0, table.getRows().get(1).getRowFormat().getHeight());
Assert.assertEquals(HeightRule.EXACTLY, table.getRows().get(1).getRowFormat().getHeightRule());
Assert.assertEquals(TextOrientation.UPWARD, table.getRows().get(1).getCells().get(0).getCellFormat().getOrientation());
Assert.assertEquals(TextOrientation.DOWNWARD, table.getRows().get(1).getCells().get(1).getCellFormat().getOrientation());
doc.save(getArtifactsDir() + "DocumentBuilder.BuildTable.docx");
| Constructor and Description |
|---|
Table(DocumentBase doc)
Initializes a new instance of the
Table class. |
| Modifier and Type | Method and Description |
|---|---|
boolean |
accept(DocumentVisitor visitor)
Accepts a visitor.
|
int |
acceptEnd(DocumentVisitor visitor)
Accepts a visitor for visiting the end of the table.
|
int |
acceptStart(DocumentVisitor visitor)
Accepts a visitor for visiting the start of the table.
|
void |
autoFit(int behavior) |
void |
clearBorders()
Removes all table and cell borders on this table.
|
void |
clearShading()
Removes all shading on the table.
|
void |
convertToHorizontallyMergedCells()
Converts cells horizontally merged by width to cells merged by
CellFormat.getHorizontalMerge() / CellFormat.setHorizontalMerge(int). |
void |
ensureMinimum()
If the table has no rows, creates and appends one
Row. |
double |
getAbsoluteHorizontalDistance()
Gets absolute horizontal floating table position specified by the table properties, in points.
|
double |
getAbsoluteVerticalDistance()
Gets absolute vertical floating table position specified by the table properties, in points.
|
int |
getAlignment()
Specifies how an inline table is aligned in the document.
|
boolean |
getAllowAutoFit()
Allows Microsoft Word and Aspose.Words to automatically resize cells in a table to fit their contents.
|
boolean |
getAllowCellSpacing()
Gets the "Allow spacing between cells" option.
|
boolean |
getAllowOverlap()
Gets whether a floating table shall allow other floating objects in the document to overlap its extents when displayed.
|
boolean |
getBidi()
Gets whether this is a right-to-left table.
|
double |
getBottomPadding()
Gets the amount of space (in points) to add below the contents of cells.
|
double |
getCellSpacing()
Gets the amount of space (in points) between the cells.
|
java.lang.String |
getDescription()
Gets description of this table.
|
double |
getDistanceBottom()
Gets distance between table bottom and the surrounding text, in points.
|
double |
getDistanceLeft()
Gets distance between table left and the surrounding text, in points.
|
double |
getDistanceRight()
Gets distance between table right and the surrounding text, in points.
|
double |
getDistanceTop()
Gets distance between table top and the surrounding text, in points.
|
Row |
getFirstRow()
Returns the first
Row node in the table. |
int |
getHorizontalAnchor()
Gets the base object from which the horizontal positioning of floating table should be calculated.
|
Row |
getLastRow()
Returns the last
Row node in the table. |
double |
getLeftIndent()
Gets the value that represents the left indent of the table.
|
double |
getLeftPadding()
Gets the amount of space (in points) to add to the left of the contents of cells.
|
int |
getNodeType()
Returns
NodeType.TABLE. |
PreferredWidth |
getPreferredWidth()
Gets the table preferred width.
|
int |
getRelativeHorizontalAlignment()
Gets floating table relative horizontal alignment.
|
int |
getRelativeVerticalAlignment()
Gets floating table relative vertical alignment.
|
double |
getRightPadding()
Gets the amount of space (in points) to add to the right of the contents of cells.
|
RowCollection |
getRows()
Provides typed access to the rows of the table.
|
Style |
getStyle()
Gets the table style applied to this table.
|
int |
getStyleIdentifier()
Gets the locale independent style identifier of the table style applied to this table.
|
java.lang.String |
getStyleName()
Gets the name of the table style applied to this table.
|
int |
getStyleOptions()
Gets bit flags that specify how a table style is applied to this table.
|
int |
getTextWrapping()
Gets
getTextWrapping() / setTextWrapping(int) for table. |
java.lang.String |
getTitle()
Gets title of this table.
|
double |
getTopPadding()
Gets the amount of space (in points) to add above the contents of cells.
|
int |
getVerticalAnchor()
Gets the base object from which the vertical positioning of floating table should be calculated.
|
void |
setAbsoluteHorizontalDistance(double value)
Sets absolute horizontal floating table position specified by the table properties, in points.
|
void |
setAbsoluteVerticalDistance(double value)
Sets absolute vertical floating table position specified by the table properties, in points.
|
void |
setAlignment(int value)
Specifies how an inline table is aligned in the document.
|
void |
setAllowAutoFit(boolean value)
Allows Microsoft Word and Aspose.Words to automatically resize cells in a table to fit their contents.
|
void |
setAllowCellSpacing(boolean value)
Sets the "Allow spacing between cells" option.
|
void |
setBidi(boolean value)
Sets whether this is a right-to-left table.
|
void |
setBorder(int borderType,
int lineStyle,
double lineWidth,
java.awt.Color color,
boolean isOverrideCellBorders) |
void |
setBorders(int lineStyle,
double lineWidth,
java.awt.Color color) |
void |
setBottomPadding(double value)
Sets the amount of space (in points) to add below the contents of cells.
|
void |
setCellSpacing(double value)
Sets the amount of space (in points) between the cells.
|
void |
setDescription(java.lang.String value)
Sets description of this table.
|
void |
setDistanceBottom(double value)
Sets distance between table bottom and the surrounding text, in points.
|
void |
setDistanceLeft(double value)
Sets distance between table left and the surrounding text, in points.
|
void |
setDistanceRight(double value)
Sets distance between table right and the surrounding text, in points.
|
void |
setDistanceTop(double value)
Sets distance between table top and the surrounding text, in points.
|
void |
setHorizontalAnchor(int value)
Gets the base object from which the horizontal positioning of floating table should be calculated.
|
void |
setLeftIndent(double value)
Sets the value that represents the left indent of the table.
|
void |
setLeftPadding(double value)
Sets the amount of space (in points) to add to the left of the contents of cells.
|
void |
setPreferredWidth(PreferredWidth value)
Sets the table preferred width.
|
void |
setRelativeHorizontalAlignment(int value)
Sets floating table relative horizontal alignment.
|
void |
setRelativeVerticalAlignment(int value)
Sets floating table relative vertical alignment.
|
void |
setRightPadding(double value)
Sets the amount of space (in points) to add to the right of the contents of cells.
|
void |
setShading(int texture,
java.awt.Color foregroundColor,
java.awt.Color backgroundColor) |
void |
setStyle(Style value)
Sets the table style applied to this table.
|
void |
setStyleIdentifier(int value)
Sets the locale independent style identifier of the table style applied to this table.
|
void |
setStyleName(java.lang.String value)
Sets the name of the table style applied to this table.
|
void |
setStyleOptions(int value)
Sets bit flags that specify how a table style is applied to this table.
|
void |
setTextWrapping(int value)
Sets
getTextWrapping() / setTextWrapping(int) for table. |
void |
setTitle(java.lang.String value)
Sets title of this table.
|
void |
setTopPadding(double value)
Sets the amount of space (in points) to add above the contents of cells.
|
void |
setVerticalAnchor(int value)
Gets the base object from which the vertical positioning of floating table should be calculated.
|
acceptChildren, acceptCore, appendChild, coreRemoveSelfOnly, getChild, getChildNodes, getContainer, getCount, getCurrentNode, getFirstChild, getLastChild, getNextMatchingNode, getText, hasChildNodes, indexOf, insertAfter, insertBefore, isComposite, iterator, prependChild, removeAllChildren, removeChild, removeSmartTags, selectNodes, selectSingleNodedeepClone, getAncestor, getAncestor, getCustomNodeId, getDocument, getNextSibling, getParentNode, getPreviousSibling, getRange, memberwiseClone, nextPreOrder, nodeTypeToString, previousPreOrder, remove, setCustomNodeId, toString, toString, toString, visitorActionToBoolpublic Table(DocumentBase doc)
Table class.
Remarks:
When Table is created, it belongs to the specified document, but is not yet part of the document and Node.getParentNode() is null.
To append Table to the document use CompositeNode.insertAfter(com.aspose.words.Node, com.aspose.words.Node) or CompositeNode.insertBefore(com.aspose.words.Node, com.aspose.words.Node) on the story where you want the table inserted.
Examples:
Shows how to create a table.
Document doc = new Document();
Table table = new Table(doc);
doc.getFirstSection().getBody().appendChild(table);
// Tables contain rows, which contain cells, which may have paragraphs
// with typical elements such as runs, shapes, and even other tables.
// Calling the "EnsureMinimum" method on a table will ensure that
// the table has at least one row, cell, and paragraph.
Row firstRow = new Row(doc);
table.appendChild(firstRow);
Cell firstCell = new Cell(doc);
firstRow.appendChild(firstCell);
Paragraph paragraph = new Paragraph(doc);
firstCell.appendChild(paragraph);
// Add text to the first cell in the first row of the table.
Run run = new Run(doc, "Hello world!");
paragraph.appendChild(run);
doc.save(getArtifactsDir() + "Table.CreateTable.docx");
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
doc - The owner document.public void convertToHorizontallyMergedCells()
CellFormat.getHorizontalMerge() / CellFormat.setHorizontalMerge(int).
Remarks:
Table cells can be horizontally merged either using merge flags CellFormat.getHorizontalMerge() / CellFormat.setHorizontalMerge(int) or using cell width CellFormat.getWidth() / CellFormat.setWidth(double).
When table cell is merged by width property CellFormat.getHorizontalMerge() / CellFormat.setHorizontalMerge(int) is meaningless but sometimes having merge flags is more convenient way.
Use this method to transforms table cells horizontally merged by width to cells merged by merge flags.
Examples:
Shows how to convert cells horizontally merged by width to cells merged by CellFormat.HorizontalMerge.
Document doc = new Document(getMyDir() + "Table with merged cells.docx");
// Microsoft Word does not write merge flags anymore, defining merged cells by width instead.
// Aspose.Words by default define only 5 cells in a row, and none of them have the horizontal merge flag,
// even though there were 7 cells in the row before the horizontal merging took place.
Table table = doc.getFirstSection().getBody().getTables().get(0);
Row row = table.getRows().get(0);
Assert.assertEquals(5, row.getCells().getCount());
Assert.assertTrue(IterableUtils.matchesAll(row.getCells(), s -> s.getCellFormat().getHorizontalMerge() == CellMerge.NONE));
// Use the "ConvertToHorizontallyMergedCells" method to convert cells horizontally merged
// by its width to the cell horizontally merged by flags.
// Now, we have 7 cells, and some of them have horizontal merge values.
table.convertToHorizontallyMergedCells();
row = table.getRows().get(0);
Assert.assertEquals(7, row.getCells().getCount());
Assert.assertEquals(CellMerge.NONE, row.getCells().get(0).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.FIRST, row.getCells().get(1).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.PREVIOUS, row.getCells().get(2).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.NONE, row.getCells().get(3).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.FIRST, row.getCells().get(4).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.PREVIOUS, row.getCells().get(5).getCellFormat().getHorizontalMerge());
Assert.assertEquals(CellMerge.NONE, row.getCells().get(6).getCellFormat().getHorizontalMerge());
public int getNodeType()
NodeType.TABLE.
Examples:
Shows how to traverse a composite node's tree of child nodes.
public void recurseChildren() throws Exception {
Document doc = new Document(getMyDir() + "Paragraphs.docx");
// Any node that can contain child nodes, such as the document itself, is composite.
Assert.assertTrue(doc.isComposite());
// Invoke the recursive function that will go through and print all the child nodes of a composite node.
traverseAllNodes(doc, 0);
}
/// <summary>
/// Recursively traverses a node tree while printing the type of each node
/// with an indent depending on depth as well as the contents of all inline nodes.
/// </summary>
public void traverseAllNodes(CompositeNode parentNode, int depth) {
for (Node childNode = parentNode.getFirstChild(); childNode != null; childNode = childNode.getNextSibling()) {
System.out.println(MessageFormat.format("{0}{1}", String.format(" ", depth), Node.nodeTypeToString(childNode.getNodeType())));
// Recurse into the node if it is a composite node. Otherwise, print its contents if it is an inline node.
if (childNode.isComposite()) {
System.out.println();
traverseAllNodes((CompositeNode) childNode, depth + 1);
} else if (childNode instanceof Inline) {
System.out.println(MessageFormat.format(" - \"{0}\"", childNode.getText().trim()));
} else {
System.out.println();
}
}
}
Shows how to find out if a tables are nested.
public void calculateDepthOfNestedTables() throws Exception {
Document doc = new Document(getMyDir() + "Nested tables.docx");
NodeCollection tables = doc.getChildNodes(NodeType.TABLE, true);
for (int i = 0; i < tables.getCount(); i++) {
Table table = (Table) tables.get(i);
// Find out if any cells in the table have other tables as children.
int count = getChildTableCount(table);
System.out.print(MessageFormat.format("Table #{0} has {1} tables directly within its cells", i, count));
// Find out if the table is nested inside another table, and, if so, at what depth.
int tableDepth = getNestedDepthOfTable(table);
if (tableDepth > 0)
System.out.println(MessageFormat.format("Table #{0} is nested inside another table at depth of {1}", i, tableDepth));
else
System.out.println(MessageFormat.format("Table #{0} is a non nested table (is not a child of another table)", i));
}
}
// Calculates what level a table is nested inside other tables.
//
// Returns An integer containing the level the table is nested at.
// 0 = Table is not nested inside any other table
// 1 = Table is nested within one parent table
// 2 = Table is nested within two parent tables etc..
private static int getNestedDepthOfTable(final Table table) {
int depth = 0;
Node parent = table.getAncestor(table.getNodeType());
while (parent != null) {
depth++;
parent = parent.getAncestor(Table.class);
}
return depth;
}
// Determines if a table contains any immediate child table within its cells.
// Does not recursively traverse through those tables to check for further tables.
//
// Returns true if at least one child cell contains a table.
// Returns false if no cells in the table contains a table.
private static int getChildTableCount(final Table table) {
int childTableCount = 0;
for (Row row : table.getRows()) {
for (Cell cell : row.getCells()) {
TableCollection childTables = cell.getTables();
if (childTables.getCount() > 0) childTableCount++;
}
}
return childTableCount;
}
getNodeType in class NodeNodeType.TABLE. The returned value is one of NodeType constants.public Row getFirstRow()
Row node in the table.
Examples:
Shows how to remove the first and last rows of all tables in a document.
Document doc = new Document(getMyDir() + "Tables.docx");
TableCollection tables = doc.getFirstSection().getBody().getTables();
Assert.assertEquals(5, tables.get(0).getRows().getCount());
Assert.assertEquals(4, tables.get(1).getRows().getCount());
for (Table table : tables) {
if (table.getFirstRow() != null) {
table.getFirstRow().remove();
}
if (table.getLastRow() != null) {
table.getLastRow().remove();
}
}
Assert.assertEquals(3, tables.get(0).getRows().getCount());
Assert.assertEquals(2, tables.get(1).getRows().getCount());
Shows how to combine the rows from two tables into one.
Document doc = new Document(getMyDir() + "Tables.docx");
// Below are two ways of getting a table from a document.
// 1 - From the "Tables" collection of a Body node:
Table firstTable = doc.getFirstSection().getBody().getTables().get(0);
// 2 - Using the "GetChild" method:
Table secondTable = (Table) doc.getChild(NodeType.TABLE, 1, true);
// Append all rows from the current table to the next.
while (secondTable.hasChildNodes())
firstTable.getRows().add(secondTable.getFirstRow());
// Remove the empty table container.
secondTable.remove();
doc.save(getArtifactsDir() + "Table.CombineTables.docx");
Row node in the table.public Row getLastRow()
Row node in the table.
Examples:
Shows how to remove the first and last rows of all tables in a document.
Document doc = new Document(getMyDir() + "Tables.docx");
TableCollection tables = doc.getFirstSection().getBody().getTables();
Assert.assertEquals(5, tables.get(0).getRows().getCount());
Assert.assertEquals(4, tables.get(1).getRows().getCount());
for (Table table : tables) {
if (table.getFirstRow() != null) {
table.getFirstRow().remove();
}
if (table.getLastRow() != null) {
table.getLastRow().remove();
}
}
Assert.assertEquals(3, tables.get(0).getRows().getCount());
Assert.assertEquals(2, tables.get(1).getRows().getCount());
Row node in the table.public RowCollection getRows()
Examples:
Shows how to combine the rows from two tables into one.
Document doc = new Document(getMyDir() + "Tables.docx");
// Below are two ways of getting a table from a document.
// 1 - From the "Tables" collection of a Body node:
Table firstTable = doc.getFirstSection().getBody().getTables().get(0);
// 2 - Using the "GetChild" method:
Table secondTable = (Table) doc.getChild(NodeType.TABLE, 1, true);
// Append all rows from the current table to the next.
while (secondTable.hasChildNodes())
firstTable.getRows().add(secondTable.getFirstRow());
// Remove the empty table container.
secondTable.remove();
doc.save(getArtifactsDir() + "Table.CombineTables.docx");
Shows how to iterate through all tables in the document and print the contents of each cell.
Document doc = new Document(getMyDir() + "Tables.docx");
TableCollection tables = doc.getFirstSection().getBody().getTables();
Assert.assertEquals(2, tables.toArray().length);
for (int i = 0; i < tables.getCount(); i++) {
System.out.println(MessageFormat.format("Start of Table {0}", i));
RowCollection rows = tables.get(i).getRows();
for (int j = 0; j < rows.getCount(); j++) {
System.out.println(MessageFormat.format("\tStart of Row {0}", j));
CellCollection cells = rows.get(j).getCells();
for (int k = 0; k < cells.getCount(); k++) {
String cellText = cells.get(k).toString(SaveFormat.TEXT).trim();
System.out.println(MessageFormat.format("\t\tContents of Cell:{0} = \"{1}\"", k, cellText));
}
System.out.println(MessageFormat.format("\tEnd of Row {0}", j));
}
System.out.println(MessageFormat.format("End of Table {0}\n", i));
}
RowCollection value.public boolean accept(DocumentVisitor visitor) throws java.lang.Exception
Remarks:
Enumerates over this node and all of its children. Each node calls a corresponding method on DocumentVisitor.
For more info see the Visitor design pattern.
Calls DocumentVisitor.visitTableStart(com.aspose.words.Table), then calls Node.accept(com.aspose.words.DocumentVisitor) for all child nodes of the section and calls DocumentVisitor.visitTableEnd(com.aspose.words.Table) at the end.
Examples:
Shows how to use a DocumentVisitor implementation to remove all hidden content from a document.
public void removeHiddenContentFromDocument() throws Exception {
Document doc = new Document(getMyDir() + "Hidden content.docx");
RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();
// Below are three types of fields which can accept a document visitor,
// which will allow it to visit the accepting node, and then traverse its child nodes in a depth-first manner.
// 1 - Paragraph node:
Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 4, true);
para.accept(hiddenContentRemover);
// 2 - Table node:
Table table = doc.getFirstSection().getBody().getTables().get(0);
table.accept(hiddenContentRemover);
// 3 - Document node:
doc.accept(hiddenContentRemover);
doc.save(getArtifactsDir() + "Font.RemoveHiddenContentFromDocument.docx");
}
/// <summary>
/// Removes all visited nodes marked as "hidden content".
/// </summary>
public static class RemoveHiddenContentVisitor extends DocumentVisitor {
/// <summary>
/// Called when a FieldStart node is encountered in the document.
/// </summary>
public int visitFieldStart(FieldStart fieldStart) {
if (fieldStart.getFont().getHidden())
fieldStart.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldEnd node is encountered in the document.
/// </summary>
public int visitFieldEnd(FieldEnd fieldEnd) {
if (fieldEnd.getFont().getHidden())
fieldEnd.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldSeparator node is encountered in the document.
/// </summary>
public int visitFieldSeparator(FieldSeparator fieldSeparator) {
if (fieldSeparator.getFont().getHidden())
fieldSeparator.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Run node is encountered in the document.
/// </summary>
public int visitRun(Run run) {
if (run.getFont().getHidden())
run.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Paragraph node is encountered in the document.
/// </summary>
public int visitParagraphStart(Paragraph paragraph) {
if (paragraph.getParagraphBreakFont().getHidden())
paragraph.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FormField is encountered in the document.
/// </summary>
public int visitFormField(FormField formField) {
if (formField.getFont().getHidden())
formField.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a GroupShape is encountered in the document.
/// </summary>
public int visitGroupShapeStart(GroupShape groupShape) {
if (groupShape.getFont().getHidden())
groupShape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Shape is encountered in the document.
/// </summary>
public int visitShapeStart(Shape shape) {
if (shape.getFont().getHidden())
shape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Comment is encountered in the document.
/// </summary>
public int visitCommentStart(Comment comment) {
if (comment.getFont().getHidden())
comment.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Footnote is encountered in the document.
/// </summary>
public int visitFootnoteStart(Footnote footnote) {
if (footnote.getFont().getHidden())
footnote.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a SpecialCharacter is encountered in the document.
/// </summary>
public int visitSpecialChar(SpecialChar specialChar) {
if (specialChar.getFont().getHidden())
specialChar.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Table node is ended in the document.
/// </summary>
public int visitTableEnd(Table table) {
// The content inside table cells may have the hidden content flag, but the tables themselves cannot.
// If this table had nothing but hidden content, this visitor would have removed all of it,
// and there would be no child nodes left.
// Thus, we can also treat the table itself as hidden content and remove it.
// Tables which are empty but do not have hidden content will have cells with empty paragraphs inside,
// which this visitor will not remove.
if (!table.hasChildNodes())
table.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Cell node is ended in the document.
/// </summary>
public int visitCellEnd(Cell cell) {
if (!cell.hasChildNodes() && cell.getParentNode() != null)
cell.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Row node is ended in the document.
/// </summary>
public int visitRowEnd(Row row) {
if (!row.hasChildNodes() && row.getParentNode() != null)
row.remove();
return VisitorAction.CONTINUE;
}
}
accept in class Nodevisitor - The visitor that will visit the nodes.DocumentVisitor stopped the operation before visiting all nodes.java.lang.Exceptionpublic int acceptStart(DocumentVisitor visitor) throws java.lang.Exception
Examples:
Shows how to use a DocumentVisitor implementation to remove all hidden content from a document.
public void removeHiddenContentFromDocument() throws Exception {
Document doc = new Document(getMyDir() + "Hidden content.docx");
RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();
// Below are three types of fields which can accept a document visitor,
// which will allow it to visit the accepting node, and then traverse its child nodes in a depth-first manner.
// 1 - Paragraph node:
Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 4, true);
para.accept(hiddenContentRemover);
// 2 - Table node:
Table table = doc.getFirstSection().getBody().getTables().get(0);
table.accept(hiddenContentRemover);
// 3 - Document node:
doc.accept(hiddenContentRemover);
doc.save(getArtifactsDir() + "Font.RemoveHiddenContentFromDocument.docx");
}
/// <summary>
/// Removes all visited nodes marked as "hidden content".
/// </summary>
public static class RemoveHiddenContentVisitor extends DocumentVisitor {
/// <summary>
/// Called when a FieldStart node is encountered in the document.
/// </summary>
public int visitFieldStart(FieldStart fieldStart) {
if (fieldStart.getFont().getHidden())
fieldStart.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldEnd node is encountered in the document.
/// </summary>
public int visitFieldEnd(FieldEnd fieldEnd) {
if (fieldEnd.getFont().getHidden())
fieldEnd.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldSeparator node is encountered in the document.
/// </summary>
public int visitFieldSeparator(FieldSeparator fieldSeparator) {
if (fieldSeparator.getFont().getHidden())
fieldSeparator.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Run node is encountered in the document.
/// </summary>
public int visitRun(Run run) {
if (run.getFont().getHidden())
run.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Paragraph node is encountered in the document.
/// </summary>
public int visitParagraphStart(Paragraph paragraph) {
if (paragraph.getParagraphBreakFont().getHidden())
paragraph.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FormField is encountered in the document.
/// </summary>
public int visitFormField(FormField formField) {
if (formField.getFont().getHidden())
formField.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a GroupShape is encountered in the document.
/// </summary>
public int visitGroupShapeStart(GroupShape groupShape) {
if (groupShape.getFont().getHidden())
groupShape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Shape is encountered in the document.
/// </summary>
public int visitShapeStart(Shape shape) {
if (shape.getFont().getHidden())
shape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Comment is encountered in the document.
/// </summary>
public int visitCommentStart(Comment comment) {
if (comment.getFont().getHidden())
comment.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Footnote is encountered in the document.
/// </summary>
public int visitFootnoteStart(Footnote footnote) {
if (footnote.getFont().getHidden())
footnote.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a SpecialCharacter is encountered in the document.
/// </summary>
public int visitSpecialChar(SpecialChar specialChar) {
if (specialChar.getFont().getHidden())
specialChar.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Table node is ended in the document.
/// </summary>
public int visitTableEnd(Table table) {
// The content inside table cells may have the hidden content flag, but the tables themselves cannot.
// If this table had nothing but hidden content, this visitor would have removed all of it,
// and there would be no child nodes left.
// Thus, we can also treat the table itself as hidden content and remove it.
// Tables which are empty but do not have hidden content will have cells with empty paragraphs inside,
// which this visitor will not remove.
if (!table.hasChildNodes())
table.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Cell node is ended in the document.
/// </summary>
public int visitCellEnd(Cell cell) {
if (!cell.hasChildNodes() && cell.getParentNode() != null)
cell.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Row node is ended in the document.
/// </summary>
public int visitRowEnd(Row row) {
if (!row.hasChildNodes() && row.getParentNode() != null)
row.remove();
return VisitorAction.CONTINUE;
}
}
acceptStart in class CompositeNodevisitor - The document visitor.VisitorAction constants.java.lang.Exceptionpublic int acceptEnd(DocumentVisitor visitor) throws java.lang.Exception
Examples:
Shows how to use a DocumentVisitor implementation to remove all hidden content from a document.
public void removeHiddenContentFromDocument() throws Exception {
Document doc = new Document(getMyDir() + "Hidden content.docx");
RemoveHiddenContentVisitor hiddenContentRemover = new RemoveHiddenContentVisitor();
// Below are three types of fields which can accept a document visitor,
// which will allow it to visit the accepting node, and then traverse its child nodes in a depth-first manner.
// 1 - Paragraph node:
Paragraph para = (Paragraph) doc.getChild(NodeType.PARAGRAPH, 4, true);
para.accept(hiddenContentRemover);
// 2 - Table node:
Table table = doc.getFirstSection().getBody().getTables().get(0);
table.accept(hiddenContentRemover);
// 3 - Document node:
doc.accept(hiddenContentRemover);
doc.save(getArtifactsDir() + "Font.RemoveHiddenContentFromDocument.docx");
}
/// <summary>
/// Removes all visited nodes marked as "hidden content".
/// </summary>
public static class RemoveHiddenContentVisitor extends DocumentVisitor {
/// <summary>
/// Called when a FieldStart node is encountered in the document.
/// </summary>
public int visitFieldStart(FieldStart fieldStart) {
if (fieldStart.getFont().getHidden())
fieldStart.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldEnd node is encountered in the document.
/// </summary>
public int visitFieldEnd(FieldEnd fieldEnd) {
if (fieldEnd.getFont().getHidden())
fieldEnd.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FieldSeparator node is encountered in the document.
/// </summary>
public int visitFieldSeparator(FieldSeparator fieldSeparator) {
if (fieldSeparator.getFont().getHidden())
fieldSeparator.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Run node is encountered in the document.
/// </summary>
public int visitRun(Run run) {
if (run.getFont().getHidden())
run.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Paragraph node is encountered in the document.
/// </summary>
public int visitParagraphStart(Paragraph paragraph) {
if (paragraph.getParagraphBreakFont().getHidden())
paragraph.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a FormField is encountered in the document.
/// </summary>
public int visitFormField(FormField formField) {
if (formField.getFont().getHidden())
formField.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a GroupShape is encountered in the document.
/// </summary>
public int visitGroupShapeStart(GroupShape groupShape) {
if (groupShape.getFont().getHidden())
groupShape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Shape is encountered in the document.
/// </summary>
public int visitShapeStart(Shape shape) {
if (shape.getFont().getHidden())
shape.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Comment is encountered in the document.
/// </summary>
public int visitCommentStart(Comment comment) {
if (comment.getFont().getHidden())
comment.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a Footnote is encountered in the document.
/// </summary>
public int visitFootnoteStart(Footnote footnote) {
if (footnote.getFont().getHidden())
footnote.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when a SpecialCharacter is encountered in the document.
/// </summary>
public int visitSpecialChar(SpecialChar specialChar) {
if (specialChar.getFont().getHidden())
specialChar.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Table node is ended in the document.
/// </summary>
public int visitTableEnd(Table table) {
// The content inside table cells may have the hidden content flag, but the tables themselves cannot.
// If this table had nothing but hidden content, this visitor would have removed all of it,
// and there would be no child nodes left.
// Thus, we can also treat the table itself as hidden content and remove it.
// Tables which are empty but do not have hidden content will have cells with empty paragraphs inside,
// which this visitor will not remove.
if (!table.hasChildNodes())
table.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Cell node is ended in the document.
/// </summary>
public int visitCellEnd(Cell cell) {
if (!cell.hasChildNodes() && cell.getParentNode() != null)
cell.remove();
return VisitorAction.CONTINUE;
}
/// <summary>
/// Called when visiting of a Row node is ended in the document.
/// </summary>
public int visitRowEnd(Row row) {
if (!row.hasChildNodes() && row.getParentNode() != null)
row.remove();
return VisitorAction.CONTINUE;
}
}
acceptEnd in class CompositeNodevisitor - The document visitor.VisitorAction constants.java.lang.Exceptionpublic void ensureMinimum()
Row.
Examples:
Shows how to ensure that a table node contains the nodes we need to add content.
Document doc = new Document();
Table table = new Table(doc);
doc.getFirstSection().getBody().appendChild(table);
// Tables contain rows, which contain cells, which may contain paragraphs
// with typical elements such as runs, shapes, and even other tables.
// Our new table has none of these nodes, and we cannot add contents to it until it does.
Assert.assertEquals(0, table.getChildNodes(NodeType.ANY, true).getCount());
// Calling the "EnsureMinimum" method on a table will ensure that
// the table has at least one row and one cell with an empty paragraph.
table.ensureMinimum();
table.getFirstRow().getFirstCell().getFirstParagraph().appendChild(new Run(doc, "Hello world!"));
public int getAlignment()
Remarks:
The default value is TableAlignment.LEFT.
Examples:
Shows how to apply an outline border to a table.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
// Align the table to the center of the page.
table.setAlignment(TableAlignment.CENTER);
// Clear any existing borders and shading from the table.
table.clearBorders();
table.clearShading();
// Add green borders to the outline of the table.
table.setBorder(BorderType.LEFT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.RIGHT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.TOP, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.BOTTOM, LineStyle.SINGLE, 1.5, Color.GREEN, true);
// Fill the cells with a light green solid color.
table.setShading(TextureIndex.TEXTURE_SOLID, Color.GREEN, Color.GREEN);
doc.save(getArtifactsDir() + "Table.SetOutlineBorders.docx");
int value. The returned value is one of TableAlignment constants.public void setAlignment(int value)
throws java.lang.Exception
Remarks:
The default value is TableAlignment.LEFT.
Examples:
Shows how to apply an outline border to a table.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
// Align the table to the center of the page.
table.setAlignment(TableAlignment.CENTER);
// Clear any existing borders and shading from the table.
table.clearBorders();
table.clearShading();
// Add green borders to the outline of the table.
table.setBorder(BorderType.LEFT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.RIGHT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.TOP, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.BOTTOM, LineStyle.SINGLE, 1.5, Color.GREEN, true);
// Fill the cells with a light green solid color.
table.setShading(TextureIndex.TEXTURE_SOLID, Color.GREEN, Color.GREEN);
doc.save(getArtifactsDir() + "Table.SetOutlineBorders.docx");
value - The corresponding int value. The value must be one of TableAlignment constants.java.lang.Exceptionpublic boolean getAllowAutoFit()
Remarks:
The default value is true.
Examples:
Shows how to enable/disable automatic table cell resizing.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPoints(100.0));
builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.AUTO);
builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
builder.endRow();
builder.endTable();
// Set the "AllowAutoFit" property to "false" to get the table to maintain the dimensions
// of all its rows and cells, and truncate contents if they get too large to fit.
// Set the "AllowAutoFit" property to "true" to allow the table to change its cells' width and height
// to accommodate their contents.
table.setAllowAutoFit(allowAutoFit);
doc.save(getArtifactsDir() + "Table.AllowAutoFitOnTable.html");
M:Aspose.Words.Tables.Table.AutoFit(Aspose.Words.Tables.AutoFitBehavior)boolean value.public void setAllowAutoFit(boolean value)
throws java.lang.Exception
Remarks:
The default value is true.
Examples:
Shows how to enable/disable automatic table cell resizing.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.fromPoints(100.0));
builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
builder.insertCell();
builder.getCellFormat().setPreferredWidth(PreferredWidth.AUTO);
builder.write("Lorem ipsum dolor sit amet, consectetur adipiscing elit, " +
"sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
builder.endRow();
builder.endTable();
// Set the "AllowAutoFit" property to "false" to get the table to maintain the dimensions
// of all its rows and cells, and truncate contents if they get too large to fit.
// Set the "AllowAutoFit" property to "true" to allow the table to change its cells' width and height
// to accommodate their contents.
table.setAllowAutoFit(allowAutoFit);
doc.save(getArtifactsDir() + "Table.AllowAutoFitOnTable.html");
M:Aspose.Words.Tables.Table.AutoFit(Aspose.Words.Tables.AutoFitBehavior)value - The corresponding boolean value.java.lang.Exceptionpublic PreferredWidth getPreferredWidth()
Remarks:
The default value is PreferredWidth.AUTO.
Examples:
Shows how to set a table to auto fit to 50% of the width of the page.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Cell #1");
builder.insertCell();
builder.write("Cell #2");
builder.insertCell();
builder.write("Cell #3");
table.setPreferredWidth(PreferredWidth.fromPercent(50.0));
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithPreferredWidth.docx");
public void setPreferredWidth(PreferredWidth value) throws java.lang.Exception
Remarks:
The default value is PreferredWidth.AUTO.
Examples:
Shows how to set a table to auto fit to 50% of the width of the page.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Cell #1");
builder.insertCell();
builder.write("Cell #2");
builder.insertCell();
builder.write("Cell #3");
table.setPreferredWidth(PreferredWidth.fromPercent(50.0));
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithPreferredWidth.docx");
value - The table preferred width.java.lang.Exceptionpublic boolean getBidi()
Remarks:
When true, the cells in this row are laid out right to left.
The default value is false.
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
public void setBidi(boolean value)
throws java.lang.Exception
Remarks:
When true, the cells in this row are laid out right to left.
The default value is false.
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
value - Whether this is a right-to-left table.java.lang.Exceptionpublic double getLeftPadding()
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
public void setLeftPadding(double value)
throws java.lang.Exception
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
value - The amount of space (in points) to add to the left of the contents of cells.java.lang.Exceptionpublic double getRightPadding()
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
public void setRightPadding(double value)
throws java.lang.Exception
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
value - The amount of space (in points) to add to the right of the contents of cells.java.lang.Exceptionpublic double getTopPadding()
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
public void setTopPadding(double value)
throws java.lang.Exception
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
value - The amount of space (in points) to add above the contents of cells.java.lang.Exceptionpublic double getBottomPadding()
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
public void setBottomPadding(double value)
throws java.lang.Exception
Examples:
Shows how to configure content padding in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Row 1, cell 1.");
builder.insertCell();
builder.write("Row 1, cell 2.");
builder.endTable();
// For every cell in the table, set the distance between its contents and each of its borders.
// This table will maintain the minimum padding distance by wrapping text.
table.setLeftPadding(30.0);
table.setRightPadding(60.0);
table.setTopPadding(10.0);
table.setBottomPadding(90.0);
table.setPreferredWidth(PreferredWidth.fromPoints(250.0));
doc.save(getArtifactsDir() + "DocumentBuilder.SetRowFormatting.docx");
value - The amount of space (in points) to add below the contents of cells.java.lang.Exceptionpublic double getCellSpacing()
Examples:
Shows how to enable spacing between individual cells in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Animal");
builder.insertCell();
builder.write("Class");
builder.endRow();
builder.insertCell();
builder.write("Dog");
builder.insertCell();
builder.write("Mammal");
builder.endTable();
table.setCellSpacing(3.0);
// Set the "AllowCellSpacing" property to "true" to enable spacing between cells
// with a magnitude equal to the value of the "CellSpacing" property, in points.
// Set the "AllowCellSpacing" property to "false" to disable cell spacing
// and ignore the value of the "CellSpacing" property.
table.setAllowCellSpacing(allowCellSpacing);
doc.save(getArtifactsDir() + "Table.AllowCellSpacing.html");
// Adjusting the "CellSpacing" property will automatically enable cell spacing.
table.setCellSpacing(5.0);
Assert.assertTrue(table.getAllowCellSpacing());
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
public void setCellSpacing(double value)
throws java.lang.Exception
Examples:
Shows how to enable spacing between individual cells in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Animal");
builder.insertCell();
builder.write("Class");
builder.endRow();
builder.insertCell();
builder.write("Dog");
builder.insertCell();
builder.write("Mammal");
builder.endTable();
table.setCellSpacing(3.0);
// Set the "AllowCellSpacing" property to "true" to enable spacing between cells
// with a magnitude equal to the value of the "CellSpacing" property, in points.
// Set the "AllowCellSpacing" property to "false" to disable cell spacing
// and ignore the value of the "CellSpacing" property.
table.setAllowCellSpacing(allowCellSpacing);
doc.save(getArtifactsDir() + "Table.AllowCellSpacing.html");
// Adjusting the "CellSpacing" property will automatically enable cell spacing.
table.setCellSpacing(5.0);
Assert.assertTrue(table.getAllowCellSpacing());
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
value - The amount of space (in points) between the cells.java.lang.Exceptionpublic boolean getAllowCellSpacing()
Examples:
Shows how to enable spacing between individual cells in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Animal");
builder.insertCell();
builder.write("Class");
builder.endRow();
builder.insertCell();
builder.write("Dog");
builder.insertCell();
builder.write("Mammal");
builder.endTable();
table.setCellSpacing(3.0);
// Set the "AllowCellSpacing" property to "true" to enable spacing between cells
// with a magnitude equal to the value of the "CellSpacing" property, in points.
// Set the "AllowCellSpacing" property to "false" to disable cell spacing
// and ignore the value of the "CellSpacing" property.
table.setAllowCellSpacing(allowCellSpacing);
doc.save(getArtifactsDir() + "Table.AllowCellSpacing.html");
// Adjusting the "CellSpacing" property will automatically enable cell spacing.
table.setCellSpacing(5.0);
Assert.assertTrue(table.getAllowCellSpacing());
public void setAllowCellSpacing(boolean value)
throws java.lang.Exception
Examples:
Shows how to enable spacing between individual cells in a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Animal");
builder.insertCell();
builder.write("Class");
builder.endRow();
builder.insertCell();
builder.write("Dog");
builder.insertCell();
builder.write("Mammal");
builder.endTable();
table.setCellSpacing(3.0);
// Set the "AllowCellSpacing" property to "true" to enable spacing between cells
// with a magnitude equal to the value of the "CellSpacing" property, in points.
// Set the "AllowCellSpacing" property to "false" to disable cell spacing
// and ignore the value of the "CellSpacing" property.
table.setAllowCellSpacing(allowCellSpacing);
doc.save(getArtifactsDir() + "Table.AllowCellSpacing.html");
// Adjusting the "CellSpacing" property will automatically enable cell spacing.
table.setCellSpacing(5.0);
Assert.assertTrue(table.getAllowCellSpacing());
value - The "Allow spacing between cells" option.java.lang.Exceptionpublic double getLeftIndent()
Examples:
Shows how to create a formatted table using DocumentBuilder.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
table.setLeftIndent(20.0);
// Set some formatting options for text and table appearance.
builder.getRowFormat().setHeight(40.0);
builder.getRowFormat().setHeightRule(HeightRule.AT_LEAST);
builder.getCellFormat().getShading().setBackgroundPatternColor(new Color((198), (217), (241)));
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.getFont().setSize(16.0);
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
// Configuring the formatting options in a document builder will apply them
// to the current cell/row its cursor is in,
// as well as any new cells and rows created using that builder.
builder.write("Header Row,\n Cell 1");
builder.insertCell();
builder.write("Header Row,\n Cell 2");
builder.insertCell();
builder.write("Header Row,\n Cell 3");
builder.endRow();
// Reconfigure the builder's formatting objects for new rows and cells that we are about to make.
// The builder will not apply these to the first row already created so that it will stand out as a header row.
builder.getCellFormat().getShading().setBackgroundPatternColor(Color.WHITE);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.getRowFormat().setHeight(30.0);
builder.getRowFormat().setHeightRule(HeightRule.AUTO);
builder.insertCell();
builder.getFont().setSize(12.0);
builder.getFont().setBold(false);
builder.write("Row 1, Cell 1.");
builder.insertCell();
builder.write("Row 1, Cell 2.");
builder.insertCell();
builder.write("Row 1, Cell 3.");
builder.endRow();
builder.insertCell();
builder.write("Row 2, Cell 1.");
builder.insertCell();
builder.write("Row 2, Cell 2.");
builder.insertCell();
builder.write("Row 2, Cell 3.");
builder.endRow();
builder.endTable();
doc.save(getArtifactsDir() + "DocumentBuilder.CreateFormattedTable.docx");
public void setLeftIndent(double value)
throws java.lang.Exception
Examples:
Shows how to create a formatted table using DocumentBuilder.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
table.setLeftIndent(20.0);
// Set some formatting options for text and table appearance.
builder.getRowFormat().setHeight(40.0);
builder.getRowFormat().setHeightRule(HeightRule.AT_LEAST);
builder.getCellFormat().getShading().setBackgroundPatternColor(new Color((198), (217), (241)));
builder.getParagraphFormat().setAlignment(ParagraphAlignment.CENTER);
builder.getFont().setSize(16.0);
builder.getFont().setName("Arial");
builder.getFont().setBold(true);
// Configuring the formatting options in a document builder will apply them
// to the current cell/row its cursor is in,
// as well as any new cells and rows created using that builder.
builder.write("Header Row,\n Cell 1");
builder.insertCell();
builder.write("Header Row,\n Cell 2");
builder.insertCell();
builder.write("Header Row,\n Cell 3");
builder.endRow();
// Reconfigure the builder's formatting objects for new rows and cells that we are about to make.
// The builder will not apply these to the first row already created so that it will stand out as a header row.
builder.getCellFormat().getShading().setBackgroundPatternColor(Color.WHITE);
builder.getCellFormat().setVerticalAlignment(CellVerticalAlignment.CENTER);
builder.getRowFormat().setHeight(30.0);
builder.getRowFormat().setHeightRule(HeightRule.AUTO);
builder.insertCell();
builder.getFont().setSize(12.0);
builder.getFont().setBold(false);
builder.write("Row 1, Cell 1.");
builder.insertCell();
builder.write("Row 1, Cell 2.");
builder.insertCell();
builder.write("Row 1, Cell 3.");
builder.endRow();
builder.insertCell();
builder.write("Row 2, Cell 1.");
builder.insertCell();
builder.write("Row 2, Cell 2.");
builder.insertCell();
builder.write("Row 2, Cell 3.");
builder.endRow();
builder.endTable();
doc.save(getArtifactsDir() + "DocumentBuilder.CreateFormattedTable.docx");
value - The value that represents the left indent of the table.java.lang.Exceptionpublic int getStyleOptions()
Examples:
Shows how to build a new table while applying a style.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// We must insert at least one row before setting any table formatting.
builder.insertCell();
// Set the table style used based on the style identifier.
// Note that not all table styles are available when saving to .doc format.
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
// Partially apply the style to features of the table based on predicates, then build the table.
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");
builder.endRow();
builder.insertCell();
builder.writeln("Apples");
builder.insertCell();
builder.writeln("20");
builder.endRow();
builder.insertCell();
builder.writeln("Bananas");
builder.insertCell();
builder.writeln("40");
builder.endRow();
builder.insertCell();
builder.writeln("Carrots");
builder.insertCell();
builder.writeln("50");
builder.endRow();
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithStyle.docx");
TableStyleOptions constants.public void setStyleOptions(int value)
throws java.lang.Exception
Examples:
Shows how to build a new table while applying a style.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// We must insert at least one row before setting any table formatting.
builder.insertCell();
// Set the table style used based on the style identifier.
// Note that not all table styles are available when saving to .doc format.
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
// Partially apply the style to features of the table based on predicates, then build the table.
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");
builder.endRow();
builder.insertCell();
builder.writeln("Apples");
builder.insertCell();
builder.writeln("20");
builder.endRow();
builder.insertCell();
builder.writeln("Bananas");
builder.insertCell();
builder.writeln("40");
builder.endRow();
builder.insertCell();
builder.writeln("Carrots");
builder.insertCell();
builder.writeln("50");
builder.endRow();
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithStyle.docx");
value - Bit flags that specify how a table style is applied to this table. The value must be a bitwise combination of TableStyleOptions constants.java.lang.Exceptionpublic Style getStyle()
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
public void setStyle(Style value) throws java.lang.Exception
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
value - The table style applied to this table.java.lang.Exceptionpublic java.lang.String getStyleName()
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
public void setStyleName(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to create custom style settings for the table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Name");
builder.insertCell();
builder.write("مرحبًا");
builder.endRow();
builder.insertCell();
builder.insertCell();
builder.endTable();
TableStyle tableStyle = (TableStyle) doc.getStyles().add(StyleType.TABLE, "MyTableStyle1");
tableStyle.setAllowBreakAcrossPages(true);
tableStyle.setBidi(true);
tableStyle.setCellSpacing(5.0);
tableStyle.setBottomPadding(20.0);
tableStyle.setLeftPadding(5.0);
tableStyle.setRightPadding(10.0);
tableStyle.setTopPadding(20.0);
tableStyle.getShading().setBackgroundPatternColor(Color.WHITE);
tableStyle.getBorders().setColor(Color.BLACK);
tableStyle.getBorders().setLineStyle(LineStyle.DOT_DASH);
tableStyle.setVerticalAlignment(CellVerticalAlignment.CENTER);
table.setStyle(tableStyle);
// Setting the style properties of a table may affect the properties of the table itself.
Assert.assertTrue(table.getBidi());
Assert.assertEquals(5.0d, table.getCellSpacing());
Assert.assertEquals("MyTableStyle1", table.getStyleName());
doc.save(getArtifactsDir() + "Table.TableStyleCreation.docx");
value - The name of the table style applied to this table.java.lang.Exceptionpublic int getStyleIdentifier()
Examples:
Shows how to build a new table while applying a style.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// We must insert at least one row before setting any table formatting.
builder.insertCell();
// Set the table style used based on the style identifier.
// Note that not all table styles are available when saving to .doc format.
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
// Partially apply the style to features of the table based on predicates, then build the table.
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");
builder.endRow();
builder.insertCell();
builder.writeln("Apples");
builder.insertCell();
builder.writeln("20");
builder.endRow();
builder.insertCell();
builder.writeln("Bananas");
builder.insertCell();
builder.writeln("40");
builder.endRow();
builder.insertCell();
builder.writeln("Carrots");
builder.insertCell();
builder.writeln("50");
builder.endRow();
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithStyle.docx");
StyleIdentifier constants.public void setStyleIdentifier(int value)
throws java.lang.Exception
Examples:
Shows how to build a new table while applying a style.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// We must insert at least one row before setting any table formatting.
builder.insertCell();
// Set the table style used based on the style identifier.
// Note that not all table styles are available when saving to .doc format.
table.setStyleIdentifier(StyleIdentifier.MEDIUM_SHADING_1_ACCENT_1);
// Partially apply the style to features of the table based on predicates, then build the table.
table.setStyleOptions(TableStyleOptions.FIRST_COLUMN | TableStyleOptions.ROW_BANDS | TableStyleOptions.FIRST_ROW);
table.autoFit(AutoFitBehavior.AUTO_FIT_TO_CONTENTS);
builder.writeln("Item");
builder.getCellFormat().setRightPadding(40.0);
builder.insertCell();
builder.writeln("Quantity (kg)");
builder.endRow();
builder.insertCell();
builder.writeln("Apples");
builder.insertCell();
builder.writeln("20");
builder.endRow();
builder.insertCell();
builder.writeln("Bananas");
builder.insertCell();
builder.writeln("40");
builder.endRow();
builder.insertCell();
builder.writeln("Carrots");
builder.insertCell();
builder.writeln("50");
builder.endRow();
doc.save(getArtifactsDir() + "DocumentBuilder.InsertTableWithStyle.docx");
value - The locale independent style identifier of the table style applied to this table. The value must be one of StyleIdentifier constants.java.lang.Exceptionpublic int getTextWrapping()
getTextWrapping() / setTextWrapping(int) for table.
Examples:
Shows how to work with table text wrapping.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Cell 1");
builder.insertCell();
builder.write("Cell 2");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
builder.getFont().setSize(16.0);
builder.writeln("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
// Set the "TextWrapping" property to "TextWrapping.Around" to get the table to wrap text around it,
// and push it down into the paragraph below by setting the position.
table.setTextWrapping(TextWrapping.AROUND);
table.setAbsoluteHorizontalDistance(100.0);
table.setAbsoluteVerticalDistance(20.0);
doc.save(getArtifactsDir() + "Table.WrapText.docx");
getTextWrapping() / setTextWrapping(int) for table. The returned value is one of TextWrapping constants.public void setTextWrapping(int value)
throws java.lang.Exception
getTextWrapping() / setTextWrapping(int) for table.
Examples:
Shows how to work with table text wrapping.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Cell 1");
builder.insertCell();
builder.write("Cell 2");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
builder.getFont().setSize(16.0);
builder.writeln("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.");
// Set the "TextWrapping" property to "TextWrapping.Around" to get the table to wrap text around it,
// and push it down into the paragraph below by setting the position.
table.setTextWrapping(TextWrapping.AROUND);
table.setAbsoluteHorizontalDistance(100.0);
table.setAbsoluteVerticalDistance(20.0);
doc.save(getArtifactsDir() + "Table.WrapText.docx");
value - getTextWrapping() / setTextWrapping(int) for table. The value must be one of TextWrapping constants.java.lang.Exceptionpublic java.lang.String getTitle()
Remarks:
The default value is an empty string.
This property is meaningful for ISO/IEC 29500 compliant DOCX documents ( OoxmlCompliance). When saved to pre-ISO/IEC 29500 formats, the property is ignored.
Examples:
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
public void setTitle(java.lang.String value)
throws java.lang.Exception
Remarks:
The default value is an empty string.
This property is meaningful for ISO/IEC 29500 compliant DOCX documents ( OoxmlCompliance). When saved to pre-ISO/IEC 29500 formats, the property is ignored.
Examples:
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
value - Title of this table.java.lang.Exceptionpublic java.lang.String getDescription()
Remarks:
The default value is an empty string.
This property is meaningful for ISO/IEC 29500 compliant DOCX documents ( OoxmlCompliance). When saved to pre-ISO/IEC 29500 formats, the property is ignored.
Examples:
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
public void setDescription(java.lang.String value)
throws java.lang.Exception
Remarks:
The default value is an empty string.
This property is meaningful for ISO/IEC 29500 compliant DOCX documents ( OoxmlCompliance). When saved to pre-ISO/IEC 29500 formats, the property is ignored.
Examples:
Shows how to build a nested table without using a document builder.
public void createNestedTable() throws Exception {
Document doc = new Document();
// Create the outer table with three rows and four columns, and then add it to the document.
Table outerTable = createTable(doc, 3, 4, "Outer Table");
doc.getFirstSection().getBody().appendChild(outerTable);
// Create another table with two rows and two columns and then insert it into the first table's first cell.
Table innerTable = createTable(doc, 2, 2, "Inner Table");
outerTable.getFirstRow().getFirstCell().appendChild(innerTable);
doc.save(getArtifactsDir() + "Table.CreateNestedTable.docx");
}
// Creates a new table in the document with the given dimensions and text in each cell.
private Table createTable(final Document doc, final int rowCount, final int cellCount, final String cellText) throws Exception {
Table table = new Table(doc);
for (int rowId = 1; rowId <= rowCount; rowId++) {
Row row = new Row(doc);
table.appendChild(row);
for (int cellId = 1; cellId <= cellCount; cellId++) {
Cell cell = new Cell(doc);
cell.appendChild(new Paragraph(doc));
cell.getFirstParagraph().appendChild(new Run(doc, cellText));
row.appendChild(cell);
}
}
// You can use the "Title" and "Description" properties to add a title and description respectively to your table.
// The table must have at least one row before we can use these properties.
// These properties are meaningful for ISO / IEC 29500 compliant .docx documents (see the OoxmlCompliance class).
// If we save the document to pre-ISO/IEC 29500 formats, Microsoft Word ignores these properties.
table.setTitle("Aspose table title");
table.setDescription("Aspose table description");
return table;
}
value - Description of this table.java.lang.Exceptionpublic double getDistanceLeft()
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
public void setDistanceLeft(double value)
throws java.lang.Exception
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
value - Distance between table left and the surrounding text, in points.java.lang.Exceptionpublic double getDistanceRight()
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
public void setDistanceRight(double value)
throws java.lang.Exception
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
value - Distance between table right and the surrounding text, in points.java.lang.Exceptionpublic double getDistanceTop()
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
public void setDistanceTop(double value)
throws java.lang.Exception
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
value - Distance between table top and the surrounding text, in points.java.lang.Exceptionpublic double getDistanceBottom()
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
public void setDistanceBottom(double value)
throws java.lang.Exception
Examples:
Shows how to set distance between table boundaries and text.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = (Table) doc.getChild(NodeType.TABLE, 0, true);
Assert.assertEquals(table.getDistanceTop(), 25.9d);
Assert.assertEquals(table.getDistanceBottom(), 25.9d);
Assert.assertEquals(table.getDistanceLeft(), 17.3d);
Assert.assertEquals(table.getDistanceRight(), 17.3d);
// Set distance between table and surrounding text.
table.setDistanceLeft(24.0);
table.setDistanceRight(24.0);
table.setDistanceTop(3.0);
table.setDistanceBottom(3.0);
doc.save(getArtifactsDir() + "Table.DistanceBetweenTableAndText.docx");
value - Distance between table bottom and the surrounding text, in points.java.lang.Exceptionpublic int getRelativeHorizontalAlignment()
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
HorizontalAlignment constants.public void setRelativeHorizontalAlignment(int value)
throws java.lang.Exception
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
value - Floating table relative horizontal alignment. The value must be one of HorizontalAlignment constants.java.lang.Exceptionpublic int getRelativeVerticalAlignment()
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
VerticalAlignment constants.public void setRelativeVerticalAlignment(int value)
throws java.lang.Exception
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
value - Floating table relative vertical alignment. The value must be one of VerticalAlignment constants.java.lang.Exceptionpublic int getHorizontalAnchor()
RelativeHorizontalPosition.COLUMN.
Examples:
Shows how to work with floating tables properties.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
if (table.getTextWrapping() == TextWrapping.AROUND) {
Assert.assertEquals(RelativeHorizontalPosition.MARGIN, table.getHorizontalAnchor());
Assert.assertEquals(RelativeVerticalPosition.PARAGRAPH, table.getVerticalAnchor());
Assert.assertEquals(false, table.getAllowOverlap());
// Only Margin, Page, Column available in RelativeHorizontalPosition for HorizontalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
// Only Margin, Page, Paragraph available in RelativeVerticalPosition for VerticalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
}
RelativeHorizontalPosition constants.public void setHorizontalAnchor(int value)
throws java.lang.Exception
RelativeHorizontalPosition.COLUMN.
Examples:
Shows how to work with floating tables properties.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
if (table.getTextWrapping() == TextWrapping.AROUND) {
Assert.assertEquals(RelativeHorizontalPosition.MARGIN, table.getHorizontalAnchor());
Assert.assertEquals(RelativeVerticalPosition.PARAGRAPH, table.getVerticalAnchor());
Assert.assertEquals(false, table.getAllowOverlap());
// Only Margin, Page, Column available in RelativeHorizontalPosition for HorizontalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
// Only Margin, Page, Paragraph available in RelativeVerticalPosition for VerticalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
}
value - The base object from which the horizontal positioning of floating table should be calculated. The value must be one of RelativeHorizontalPosition constants.java.lang.Exceptionpublic int getVerticalAnchor()
RelativeVerticalPosition.MARGIN.
Examples:
Shows how to work with floating tables properties.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
if (table.getTextWrapping() == TextWrapping.AROUND) {
Assert.assertEquals(RelativeHorizontalPosition.MARGIN, table.getHorizontalAnchor());
Assert.assertEquals(RelativeVerticalPosition.PARAGRAPH, table.getVerticalAnchor());
Assert.assertEquals(false, table.getAllowOverlap());
// Only Margin, Page, Column available in RelativeHorizontalPosition for HorizontalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
// Only Margin, Page, Paragraph available in RelativeVerticalPosition for VerticalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
}
RelativeVerticalPosition constants.public void setVerticalAnchor(int value)
throws java.lang.Exception
RelativeVerticalPosition.MARGIN.
Examples:
Shows how to work with floating tables properties.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
if (table.getTextWrapping() == TextWrapping.AROUND) {
Assert.assertEquals(RelativeHorizontalPosition.MARGIN, table.getHorizontalAnchor());
Assert.assertEquals(RelativeVerticalPosition.PARAGRAPH, table.getVerticalAnchor());
Assert.assertEquals(false, table.getAllowOverlap());
// Only Margin, Page, Column available in RelativeHorizontalPosition for HorizontalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
// Only Margin, Page, Paragraph available in RelativeVerticalPosition for VerticalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
}
value - The base object from which the vertical positioning of floating table should be calculated. The value must be one of RelativeVerticalPosition constants.java.lang.Exceptionpublic double getAbsoluteHorizontalDistance()
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
public void setAbsoluteHorizontalDistance(double value)
throws java.lang.Exception
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
value - Absolute horizontal floating table position specified by the table properties, in points.java.lang.Exceptionpublic double getAbsoluteVerticalDistance()
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
public void setAbsoluteVerticalDistance(double value)
throws java.lang.Exception
Examples:
Shows how set the location of floating tables.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Table 1, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// Set the table's location to a place on the page, such as, in this case, the bottom right corner.
table.setRelativeVerticalAlignment(VerticalAlignment.BOTTOM);
table.setRelativeHorizontalAlignment(HorizontalAlignment.RIGHT);
table = builder.startTable();
builder.insertCell();
builder.write("Table 2, cell 1");
builder.endTable();
table.setPreferredWidth(PreferredWidth.fromPoints(300.0));
// We can also set a horizontal and vertical offset in points from the paragraph's location where we inserted the table.
table.setAbsoluteVerticalDistance(50.0);
table.setAbsoluteHorizontalDistance(100.0);
doc.save(getArtifactsDir() + "Table.ChangeFloatingTableProperties.docx");
value - Absolute vertical floating table position specified by the table properties, in points.java.lang.Exceptionpublic boolean getAllowOverlap()
true.
Examples:
Shows how to work with floating tables properties.
Document doc = new Document(getMyDir() + "Table wrapped by text.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
if (table.getTextWrapping() == TextWrapping.AROUND) {
Assert.assertEquals(RelativeHorizontalPosition.MARGIN, table.getHorizontalAnchor());
Assert.assertEquals(RelativeVerticalPosition.PARAGRAPH, table.getVerticalAnchor());
Assert.assertEquals(false, table.getAllowOverlap());
// Only Margin, Page, Column available in RelativeHorizontalPosition for HorizontalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setHorizontalAnchor(RelativeHorizontalPosition.COLUMN);
// Only Margin, Page, Paragraph available in RelativeVerticalPosition for VerticalAnchor setter.
// The ArgumentException will be thrown for any other values.
table.setVerticalAnchor(RelativeVerticalPosition.PAGE);
}
public void setBorders(int lineStyle,
double lineWidth,
java.awt.Color color)
throws java.lang.Exception
java.lang.Exceptionpublic void setBorder(int borderType,
int lineStyle,
double lineWidth,
java.awt.Color color,
boolean isOverrideCellBorders)
throws java.lang.Exception
java.lang.Exceptionpublic void clearBorders()
Examples:
Shows how to apply an outline border to a table.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
// Align the table to the center of the page.
table.setAlignment(TableAlignment.CENTER);
// Clear any existing borders and shading from the table.
table.clearBorders();
table.clearShading();
// Add green borders to the outline of the table.
table.setBorder(BorderType.LEFT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.RIGHT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.TOP, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.BOTTOM, LineStyle.SINGLE, 1.5, Color.GREEN, true);
// Fill the cells with a light green solid color.
table.setShading(TextureIndex.TEXTURE_SOLID, Color.GREEN, Color.GREEN);
doc.save(getArtifactsDir() + "Table.SetOutlineBorders.docx");
Shows how to remove all borders from a table.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
builder.insertCell();
builder.write("Hello world!");
builder.endTable();
// Modify the color and thickness of the top border.
Border topBorder = table.getFirstRow().getRowFormat().getBorders().getByBorderType(BorderType.TOP);
table.setBorder(BorderType.TOP, LineStyle.DOUBLE, 1.5, Color.RED, true);
Assert.assertEquals(1.5d, topBorder.getLineWidth());
Assert.assertEquals(Color.RED.getRGB(), topBorder.getColor().getRGB());
Assert.assertEquals(LineStyle.DOUBLE, topBorder.getLineStyle());
// Clear the borders of all cells in the table, and then save the document.
table.clearBorders();
Border finalTopBorder = topBorder;
doc.save(getArtifactsDir() + "Table.ClearBorders.docx");
// Verify the values of the table's properties after re-opening the document.
doc = new Document(getArtifactsDir() + "Table.ClearBorders.docx");
table = doc.getFirstSection().getBody().getTables().get(0);
topBorder = table.getFirstRow().getRowFormat().getBorders().getByBorderType(BorderType.TOP);
Assert.assertEquals(0.0d, topBorder.getLineWidth());
Assert.assertEquals(0, topBorder.getColor().getRGB());
Assert.assertEquals(LineStyle.NONE, topBorder.getLineStyle());
public void setShading(int texture,
java.awt.Color foregroundColor,
java.awt.Color backgroundColor)
public void clearShading()
Examples:
Shows how to apply an outline border to a table.
Document doc = new Document(getMyDir() + "Tables.docx");
Table table = doc.getFirstSection().getBody().getTables().get(0);
// Align the table to the center of the page.
table.setAlignment(TableAlignment.CENTER);
// Clear any existing borders and shading from the table.
table.clearBorders();
table.clearShading();
// Add green borders to the outline of the table.
table.setBorder(BorderType.LEFT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.RIGHT, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.TOP, LineStyle.SINGLE, 1.5, Color.GREEN, true);
table.setBorder(BorderType.BOTTOM, LineStyle.SINGLE, 1.5, Color.GREEN, true);
// Fill the cells with a light green solid color.
table.setShading(TextureIndex.TEXTURE_SOLID, Color.GREEN, Color.GREEN);
doc.save(getArtifactsDir() + "Table.SetOutlineBorders.docx");
public void autoFit(int behavior)
throws java.lang.Exception
java.lang.Exception