Class PdfDictionary

java.lang.Object
com.lowagie.text.pdf.PdfObject
com.lowagie.text.pdf.PdfDictionary
Direct Known Subclasses:
PdfAcroForm, PdfAction, PdfAnnotation, PdfBorderDictionary, PdfCollection, PdfCollectionField, PdfCollectionItem, PdfCollectionSchema, PdfCollectionSort, PdfDocument.PdfCatalog, PdfDocument.PdfInfo, PdfFileSpecification, PdfGState, PdfLayer, PdfLayerMembership, PdfMediaClipData, PdfOCProperties, PdfOutline, PdfPage, PdfRendition, PdfResources, PdfShadingPattern, PdfSignature, PdfSignatureAppDataDict, PdfSignatureBuildProperties, PdfStream, PdfStructureElement, PdfStructureTreeRoot, PdfTargetDictionary, PdfTransparencyGroup, PdfWriter.PdfTrailer, PRAcroForm

public class PdfDictionary extends PdfObject
PdfDictionary is the Pdf dictionary object.

A dictionary is an associative table containing pairs of objects. The first element of each pair is called the key and the second element is called the value. Unlike dictionaries in the PostScript language, a key must be a PdfName. A value can be any kind of PdfObject, including a dictionary. A dictionary is generally used to collect and tie together the attributes of a complex object, with each key-value pair specifying the name and value of an attribute.
A dictionary is represented by two left angle brackets (<<), followed by a sequence of key-value pairs, followed by two right angle brackets (>>).
This object is described in the 'Portable Document Format Reference Manual version 1.7' section 3.2.6 (page 59-60).

