Class PdfDictionary

java.lang.Object
com.aowagie.text.pdf.PdfObject
com.aowagie.text.pdf.PdfDictionary
Direct Known Subclasses:
PdfAcroForm, PdfAction, PdfAnnotation, PdfCollection, PdfFileSpecification, PdfGState, PdfOutline, PdfShadingPattern, PdfSignature, PdfStream, PdfTargetDictionary, 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

    • hashMap

      protected HashMap<PdfName, PdfObject> hashMap
      This is the hashmap that contains all the values and keys of the 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 - Exception with a I/O 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
    • remove

      public void remove(PdfName key)
      Removes a PdfObject and its key from the PdfDictionary.
      Parameters:
      key - a PdfName
    • 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.
    • size

      public int size()
      Returns the number of key-value mappings in this PdfDictionary.
      Returns:
      the number of key-value mappings in this PdfDictionary.
    • 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.
    • 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
    • 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