CustomDocumentProperties
Inheritance: java.lang.Object, com.aspose.words.DocumentPropertyCollection
public class CustomDocumentProperties extends DocumentPropertyCollection
A collection of custom document properties.
To learn more, visit the Work with Document Properties documentation article.
Remarks:
Each DocumentProperty object represents a custom property of a container document.
The names of the properties are case-insensitive.
The properties in the collection are sorted alphabetically by name.
Examples:
Shows how to work with custom document properties.
Document doc = new Document(getMyDir() + "Properties.docx");
// Every document contains a collection of custom properties, which, like the built-in properties, are key-value pairs.
// The document has a fixed list of built-in properties. The user creates all of the custom properties.
Assert.assertEquals("Value of custom document property", doc.getCustomDocumentProperties().get("CustomProperty").toString());
doc.getCustomDocumentProperties().add("CustomProperty2", "Value of custom document property #2");
System.out.println("Custom Properties:");
for (DocumentProperty customDocumentProperty : doc.getCustomDocumentProperties()) {
System.out.println(customDocumentProperty.getName());
System.out.println(MessageFormat.format("\tType:\t{0}", customDocumentProperty.getType()));
System.out.println(MessageFormat.format("\tValue:\t\"{0}\"", customDocumentProperty.getValue()));
}
Methods
Method | Description |
---|---|
add(String name, boolean value) | Creates a new custom document property of the PropertyType.BOOLEAN data type. |
add(String name, double value) | Creates a new custom document property of the PropertyType.DOUBLE data type. |
add(String name, int value) | Creates a new custom document property of the PropertyType.NUMBER data type. |
add(String name, String value) | Creates a new custom document property. |
add(String name, Date value) | Creates a new custom document property of the PropertyType.DATE_TIME data type. |
addLinkToContent(String name, String linkSource) | Creates a new linked to content custom document property. |
clear() | Removes all properties from the collection. |
contains(String name) | Returns true if a property with the specified name exists in the collection. |
get(int index) | Returns a DocumentProperty object by index. |
get(String name) | Provides access to the collection items. |
getCount() | Gets number of items in the collection. |
indexOf(String name) | Gets the index of a property by name. |
iterator() | Returns an iterator object that can be used to iterate over all items in the collection. |
remove(String name) | Removes a property with the specified name from the collection. |
removeAt(int index) | Removes a property at the specified index. |
add(String name, boolean value)
public DocumentProperty add(String name, boolean value)
Creates a new custom document property of the PropertyType.BOOLEAN data type.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
value | boolean | The value of the property. |
Returns: DocumentProperty - The newly created property object.
add(String name, double value)
public DocumentProperty add(String name, double value)
Creates a new custom document property of the PropertyType.DOUBLE data type.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
value | double | The value of the property. |
Returns: DocumentProperty - The newly created property object.
add(String name, int value)
public DocumentProperty add(String name, int value)
Creates a new custom document property of the PropertyType.NUMBER data type.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
value | int | The value of the property. |
Returns: DocumentProperty - The newly created property object.
add(String name, String value)
public DocumentProperty add(String name, String value)
Creates a new custom document property. Creates a new custom document property of the PropertyType.STRING data type.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
value | java.lang.String | The value of the property. |
Returns: DocumentProperty - The newly created property object.
add(String name, Date value)
public DocumentProperty add(String name, Date value)
Creates a new custom document property of the PropertyType.DATE_TIME data type.
Examples:
Shows how to create a custom document property which contains a date and time.
Document doc = new Document();
doc.getCustomDocumentProperties().add("AuthorizationDate", new Date());
System.out.println(MessageFormat.format("Document authorized on {0}", doc.getCustomDocumentProperties().get("AuthorizationDate")));
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
value | java.util.Date | The value of the property. |
Returns: DocumentProperty - The newly created property object.
addLinkToContent(String name, String linkSource)
public DocumentProperty addLinkToContent(String name, String linkSource)
Creates a new linked to content custom document property.
Examples:
Shows how to link a custom document property to a bookmark.
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.startBookmark("MyBookmark");
builder.write("Hello world!");
builder.endBookmark("MyBookmark");
// Link a new custom property to a bookmark. The value of this property
// will be the contents of the bookmark that it references in the "LinkSource" member.
CustomDocumentProperties customProperties = doc.getCustomDocumentProperties();
DocumentProperty customProperty = customProperties.addLinkToContent("Bookmark", "MyBookmark");
Assert.assertEquals(true, customProperty.isLinkToContent());
Assert.assertEquals("MyBookmark", customProperty.getLinkSource());
Assert.assertEquals("Hello world!", customProperty.getValue());
doc.save(getArtifactsDir() + "DocumentProperties.LinkCustomDocumentPropertiesToBookmark.docx");
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The name of the property. |
linkSource | java.lang.String | The source of the property. |
Returns: DocumentProperty - The newly created property object or null when the linkSource is invalid.
clear()
public void clear()
Removes all properties from the collection.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
contains(String name)
public boolean contains(String name)
Returns true if a property with the specified name exists in the collection.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The case-insensitive name of the property. |
Returns: boolean - true if the property exists in the collection; false otherwise.
get(int index)
public DocumentProperty get(int index)
Returns a DocumentProperty object by index.
Remarks:
Note: In Java this method is slow because iterates over all nodes.
Examples:
Shows how to work with custom document properties.
Document doc = new Document(getMyDir() + "Properties.docx");
// Every document contains a collection of custom properties, which, like the built-in properties, are key-value pairs.
// The document has a fixed list of built-in properties. The user creates all of the custom properties.
Assert.assertEquals("Value of custom document property", doc.getCustomDocumentProperties().get("CustomProperty").toString());
doc.getCustomDocumentProperties().add("CustomProperty2", "Value of custom document property #2");
System.out.println("Custom Properties:");
for (DocumentProperty customDocumentProperty : doc.getCustomDocumentProperties()) {
System.out.println(customDocumentProperty.getName());
System.out.println(MessageFormat.format("\tType:\t{0}", customDocumentProperty.getType()));
System.out.println(MessageFormat.format("\tValue:\t\"{0}\"", customDocumentProperty.getValue()));
}
Parameters:
Parameter | Type | Description |
---|---|---|
index | int | Zero-based index of the DocumentProperty to retrieve. |
Returns: DocumentProperty - A DocumentProperty object by index.
get(String name)
public DocumentProperty get(String name)
Provides access to the collection items. Returns a DocumentProperty object by the name of the property.
Remarks:
Returns null if a property with the specified name is not found.
Examples:
Shows how to create a custom document property which contains a date and time.
Document doc = new Document();
doc.getCustomDocumentProperties().add("AuthorizationDate", new Date());
System.out.println(MessageFormat.format("Document authorized on {0}", doc.getCustomDocumentProperties().get("AuthorizationDate")));
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The case-insensitive name of the property to retrieve. |
Returns: DocumentProperty - The corresponding DocumentProperty value.
getCount()
public int getCount()
Gets number of items in the collection.
Examples:
Shows how to work with custom document properties.
Document doc = new Document(getMyDir() + "Properties.docx");
// Every document contains a collection of custom properties, which, like the built-in properties, are key-value pairs.
// The document has a fixed list of built-in properties. The user creates all of the custom properties.
Assert.assertEquals("Value of custom document property", doc.getCustomDocumentProperties().get("CustomProperty").toString());
doc.getCustomDocumentProperties().add("CustomProperty2", "Value of custom document property #2");
System.out.println("Custom Properties:");
for (DocumentProperty customDocumentProperty : doc.getCustomDocumentProperties()) {
System.out.println(customDocumentProperty.getName());
System.out.println(MessageFormat.format("\tType:\t{0}", customDocumentProperty.getType()));
System.out.println(MessageFormat.format("\tValue:\t\"{0}\"", customDocumentProperty.getValue()));
}
Returns: int - Number of items in the collection.
indexOf(String name)
public int indexOf(String name)
Gets the index of a property by name.
Remarks:
Note: In Java this method is slow because iterates over all nodes.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The case-insensitive name of the property. |
Returns: int - The zero based index. Negative value if not found.
iterator()
public Iterator iterator()
Returns an iterator object that can be used to iterate over all items in the collection.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Returns: java.util.Iterator
remove(String name)
public void remove(String name)
Removes a property with the specified name from the collection.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
name | java.lang.String | The case-insensitive name of the property. |
removeAt(int index)
public void removeAt(int index)
Removes a property at the specified index.
Remarks:
Note: In Java this method is slow because iterates over all nodes.
Examples:
Shows how to work with a document’s custom properties.
Document doc = new Document();
CustomDocumentProperties properties = doc.getCustomDocumentProperties();
Assert.assertEquals(0, properties.getCount());
// Custom document properties are key-value pairs that we can add to the document.
properties.add("Authorized", true);
properties.add("Authorized By", "John Doe");
properties.add("Authorized Date", new Date());
properties.add("Authorized Revision", doc.getBuiltInDocumentProperties().getRevisionNumber());
properties.add("Authorized Amount", 123.45);
// The collection sorts the custom properties in alphabetic order.
Assert.assertEquals(1, properties.indexOf("Authorized Amount"));
Assert.assertEquals(5, properties.getCount());
// Print every custom property in the document.
Iterator enumerator = properties.iterator();
while (enumerator.hasNext()) {
DocumentProperty property = enumerator.next();
System.out.println(MessageFormat.format("Name: \"{0}\"\n\tType: \"{1}\"\n\tValue: \"{2}\"", property.getName(), property.getType(), property.getValue()));
}
// Display the value of a custom property using a DOCPROPERTY field.
DocumentBuilder builder = new DocumentBuilder(doc);
FieldDocProperty field = (FieldDocProperty) builder.insertField(" DOCPROPERTY \"Authorized By\"");
field.update();
Assert.assertEquals("John Doe", field.getResult());
// We can find these custom properties in Microsoft Word via "File" -> "Properties" > "Advanced Properties" > "Custom".
doc.save(getArtifactsDir() + "DocumentProperties.DocumentPropertyCollection.docx");
// Below are three ways or removing custom properties from a document.
// 1 - Remove by index:
properties.removeAt(1);
Assert.assertFalse(properties.contains("Authorized Amount"));
Assert.assertEquals(4, properties.getCount());
// 2 - Remove by name:
properties.remove("Authorized Revision");
Assert.assertFalse(properties.contains("Authorized Revision"));
Assert.assertEquals(3, properties.getCount());
// 3 - Empty the entire collection at once:
properties.clear();
Assert.assertEquals(0, properties.getCount());
Parameters:
Parameter | Type | Description |
---|---|---|
index | int | The zero based index. |