public class SdtType
extends java.lang.Object
Examples:
Shows how to create a structured document tag of the Citation type.
Document doc = new Document();
StructuredDocumentTag sdt = new StructuredDocumentTag(doc, SdtType.CITATION, MarkupLevel.INLINE);
Paragraph paragraph = doc.getFirstSection().getBody().getFirstParagraph();
paragraph.appendChild(sdt);
// Create a Citation field.
DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToParagraph(0, -1);
builder.insertField("CITATION Ath22 \\l 1033 ", "(John Lennon, 2022)");
// Move the field to the structured document tag.
while (sdt.getNextSibling() != null)
sdt.appendChild(sdt.getNextSibling());
doc.save(getArtifactsDir() + "StructuredDocumentTag.Citation.docx");
Shows how to create group structured document tag at the Row level.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
Table table = builder.startTable();
// Create a Group structured document tag at the Row level.
StructuredDocumentTag groupSdt = new StructuredDocumentTag(doc, SdtType.GROUP, MarkupLevel.ROW);
table.appendChild(groupSdt);
groupSdt.isShowingPlaceholderText(false);
groupSdt.removeAllChildren();
// Create a child row of the structured document tag.
Row row = new Row(doc);
groupSdt.appendChild(row);
Cell cell = new Cell(doc);
row.appendChild(cell);
builder.endTable();
// Insert cell contents.
cell.ensureMinimum();
builder.moveTo(cell.getLastParagraph());
builder.write("Lorem ipsum dolor.");
// Insert text after the table.
builder.moveTo(table.getNextSibling());
builder.write("Nulla blandit nisi.");
doc.save(getArtifactsDir() + "StructuredDocumentTag.SdtAtRowLevel.docx");
Shows how to work with styles for content control elements.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are two ways to apply a style from the document to a structured document tag.
// 1 - Apply a style object from the document's style collection:
Style quoteStyle = doc.getStyles().getByStyleIdentifier(StyleIdentifier.QUOTE);
StructuredDocumentTag sdtPlainText = new StructuredDocumentTag(doc, SdtType.PLAIN_TEXT, MarkupLevel.INLINE);
sdtPlainText.setStyle(quoteStyle);
// 2 - Reference a style in the document by name:
StructuredDocumentTag sdtRichText = new StructuredDocumentTag(doc, SdtType.RICH_TEXT, MarkupLevel.INLINE);
sdtRichText.setStyleName("Quote");
builder.insertNode(sdtPlainText);
builder.insertNode(sdtRichText);
Assert.assertEquals(NodeType.STRUCTURED_DOCUMENT_TAG, sdtPlainText.getNodeType());
NodeCollection tags = doc.getChildNodes(NodeType.STRUCTURED_DOCUMENT_TAG, true);
for (StructuredDocumentTag sdt : (Iterable<StructuredDocumentTag>) tags) {
Assert.assertEquals(StyleIdentifier.QUOTE, sdt.getStyle().getStyleIdentifier());
Assert.assertEquals("Quote", sdt.getStyleName());
}
Shows how to fill a table with data from in an XML part.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
CustomXmlPart xmlPart = doc.getCustomXmlParts().add("Books",
"<books>" +
"<book>" +
"<title>Everyday Italian</title>" +
"<author>Giada De Laurentiis</author>" +
"</book>" +
"<book>" +
"<title>The C Programming Language</title>" +
"<author>Brian W. Kernighan, Dennis M. Ritchie</author>" +
"</book>" +
"<book>" +
"<title>Learning XML</title>" +
"<author>Erik T. Ray</author>" +
"</book>" +
"</books>");
// Create headers for data from the XML content.
Table table = builder.startTable();
builder.insertCell();
builder.write("Title");
builder.insertCell();
builder.write("Author");
builder.endRow();
builder.endTable();
// Create a table with a repeating section inside.
StructuredDocumentTag repeatingSectionSdt =
new StructuredDocumentTag(doc, SdtType.REPEATING_SECTION, MarkupLevel.ROW);
repeatingSectionSdt.getXmlMapping().setMapping(xmlPart, "/books[1]/book", "");
table.appendChild(repeatingSectionSdt);
// Add repeating section item inside the repeating section and mark it as a row.
// This table will have a row for each element that we can find in the XML document
// using the "/books[1]/book" XPath, of which there are three.
StructuredDocumentTag repeatingSectionItemSdt =
new StructuredDocumentTag(doc, SdtType.REPEATING_SECTION_ITEM, MarkupLevel.ROW);
repeatingSectionSdt.appendChild(repeatingSectionItemSdt);
Row row = new Row(doc);
repeatingSectionItemSdt.appendChild(row);
// Map XML data with created table cells for the title and author of each book.
StructuredDocumentTag titleSdt =
new StructuredDocumentTag(doc, SdtType.PLAIN_TEXT, MarkupLevel.CELL);
titleSdt.getXmlMapping().setMapping(xmlPart, "/books[1]/book[1]/title[1]", "");
row.appendChild(titleSdt);
StructuredDocumentTag authorSdt =
new StructuredDocumentTag(doc, SdtType.PLAIN_TEXT, MarkupLevel.CELL);
authorSdt.getXmlMapping().setMapping(xmlPart, "/books[1]/book[1]/author[1]", "");
row.appendChild(authorSdt);
doc.save(getArtifactsDir() + "StructuredDocumentTag.RepeatingSectionItem.docx");
| Modifier and Type | Field and Description |
|---|---|
static int |
BIBLIOGRAPHY
The SDT represents a bibliography entry.
|
static int |
BUILDING_BLOCK_GALLERY
The SDT represents a building block gallery type.
|
static int |
CHECKBOX
The SDT represents a checkbox when displayed in the document.
|
static int |
CITATION
The SDT represents a citation.
|
static int |
COMBO_BOX
The SDT represents a combo box when displayed in the document.
|
static int |
DATE
The SDT represents a date picker when displayed in the document.
|
static int |
DOC_PART_OBJ
The SDT represents a document part type.
|
static int |
DROP_DOWN_LIST
The SDT represents a drop down list when displayed in the document.
|
static int |
ENTITY_PICKER
The SDT represents an entity picker that allows the user to select an instance of an external content type.
|
static int |
EQUATION
The SDT represents an equation.
|
static int |
GROUP
The SDT represents a restricted grouping when displayed in the document.
|
static int |
length |
static int |
NONE
No type is assigned to the SDT.
|
static int |
PICTURE
The SDT represents a picture when displayed in the document.
|
static int |
PLAIN_TEXT
The SDT represents a plain text box when displayed in the document.
|
static int |
REPEATING_SECTION
The SDT represents repeating section type when displayed in the document.
|
static int |
REPEATING_SECTION_ITEM
The SDT represents repeating section item.
|
static int |
RICH_TEXT
The SDT represents a rich text box when displayed in the document.
|
| Modifier and Type | Method and Description |
|---|---|
static int |
fromName(java.lang.String sdtTypeName) |
static java.lang.String |
getName(int sdtType) |
static int[] |
getValues() |
static java.lang.String |
toString(int sdtType) |
public static int NONE
public static int BIBLIOGRAPHY
public static int CITATION
public static int EQUATION
public static int DROP_DOWN_LIST
public static int COMBO_BOX
public static int DATE
public static int BUILDING_BLOCK_GALLERY
public static int DOC_PART_OBJ
public static int GROUP
public static int PICTURE
public static int RICH_TEXT
public static int PLAIN_TEXT
public static int CHECKBOX
Remarks:
This is MS-specific feature available since Office 2010 and not supported by the ISO/IEC 29500 OOXML standard.
public static int REPEATING_SECTION
Remarks:
This is MS-specific feature available since Office 2013 and not supported by the ISO/IEC 29500 OOXML standard.
public static int REPEATING_SECTION_ITEM
Remarks:
This is MS-specific feature available since Office 2013 and not supported by the ISO/IEC 29500 OOXML standard.
public static int ENTITY_PICKER
Remarks:
This is MS-specific feature available since Office 2010 and not supported by the ISO/IEC 29500 OOXML standard.
public static int length