See Also:
  • Field Details

    • FONT

      public static final PdfName FONT
      This is a possible type of dictionary
    • OUTLINES

      public static final PdfName OUTLINES
      This is a possible type of dictionary
    • PAGE

      public static final PdfName PAGE
      This is a possible type of dictionary
    • PAGES

      public static final PdfName PAGES
      This is a possible type of dictionary
    • CATALOG

      public static final PdfName CATALOG
      This is a possible type of dictionary
    • hashMap

      protected Map<PdfName,PdfObject> hashMap
      This is the hashmap that contains all the values and keys of the dictionary
    • dictionaryType

      private PdfName dictionaryType
      This is the type of this dictionary
  • Constructor Details

    • PdfDictionary

      public PdfDictionary()
      Constructs an empty PdfDictionary-object.
    • PdfDictionary

      public PdfDictionary(PdfName type)
      Constructs a PdfDictionary-object of a certain type.
      Parameters:
      type - a PdfName
  • Method Details

    • toPdf

      public void toPdf(PdfWriter writer, OutputStream os) throws IOException
      Writes the PDF representation of this PdfDictionary as an array of byte to the given OutputStream.
      Overrides:
      toPdf in class PdfObject
      Parameters:
      writer - for backwards compatibility
      os - the OutputStream to write the bytes to.
      Throws:
      IOException - on error
    • toString

      public String toString()
      Returns a string representation of this PdfDictionary.

      The string doesn't contain any of the content of this dictionary. Rather the string "dictionary" is returned, possibly followed by the type of this PdfDictionary, if set.

      Overrides:
      toString in class PdfObject
      Returns:
      the string representation of this PdfDictionary
      See Also:
    • put

      public void put(PdfName key, PdfObject object)
      Associates the specified PdfObject as value with the specified PdfName as key in this map.

      If the map previously contained a mapping for this key, the old value is replaced. If the value is null or PdfNull the key is deleted.

      Parameters:
      key - a PdfName
      object - the PdfObject to be associated with the key
    • putEx

      public void putEx(PdfName key, PdfObject value)
      Associates the specified PdfObject as value to the specified PdfName as key in this map.

      If the value is a PdfNull, it is treated just as any other PdfObject. If the value is null however nothing is done.

      Parameters:
      key - a PdfName
      value - the PdfObject to be associated to the key
    • putAll

      public void putAll(PdfDictionary dic)
      Copies all of the mappings from the specified PdfDictionary to this PdfDictionary.

      These mappings will replace any mappings previously contained in this PdfDictionary.

      Parameters:
      dic - The PdfDictionary with the mappings to be copied over
    • remove

      public void remove(PdfName key)
      Removes a PdfObject and its key from the PdfDictionary.
      Parameters:
      key - a PdfName
    • clear

      public void clear()
      Clears all values of a PdfDictionary.
    • get

      public PdfObject get(PdfName key)
      Returns the PdfObject associated to the specified key.
      Parameters:
      key - a PdfName
      Returns:
      the PdfObject previously associated to the key
    • getDirectObject

      public PdfObject getDirectObject(PdfName key)
      Returns the PdfObject associated to the specified key, resolving a possible indirect reference to a direct object.

      This method will never return a PdfIndirectReference object.

      Parameters:
      key - A key for the PdfObject to be returned
      Returns:
      A direct PdfObject or null
    • getKeys

      public Set<PdfName> getKeys()
      Get all keys that are set.
      Returns:
      true if it is, otherwise false.
    • getKeysAndValues

      public Set<Map.Entry<PdfName,PdfObject>> getKeysAndValues()
      Get all keys and values as Map.Entry
      Returns:
      a Set<Entry<PdfName, PdfObject>> of keys and values
    • size

      public int size()
      Returns the number of key-value mappings in this PdfDictionary.
      Returns:
      the number of key-value mappings in this PdfDictionary.
    • contains

      public boolean contains(PdfName key)
      Returns true if this PdfDictionary contains a mapping for the specified key.
      Parameters:
      key - key
      Returns:
      true if the key is set, otherwise false.
    • isFont

      public boolean isFont()
      Checks if a Dictionary is of the type FONT.
      Returns:
      true if it is, otherwise false.
    • isPage

      public boolean isPage()
      Checks if a Dictionary is of the type PAGE.
      Returns:
      true if it is, otherwise false.
    • isPages

      public boolean isPages()
      Checks if a Dictionary is of the type PAGES.
      Returns:
      true if it is, otherwise false.
    • isCatalog

      public boolean isCatalog()
      Checks if a Dictionary is of the type CATALOG.
      Returns:
      true if it is, otherwise false.
    • isOutlineTree

      public boolean isOutlineTree()
      Checks if a Dictionary is of the type OUTLINES.
      Returns:
      true if it is, otherwise false.
    • merge

      public void merge(PdfDictionary other)
    • mergeDifferent

      public void mergeDifferent(PdfDictionary other)
    • getAsDict

      public PdfDictionary getAsDict(PdfName key)
      Returns a PdfObject as a PdfDictionary, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfDictionary, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfDictionary object, or null
    • getAsArray

      public PdfArray getAsArray(PdfName key)
      Returns a PdfObject as a PdfArray, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfArray, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfArray object, or null
    • getAsStream

      public PdfStream getAsStream(PdfName key)
      Returns a PdfObject as a PdfStream, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfStream, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfStream object, or null
    • getAsString

      public PdfString getAsString(PdfName key)
      Returns a PdfObject as a PdfString, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfString, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfString object, or null
    • getAsNumber

      public PdfNumber getAsNumber(PdfName key)
      Returns a PdfObject as a PdfNumber, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfNumber, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfNumber object, or null
    • getAsName

      public PdfName getAsName(PdfName key)
      Returns a PdfObject as a PdfName, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfName, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfName object, or null
    • getAsBoolean

      public PdfBoolean getAsBoolean(PdfName key)
      Returns a PdfObject as a PdfBoolean, resolving indirect references.

      The object associated with the PdfName given is retrieved and resolved to a direct object. If it is a PdfBoolean, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfBoolean object, or null
    • getAsIndirectObject

      public PdfIndirectReference getAsIndirectObject(PdfName key)
      Returns a PdfObject as a PdfIndirectReference.

      The object associated with the PdfName given is retrieved If it is a PdfIndirectReference, it is cast down and returned as such. Otherwise null is returned.

      Parameters:
      key - A PdfName
      Returns:
      the associated PdfIndirectReference object, or null