org.apache.pdfbox.pdmodel

## Class PDDocumentInformation

- java.lang.Object
- - org.apache.pdfbox.pdmodel.PDDocumentInformation

All Implemented Interfaces:
  COSObjectable

    public class PDDocumentInformation
    extends Object
    implements COSObjectable

This is the document metadata. Each getXXX method will return the entry if it exists or null if it does not exist. If you pass in null for the setXXX method then it will clear the value.

Author:
  Ben Litchfield, Gerardo Ortiz

### Constructor Summary

Constructors
Constructor and Description
`PDDocumentInformation()` Default Constructor.
`PDDocumentInformation(COSDictionary dic)` Constructor that is used for a preexisting dictionary.

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `getAuthor()` This will get the author of the document.
`COSDictionary` `getCOSObject()` This will get the underlying dictionary that this object wraps.
`Calendar` `getCreationDate()` This will get the creation date of the document.
`String` `getCreator()` This will get the creator of the document.
`String` `getCustomMetadataValue(String fieldName)` This will get the value of a custom metadata information field for the document.
`String` `getKeywords()` This will get the keywords of the document.
`Set<String>` `getMetadataKeys()` This will get the keys of all metadata information fields for the document.
`Calendar` `getModificationDate()` This will get the modification date of the document.
`String` `getProducer()` This will get the producer of the document.
`Object` `getPropertyStringValue(String propertyKey)` Return the properties String value.
`String` `getSubject()` This will get the subject of the document.
`String` `getTitle()` This will get the title of the document.
`String` `getTrapped()` This will get the trapped value for the document.
`void` `setAuthor(String author)` This will set the author of the document.
`void` `setCreationDate(Calendar date)` This will set the creation date of the document.
`void` `setCreator(String creator)` This will set the creator of the document.
`void` `setCustomMetadataValue(String fieldName, String fieldValue)` Set the custom metadata value.
`void` `setKeywords(String keywords)` This will set the keywords of the document.
`void` `setModificationDate(Calendar date)` This will set the modification date of the document.
`void` `setProducer(String producer)` This will set the producer of the document.
`void` `setSubject(String subject)` This will set the subject of the document.
`void` `setTitle(String title)` This will set the title of the document.
`void` `setTrapped(String value)` This will set the trapped of the document.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PDDocumentInformation

    public PDDocumentInformation()

Default Constructor.

#### PDDocumentInformation

    public PDDocumentInformation(COSDictionary dic)

Constructor that is used for a preexisting dictionary.

Parameters:
  `dic` - The underlying dictionary.

### Method Detail

#### getCOSObject

    public COSDictionary getCOSObject()

This will get the underlying dictionary that this object wraps.

Specified by:
  `getCOSObject` in interface `COSObjectable`
Returns:
  The underlying info dictionary.

#### getPropertyStringValue

    public Object getPropertyStringValue(String propertyKey)

Return the properties String value.

Allows to retrieve the low level date for validation purposes.

Parameters:
  `propertyKey` - the dictionaries key
Returns:
  the properties value

#### getTitle

    public String getTitle()

This will get the title of the document. This will return null if no title exists.

Returns:
  The title of the document.

#### setTitle

    public void setTitle(String title)

This will set the title of the document.

Parameters:
  `title` - The new title for the document.

#### getAuthor

    public String getAuthor()

This will get the author of the document. This will return null if no author exists.

Returns:
  The author of the document.

#### setAuthor

    public void setAuthor(String author)

This will set the author of the document.

Parameters:
  `author` - The new author for the document.

#### getSubject

    public String getSubject()

This will get the subject of the document. This will return null if no subject exists.

Returns:
  The subject of the document.

#### setSubject

    public void setSubject(String subject)

This will set the subject of the document.

Parameters:
  `subject` - The new subject for the document.

#### getKeywords

    public String getKeywords()

This will get the keywords of the document. This will return null if no keywords exists.

Returns:
  The keywords of the document.

#### setKeywords

    public void setKeywords(String keywords)

This will set the keywords of the document.

Parameters:
  `keywords` - The new keywords for the document.

#### getCreator

    public String getCreator()

This will get the creator of the document. This will return null if no creator exists.

Returns:
  The creator of the document.

#### setCreator

    public void setCreator(String creator)

This will set the creator of the document.

Parameters:
  `creator` - The new creator for the document.

#### getProducer

    public String getProducer()

This will get the producer of the document. This will return null if no producer exists.

Returns:
  The producer of the document.

#### setProducer

    public void setProducer(String producer)

This will set the producer of the document.

Parameters:
  `producer` - The new producer for the document.

#### getCreationDate

    public Calendar getCreationDate()

This will get the creation date of the document. This will return null if no creation date exists.

Returns:
  The creation date of the document.

#### setCreationDate

    public void setCreationDate(Calendar date)

This will set the creation date of the document.

Parameters:
  `date` - The new creation date for the document.

#### getModificationDate

    public Calendar getModificationDate()

This will get the modification date of the document. This will return null if no modification date exists.

Returns:
  The modification date of the document.

#### setModificationDate

    public void setModificationDate(Calendar date)

This will set the modification date of the document.

Parameters:
  `date` - The new modification date for the document.

#### getTrapped

    public String getTrapped()

This will get the trapped value for the document. This will return null if one is not found.

Returns:
  The trapped value for the document.

#### getMetadataKeys

    public Set<String> getMetadataKeys()

This will get the keys of all metadata information fields for the document.

Returns:
  all metadata key strings.
Since:
  Apache PDFBox 1.3.0

#### getCustomMetadataValue

    public String getCustomMetadataValue(String fieldName)

This will get the value of a custom metadata information field for the document. This will return null if one is not found.

Parameters:
  `fieldName` - Name of custom metadata field from pdf document.
Returns:
  String Value of metadata field

#### setCustomMetadataValue

    public void setCustomMetadataValue(String fieldName,
                                       String fieldValue)

Set the custom metadata value.

Parameters:
  `fieldName` - The name of the custom metadata field.
  `fieldValue` - The value to the custom metadata field.

#### setTrapped

    public void setTrapped(String value)

This will set the trapped of the document. This will be 'True', 'False', or 'Unknown'.

Parameters:
  `value` - The new trapped value for the document.
Throws:
  `IllegalArgumentException` - if the parameter is invalid.