public class FieldDdeAuto extends Field
To learn more, visit the Working with Fields documentation article.
Remarks:
For information copied from another application, this field links that information to its original source file using DDE and is updated automatically.
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
| Modifier and Type | Method and Description |
|---|---|
boolean |
getInsertAsBitmap()
Gets whether to insert the linked object as a bitmap.
|
boolean |
getInsertAsHtml()
Gets whether to insert the linked object as HTML format text.
|
boolean |
getInsertAsPicture()
Gets whether to insert the linked object as a picture.
|
boolean |
getInsertAsRtf()
Gets whether to insert the linked object in rich-text format (RTF).
|
boolean |
getInsertAsText()
Gets whether to insert the linked object in text-only format.
|
boolean |
getInsertAsUnicode()
Gets whether to insert the linked object as Unicode text.
|
java.lang.String |
getProgId()
Gets the application type of the link information.
|
java.lang.String |
getSourceFullName()
Gets the name and location of the source file.
|
java.lang.String |
getSourceItem()
Gets the portion of the source file that's being linked.
|
int |
getSwitchType(java.lang.String switchName) |
boolean |
isLinked()
Gets whether to reduce the file size by not storing graphics data with the document.
|
void |
isLinked(boolean value)
Sets whether to reduce the file size by not storing graphics data with the document.
|
void |
setInsertAsBitmap(boolean value)
Sets whether to insert the linked object as a bitmap.
|
void |
setInsertAsHtml(boolean value)
Sets whether to insert the linked object as HTML format text.
|
void |
setInsertAsPicture(boolean value)
Sets whether to insert the linked object as a picture.
|
void |
setInsertAsRtf(boolean value)
Sets whether to insert the linked object in rich-text format (RTF).
|
void |
setInsertAsText(boolean value)
Sets whether to insert the linked object in text-only format.
|
void |
setInsertAsUnicode(boolean value)
Sets whether to insert the linked object as Unicode text.
|
void |
setProgId(java.lang.String value)
Sets the application type of the link information.
|
void |
setSourceFullName(java.lang.String value)
Sets the name and location of the source file.
|
void |
setSourceItem(java.lang.String value)
Sets the portion of the source file that's being linked.
|
getDisplayResult, getEnd, getFieldCode, getFieldCode, getFormat, getLocaleId, getResult, getSeparator, getStart, getType, isDirty, isDirty, isLocked, isLocked, needStoreOldResultNodes, remove, setLocaleId, setResult, unlink, update, updatepublic java.lang.String getProgId()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setProgId(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - The application type of the link information.java.lang.Exceptionpublic java.lang.String getSourceFullName()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setSourceFullName(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - The name and location of the source file.java.lang.Exceptionpublic java.lang.String getSourceItem()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setSourceItem(java.lang.String value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - The portion of the source file that's being linked.java.lang.Exceptionpublic boolean getInsertAsBitmap()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsBitmap(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object as a bitmap.java.lang.Exceptionpublic boolean isLinked()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void isLinked(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to reduce the file size by not storing graphics data with the document.java.lang.Exceptionpublic boolean getInsertAsHtml()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsHtml(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object as HTML format text.java.lang.Exceptionpublic boolean getInsertAsPicture()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsPicture(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object as a picture.java.lang.Exceptionpublic boolean getInsertAsRtf()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsRtf(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object in rich-text format (RTF).java.lang.Exceptionpublic boolean getInsertAsText()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsText(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object in text-only format.java.lang.Exceptionpublic boolean getInsertAsUnicode()
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
public void setInsertAsUnicode(boolean value)
throws java.lang.Exception
Examples:
Shows how to use various field types to link to other documents in the local file system, and display their contents.
public void fieldLinkedObjectsAsText(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of text.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Word.Document.8", getMyDir() + "Document.docx", null, true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.docx");
}
public static Object[][] fieldLinkedObjectsAsTextDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.TEXT},
{InsertLinkedObjectAs.UNICODE},
{InsertLinkedObjectAs.HTML},
{InsertLinkedObjectAs.RTF},
};
}
public void fieldLinkedObjectsAsImage(int insertLinkedObjectAs) throws Exception {
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// Below are three types of fields we can use to display contents from a linked document in the form of an image.
// 1 - A LINK field:
builder.writeln("FieldLink:\n");
insertFieldLink(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "MySpreadsheet.xlsx",
"Sheet1!R2C2", true);
// 2 - A DDE field:
builder.writeln("FieldDde:\n");
insertFieldDde(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true, true);
// 3 - A DDEAUTO field:
builder.writeln("FieldDdeAuto:\n");
insertFieldDdeAuto(builder, insertLinkedObjectAs, "Excel.Sheet", getMyDir() + "Spreadsheet.xlsx",
"Sheet1!R1C1", true);
doc.updateFields();
doc.save(getArtifactsDir() + "Field.LINK.DDE.DDEAUTO.AsImage.docx");
}
public static Object[][] fieldLinkedObjectsAsImageDataProvider() {
return new Object[][]
{
{InsertLinkedObjectAs.PICTURE},
{InsertLinkedObjectAs.BITMAP},
};
}
/// <summary>
/// Use a document builder to insert a LINK field and set its properties according to parameters.
/// </summary>
private void insertFieldLink(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean shouldAutoUpdate) throws Exception {
FieldLink field = (FieldLink) builder.insertField(FieldType.FIELD_LINK, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDE field, and set its properties according to parameters.
/// </summary>
private void insertFieldDde(final DocumentBuilder builder, final int insertLinkedObjectAs, final String progId,
final String sourceFullName, final String sourceItem, final boolean isLinked,
final boolean shouldAutoUpdate) throws Exception {
FieldDde field = (FieldDde) builder.insertField(FieldType.FIELD_DDE, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setAutoUpdate(shouldAutoUpdate);
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
builder.writeln("\n");
}
/// <summary>
/// Use a document builder to insert a DDEAUTO, field and set its properties according to parameters.
/// </summary>
private void insertFieldDdeAuto(final DocumentBuilder builder, final int insertLinkedObjectAs,
final String progId, final String sourceFullName, final String sourceItem,
final boolean isLinked) throws Exception {
FieldDdeAuto field = (FieldDdeAuto) builder.insertField(FieldType.FIELD_DDE_AUTO, true);
switch (insertLinkedObjectAs) {
case InsertLinkedObjectAs.TEXT:
field.setInsertAsText(true);
break;
case InsertLinkedObjectAs.UNICODE:
field.setInsertAsUnicode(true);
break;
case InsertLinkedObjectAs.HTML:
field.setInsertAsHtml(true);
break;
case InsertLinkedObjectAs.RTF:
field.setInsertAsRtf(true);
break;
case InsertLinkedObjectAs.PICTURE:
field.setInsertAsPicture(true);
break;
case InsertLinkedObjectAs.BITMAP:
field.setInsertAsBitmap(true);
break;
}
field.setProgId(progId);
field.setSourceFullName(sourceFullName);
field.setSourceItem(sourceItem);
field.isLinked(isLinked);
}
public final class InsertLinkedObjectAs {
private InsertLinkedObjectAs() {
}
// LinkedObjectAsText
public static final int TEXT = 0;
public static final int UNICODE = 1;
public static final int HTML = 2;
public static final int RTF = 3;
// LinkedObjectAsImage
public static final int PICTURE = 4;
public static final int BITMAP = 5;
public static final int length = 6;
}
value - Whether to insert the linked object as Unicode text.java.lang.Exceptionpublic int getSwitchType(java.lang.String switchName)