java.lang.Object
com.aspose.words.ControlChar
public abstract class ControlChar
To learn more, visit the Working With Control Characters documentation article. Example:
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert paragraphs with text with DocumentBuilder.
builder.writeln("Hello world!");
builder.writeln("Hello again!");
// Converting the document to text form reveals that control characters
// represent some of the document's structural elements, such as page breaks.
Assert.assertEquals(MessageFormat.format("Hello world!{0}", ControlChar.CR) +
MessageFormat.format("Hello again!{0}", ControlChar.CR) +
ControlChar.PAGE_BREAK, doc.getText());
// When converting a document to string form,
// we can omit some of the control characters with the Trim method.
Assert.assertEquals(MessageFormat.format("Hello world!{0}", ControlChar.CR) +
"Hello again!", doc.getText().trim());
| Field Summary | ||
|---|---|---|
static final java.lang.String | CELL | |
| End of a table cell or end of a table row character: "\x0007" or "\a". | ||
static final java.lang.String | TAB | |
| Tab character: "\x0009" or "\t". | ||
static final java.lang.String | LF | |
|
Line feed character: "\x000a" or "\n". Same as |
||
static final java.lang.String | LINE_FEED | |
|
Line feed character: "\x000a" or "\n". Same as |
||
static final java.lang.String | LINE_BREAK | |
| Line break character: "\x000b" or "\v". | ||
static final java.lang.String | PAGE_BREAK | |
|
Page break character: "\x000c" or "\f". Note it has the same value as |
||
static final java.lang.String | SECTION_BREAK | |
|
End of section character: "\x000c" or "\f". Note it has the same value as |
||
static final java.lang.String | CR | |
|
Carriage return character: "\x000d" or "\r". Same as |
||
static final java.lang.String | PARAGRAPH_BREAK | |
|
End of paragraph character: "\x000d" or "\r". Same as |
||
static final java.lang.String | COLUMN_BREAK | |
| End of column character: "\x000e". | ||
static final java.lang.String | CR_LF | |
| Carriage return followed by line feed character: "\x000d\x000a" or "\r\n". Not used as such in Microsoft Word documents, but commonly used in text files for paragraph breaks. | ||
static final java.lang.String | NON_BREAKING_SPACE | |
| Non-breaking space character: "\x00a0". | ||
static final char | CELL_CHAR | |
| End of a table cell or end of a table row character: (char)7 or "\a". | ||
static final char | TAB_CHAR | |
| Tab character: (char)9 or "\t". | ||
static final char | LINE_FEED_CHAR | |
| Line feed character: (char)10 or "\n". | ||
static final char | LINE_BREAK_CHAR | |
| Line break character: (char)11 or "\v". | ||
static final char | PAGE_BREAK_CHAR | |
| Page break character: (char)12 or "\f". | ||
static final char | SECTION_BREAK_CHAR | |
| End of section character: (char)12 or "\f". | ||
static final char | PARAGRAPH_BREAK_CHAR | |
| End of paragraph character: (char)13 or "\r". | ||
static final char | COLUMN_BREAK_CHAR | |
| End of column character: (char)14. | ||
static final char | FIELD_START_CHAR | |
| Start of MS Word field character: (char)19. | ||
static final char | FIELD_SEPARATOR_CHAR | |
| Field separator character separates field code from field value. Optional in some fields. Value: (char)20. | ||
static final char | FIELD_END_CHAR | |
| End of MS Word field character: (char)21. | ||
static final char | NON_BREAKING_HYPHEN_CHAR | |
| Non-breaking Hyphen in Microsoft Word is (char)30. | ||
static final char | OPTIONAL_HYPHEN_CHAR | |
| Optional Hyphen in Microsoft Word is (char)31. | ||
static final char | SPACE_CHAR | |
| Space character: (char)32. | ||
static final char | NON_BREAKING_SPACE_CHAR | |
| Non-breaking space character: (char)160. | ||
static final char | DEFAULT_TEXT_INPUT_CHAR | |
| This is the "o" character used as a default value in text input form fields. | ||
| Field Detail |
|---|
CELL | |
public static final java.lang.String CELL | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);TAB | |
public static final java.lang.String TAB | |
Example:
Shows how to set a custom interval for tab stop positions.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Set tab stops to appear every 72 points (1 inch).
builder.getDocument().setDefaultTabStop(72.0);
// Each tab character snaps the text after it to the next closest tab stop position.
builder.writeln("Hello" + ControlChar.TAB + "World!");
builder.writeln("Hello" + ControlChar.TAB_CHAR + "World!");LF | |
public static final java.lang.String LF | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);LINE_FEED | |
public static final java.lang.String LINE_FEED | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);LINE_BREAK | |
public static final java.lang.String LINE_BREAK | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);PAGE_BREAK | |
public static final java.lang.String PAGE_BREAK | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);SECTION_BREAK | |
public static final java.lang.String SECTION_BREAK | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);CR | |
public static final java.lang.String CR | |
Example:
Shows how to use control characters.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Insert paragraphs with text with DocumentBuilder.
builder.writeln("Hello world!");
builder.writeln("Hello again!");
// Converting the document to text form reveals that control characters
// represent some of the document's structural elements, such as page breaks.
Assert.assertEquals(MessageFormat.format("Hello world!{0}", ControlChar.CR) +
MessageFormat.format("Hello again!{0}", ControlChar.CR) +
ControlChar.PAGE_BREAK, doc.getText());
// When converting a document to string form,
// we can omit some of the control characters with the Trim method.
Assert.assertEquals(MessageFormat.format("Hello world!{0}", ControlChar.CR) +
"Hello again!", doc.getText().trim());PARAGRAPH_BREAK | |
public static final java.lang.String PARAGRAPH_BREAK | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);COLUMN_BREAK | |
public static final java.lang.String COLUMN_BREAK | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);CR_LF | |
public static final java.lang.String CR_LF | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);NON_BREAKING_SPACE | |
public static final java.lang.String NON_BREAKING_SPACE | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);CELL_CHAR | |
public static final char CELL_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);TAB_CHAR | |
public static final char TAB_CHAR | |
Example:
Shows how to set a custom interval for tab stop positions.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Set tab stops to appear every 72 points (1 inch).
builder.getDocument().setDefaultTabStop(72.0);
// Each tab character snaps the text after it to the next closest tab stop position.
builder.writeln("Hello" + ControlChar.TAB + "World!");
builder.writeln("Hello" + ControlChar.TAB_CHAR + "World!");LINE_FEED_CHAR | |
public static final char LINE_FEED_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);LINE_BREAK_CHAR | |
public static final char LINE_BREAK_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);PAGE_BREAK_CHAR | |
public static final char PAGE_BREAK_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);SECTION_BREAK_CHAR | |
public static final char SECTION_BREAK_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);PARAGRAPH_BREAK_CHAR | |
public static final char PARAGRAPH_BREAK_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);COLUMN_BREAK_CHAR | |
public static final char COLUMN_BREAK_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);FIELD_START_CHAR | |
public static final char FIELD_START_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);FIELD_SEPARATOR_CHAR | |
public static final char FIELD_SEPARATOR_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);FIELD_END_CHAR | |
public static final char FIELD_END_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);NON_BREAKING_HYPHEN_CHAR | |
public static final char NON_BREAKING_HYPHEN_CHAR | |
Non-breaking Hyphen in Microsoft Word does not correspond to the Unicode character U+2011 non-breaking hyphen but instead represents internal information that tells Microsoft Word to display a hyphen and not to break a line.
Useful info: http://www.cs.tut.fi/~jkorpela/dashes.html#linebreaks.
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);OPTIONAL_HYPHEN_CHAR | |
public static final char OPTIONAL_HYPHEN_CHAR | |
Optional Hyphen in Microsoft Word does not correspond to the Unicode character U+00AD soft hyphen. Instead, it inserts internal information that tells Word about a possible hyphenation point.
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);SPACE_CHAR | |
public static final char SPACE_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);NON_BREAKING_SPACE_CHAR | |
public static final char NON_BREAKING_SPACE_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);DEFAULT_TEXT_INPUT_CHAR | |
public static final char DEFAULT_TEXT_INPUT_CHAR | |
Example:
Shows how to add various control characters to a document.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Add a regular space.
builder.write("Before space." + ControlChar.SPACE_CHAR + "After space.");
// Add an NBSP, which is a non-breaking space.
// Unlike the regular space, this space cannot have an automatic line break at its position.
builder.write("Before space." + ControlChar.NON_BREAKING_SPACE + "After space.");
// Add a tab character.
builder.write("Before tab." + ControlChar.TAB + "After tab.");
// Add a line break.
builder.write("Before line break." + ControlChar.LINE_BREAK + "After line break.");
// Add a new line and starts a new paragraph.
Assert.assertEquals(1, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
builder.write("Before line feed." + ControlChar.LINE_FEED + "After line feed.");
Assert.assertEquals(2, doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount());
// The line feed character has two versions.
Assert.assertEquals(ControlChar.LINE_FEED, ControlChar.LF);
// Carriage returns and line feeds can be represented together by one character.
Assert.assertEquals(ControlChar.CR_LF, ControlChar.CR + ControlChar.LF);
// Add a paragraph break, which will start a new paragraph.
builder.write("Before paragraph break." + ControlChar.PARAGRAPH_BREAK + "After paragraph break.");
Assert.assertEquals(doc.getFirstSection().getBody().getChildNodes(NodeType.PARAGRAPH, true).getCount(), 3);
// Add a section break. This does not make a new section or paragraph.
Assert.assertEquals(doc.getSections().getCount(), 1);
builder.write("Before section break." + ControlChar.SECTION_BREAK + "After section break.");
Assert.assertEquals(doc.getSections().getCount(), 1);
// Add a page break.
builder.write("Before page break." + ControlChar.PAGE_BREAK + "After page break.");
// A page break is the same value as a section break.
Assert.assertEquals(ControlChar.PAGE_BREAK, ControlChar.SECTION_BREAK);
// Insert a new section, and then set its column count to two.
doc.appendChild(new Section(doc));
builder.moveToSection(1);
builder.getCurrentSection().getPageSetup().getTextColumns().setCount(2);
// We can use a control character to mark the point where text moves to the next column.
builder.write("Text at end of column 1." + ControlChar.COLUMN_BREAK + "Text at beginning of column 2.");
doc.save(getArtifactsDir() + "ControlChar.InsertControlChars.docx");
// There are char and string counterparts for most characters.
Assert.assertEquals(ControlChar.CELL.toCharArray()[0], ControlChar.CELL_CHAR);
Assert.assertEquals(ControlChar.NON_BREAKING_SPACE.toCharArray()[0], ControlChar.NON_BREAKING_SPACE_CHAR);
Assert.assertEquals(ControlChar.TAB.toCharArray()[0], ControlChar.TAB_CHAR);
Assert.assertEquals(ControlChar.LINE_BREAK.toCharArray()[0], ControlChar.LINE_BREAK_CHAR);
Assert.assertEquals(ControlChar.LINE_FEED.toCharArray()[0], ControlChar.LINE_FEED_CHAR);
Assert.assertEquals(ControlChar.PARAGRAPH_BREAK.toCharArray()[0], ControlChar.PARAGRAPH_BREAK_CHAR);
Assert.assertEquals(ControlChar.SECTION_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.PAGE_BREAK.toCharArray()[0], ControlChar.SECTION_BREAK_CHAR);
Assert.assertEquals(ControlChar.COLUMN_BREAK.toCharArray()[0], ControlChar.COLUMN_BREAK_CHAR);