Package com.aowagie.text.pdf
Class PdfDictionary
- java.lang.Object
-
- com.aowagie.text.pdf.PdfObject
-
- com.aowagie.text.pdf.PdfDictionary
-
- Direct Known Subclasses:
PdfAcroForm
,PdfAction
,PdfAnnotation
,PdfBorderDictionary
,PdfCollection
,PdfCollectionField
,PdfCollectionSchema
,PdfCollectionSort
,PdfDocument.PdfCatalog
,PdfDocument.PdfInfo
,PdfFileSpecification
,PdfGState
,PdfLayer
,PdfLayerMembership
,PdfMediaClipData
,PdfOCProperties
,PdfOutline
,PdfPage
,PdfRendition
,PdfResources
,PdfShadingPattern
,PdfSignature
,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 ofPdfObject
, 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:
PdfObject
,PdfName
,BadPdfFormatException
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static PdfName
CATALOG
This is a possible type of dictionaryprivate PdfName
dictionaryType
This is the type of this dictionaryprivate static PdfName
FONT
This is a possible type of dictionaryprotected java.util.HashMap<PdfName,PdfObject>
hashMap
This is the hashmap that contains all the values and keys of the dictionary(package private) static PdfName
OUTLINES
This is a possible type of dictionary(package private) static PdfName
PAGE
This is a possible type of dictionaryprivate static PdfName
PAGES
This is a possible type of dictionary-
Fields inherited from class com.aowagie.text.pdf.PdfObject
ARRAY, BOOLEAN, bytes, DICTIONARY, INDIRECT, NAME, NOTHING, NULL, NUMBER, STREAM, STRING, TEXT_PDFDOCENCODING, TEXT_UNICODE, type
-
-
Constructor Summary
Constructors Constructor Description PdfDictionary()
Constructs an emptyPdfDictionary
-object.PdfDictionary(PdfName type)
Constructs aPdfDictionary
-object of a certain type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) boolean
contains(PdfName key)
Returnstrue
if thisPdfDictionary
contains a mapping for the specified key.PdfObject
get(PdfName key)
Returns thePdfObject
associated to the specified key.PdfArray
getAsArray(PdfName key)
Returns aPdfObject
as aPdfArray
, resolving indirect references.(package private) PdfBoolean
getAsBoolean(PdfName key)
Returns aPdfObject
as aPdfBoolean
, resolving indirect references.PdfDictionary
getAsDict(PdfName key)
Returns aPdfObject
as aPdfDictionary
, resolving indirect references.(package private) PdfIndirectReference
getAsIndirectObject(PdfName key)
Returns aPdfObject
as aPdfIndirectReference
.PdfName
getAsName(PdfName key)
Returns aPdfObject
as aPdfName
, resolving indirect references.PdfNumber
getAsNumber(PdfName key)
Returns aPdfObject
as aPdfNumber
, resolving indirect references.PdfString
getAsString(PdfName key)
Returns aPdfObject
as aPdfString
, resolving indirect references.PdfObject
getDirectObject(PdfName key)
Returns thePdfObject
associated to the specified key, resolving a possible indirect reference to a direct object.java.util.Set<PdfName>
getKeys()
Get all keys that are set.boolean
isCatalog()
Checks if aDictionary
is of the type CATALOG.boolean
isFont()
Checks if aDictionary
is of the type FONT.boolean
isOutlineTree()
Checks if aDictionary
is of the type OUTLINES.boolean
isPage()
Checks if aDictionary
is of the type PAGE.boolean
isPages()
Checks if aDictionary
is of the type PAGES.(package private) void
merge(PdfDictionary other)
(package private) void
mergeDifferent(PdfDictionary other)
void
put(PdfName key, PdfObject object)
Associates the specifiedPdfObject
as value with the specifiedPdfName
as key in this map.(package private) void
putAll(PdfDictionary dic)
Copies all of the mappings from the specifiedPdfDictionary
to thisPdfDictionary
.void
remove(PdfName key)
Removes aPdfObject
and its key from thePdfDictionary
.int
size()
Returns the number of key-value mappings in thisPdfDictionary
.void
toPdf(PdfWriter writer, java.io.OutputStream os)
Writes the PDF representation of thisPdfDictionary
as an array ofbyte
to the givenOutputStream
.java.lang.String
toString()
Returns a string representation of thisPdfDictionary
.-
Methods inherited from class com.aowagie.text.pdf.PdfObject
canBeInObjStm, getBytes, getIndRef, isArray, isBoolean, isDictionary, isIndirect, isName, isNull, isNumber, isStream, isString, setContent, setIndRef, type
-
-
-
-
Field Detail
-
FONT
private static final PdfName FONT
This is a possible type of dictionary
-
OUTLINES
static final PdfName OUTLINES
This is a possible type of dictionary
-
PAGE
static final PdfName PAGE
This is a possible type of dictionary
-
PAGES
private static final PdfName PAGES
This is a possible type of dictionary
-
CATALOG
static final PdfName CATALOG
This is a possible type of dictionary
-
dictionaryType
private PdfName dictionaryType
This is the type of this dictionary
-
-
Constructor Detail
-
PdfDictionary
public PdfDictionary()
Constructs an emptyPdfDictionary
-object.
-
PdfDictionary
public PdfDictionary(PdfName type)
Constructs aPdfDictionary
-object of a certain type.- Parameters:
type
- aPdfName
-
-
Method Detail
-
toPdf
public void toPdf(PdfWriter writer, java.io.OutputStream os) throws java.io.IOException
Writes the PDF representation of thisPdfDictionary
as an array ofbyte
to the givenOutputStream
.
-
toString
public java.lang.String toString()
Returns a string representation of thisPdfDictionary
. The string doesn't contain any of the content of this dictionary. Rather the string "dictionary" is returned, possibly followed by the type of thisPdfDictionary
, if set.- Overrides:
toString
in classPdfObject
- Returns:
- the string representation of this
PdfDictionary
- See Also:
PdfObject.toString()
-
put
public void put(PdfName key, PdfObject object)
Associates the specifiedPdfObject
as value with the specifiedPdfName
as key in this map. If the map previously contained a mapping for this key, the old value is replaced. If the value isnull
orPdfNull
the key is deleted.- Parameters:
key
- aPdfName
object
- thePdfObject
to be associated with the key
-
putAll
void putAll(PdfDictionary dic)
Copies all of the mappings from the specifiedPdfDictionary
to thisPdfDictionary
. These mappings will replace any mappings previously contained in thisPdfDictionary
.- Parameters:
dic
- ThePdfDictionary
with the mappings to be copied over
-
remove
public void remove(PdfName key)
Removes aPdfObject
and its key from thePdfDictionary
.- Parameters:
key
- aPdfName
-
get
public PdfObject get(PdfName key)
Returns thePdfObject
associated to the specified key.- Parameters:
key
- aPdfName
- Returns:
- the
PdfObject
previously associated to the key
-
getDirectObject
public PdfObject getDirectObject(PdfName key)
Returns thePdfObject
associated to the specified key, resolving a possible indirect reference to a direct object. This method will never return aPdfIndirectReference
object.- Parameters:
key
- A key for thePdfObject
to be returned- Returns:
- A direct
PdfObject
ornull
-
getKeys
public java.util.Set<PdfName> getKeys()
Get all keys that are set.- Returns:
true
if it is, otherwisefalse
.
-
size
public int size()
Returns the number of key-value mappings in thisPdfDictionary
.- Returns:
- the number of key-value mappings in this
PdfDictionary
.
-
contains
boolean contains(PdfName key)
Returnstrue
if thisPdfDictionary
contains a mapping for the specified key.- Returns:
true
if the key is set, otherwisefalse
.
-
isFont
public boolean isFont()
Checks if aDictionary
is of the type FONT.- Returns:
true
if it is, otherwisefalse
.
-
isPage
public boolean isPage()
Checks if aDictionary
is of the type PAGE.- Returns:
true
if it is, otherwisefalse
.
-
isPages
public boolean isPages()
Checks if aDictionary
is of the type PAGES.- Returns:
true
if it is, otherwisefalse
.
-
isCatalog
public boolean isCatalog()
Checks if aDictionary
is of the type CATALOG.- Returns:
true
if it is, otherwisefalse
.
-
isOutlineTree
public boolean isOutlineTree()
Checks if aDictionary
is of the type OUTLINES.- Returns:
true
if it is, otherwisefalse
.
-
merge
void merge(PdfDictionary other)
-
mergeDifferent
void mergeDifferent(PdfDictionary other)
-
getAsDict
public PdfDictionary getAsDict(PdfName key)
Returns aPdfObject
as aPdfDictionary
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfDictionary
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfDictionary
object, ornull
-
getAsArray
public PdfArray getAsArray(PdfName key)
Returns aPdfObject
as aPdfArray
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfArray
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfArray
object, ornull
-
getAsString
public PdfString getAsString(PdfName key)
Returns aPdfObject
as aPdfString
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfString
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfString
object, ornull
-
getAsNumber
public PdfNumber getAsNumber(PdfName key)
Returns aPdfObject
as aPdfNumber
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfNumber
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfNumber
object, ornull
-
getAsName
public PdfName getAsName(PdfName key)
Returns aPdfObject
as aPdfName
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfName
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfName
object, ornull
-
getAsBoolean
PdfBoolean getAsBoolean(PdfName key)
Returns aPdfObject
as aPdfBoolean
, resolving indirect references. The object associated with thePdfName
given is retrieved and resolved to a direct object. If it is aPdfBoolean
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfBoolean
object, ornull
-
getAsIndirectObject
PdfIndirectReference getAsIndirectObject(PdfName key)
Returns aPdfObject
as aPdfIndirectReference
. The object associated with thePdfName
given is retrieved If it is aPdfIndirectReference
, it is cast down and returned as such. Otherwisenull
is returned.- Parameters:
key
- APdfName
- Returns:
- the associated
PdfIndirectReference
object, ornull
-
-