Class PdfObject
- Direct Known Subclasses:
PdfArray
,PdfBoolean
,PdfDictionary
,PdfIndirectReference
,PdfLiteral
,PdfName
,PdfNull
,PdfNumber
,PdfString
PdfObject
is the abstract superclass of all PDF objects.
PDF supports seven basic types of objects: Booleans, numbers, strings, names,
arrays, dictionaries and streams. In addition, PDF provides a null object.
Objects may be labeled so that they can be referred to by other objects.
All these basic PDF objects are described in the 'Portable Document Format
Reference Manual version 1.3' Chapter 4 (pages 37-54).
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final int
a possible type ofPdfObject
static final int
a possible type ofPdfObject
protected byte[]
the content of thisPdfObject
static final int
a possible type ofPdfObject
static final int
a possible type ofPdfObject
protected PRIndirectReference
Holds value of property indRef.static final int
a possible type ofPdfObject
static final int
a possible type ofPdfObject
static final String
This is an empty string used for thePdfNull
-object and for an emptyPdfString
-object.static final int
a possible type ofPdfObject
static final int
a possible type ofPdfObject
static final int
a possible type ofPdfObject
static final String
This is the default encoding to be used for converting Strings into bytes and vice versa.static final String
This is the encoding to be used to output text in Unicode.protected int
the type of thisPdfObject
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
PdfObject
(int type) Constructs aPdfObject
of a certain type without any content.protected
PdfObject
(int type, byte[] bytes) Constructs aPdfObject
of a certain type with a certain content.protected
Constructs aPdfObject
of a certain type with a certain content. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Can this object be in an object stream?byte[]
getBytes()
Gets the presentation of this object in a byte arrayGetter for property indRef.boolean
isArray()
Checks if thisPdfObject
is of the typePdfArray
.boolean
Checks if thisPdfObject
is of the typePdfBoolean
.boolean
Checks if thisPdfObject
is of the typePdfDictionary
.boolean
Checks if this is an indirect object.boolean
isName()
Checks if thisPdfObject
is of the typePdfName
.boolean
isNull()
Checks if thisPdfObject
is of the typePdfNull
.boolean
isNumber()
Checks if thisPdfObject
is of the typePdfNumber
.boolean
isStream()
Checks if thisPdfObject
is of the typePdfStream
.boolean
isString()
Checks if thisPdfObject
is of the typePdfString
.int
length()
Returns the length of the actual content of thePdfObject
.protected void
setContent
(String content) Changes the content of thisPdfObject
.void
setIndRef
(PRIndirectReference indRef) Setter for property indRef.void
toPdf
(PdfWriter writer, OutputStream os) Writes the PDF representation of thisPdfObject
as an array ofbyte
s to the writer.toString()
Returns theString
-representation of thisPdfObject
.int
type()
Returns the type of thisPdfObject
.
-
Field Details
-
BOOLEAN
public static final int BOOLEANa possible type ofPdfObject
- See Also:
-
NUMBER
public static final int NUMBERa possible type ofPdfObject
- See Also:
-
STRING
public static final int STRINGa possible type ofPdfObject
- See Also:
-
NAME
public static final int NAMEa possible type ofPdfObject
- See Also:
-
ARRAY
public static final int ARRAYa possible type ofPdfObject
- See Also:
-
DICTIONARY
public static final int DICTIONARYa possible type ofPdfObject
- See Also:
-
STREAM
public static final int STREAMa possible type ofPdfObject
- See Also:
-
m_NULL
public static final int m_NULLa possible type ofPdfObject
- See Also:
-
INDIRECT
public static final int INDIRECTa possible type ofPdfObject
- See Also:
-
NOTHING
This is an empty string used for thePdfNull
-object and for an emptyPdfString
-object.- See Also:
-
TEXT_PDFDOCENCODING
This is the default encoding to be used for converting Strings into bytes and vice versa. The default encoding is PdfDocEncoding.- See Also:
-
TEXT_UNICODE
This is the encoding to be used to output text in Unicode.- See Also:
-
bytes
protected byte[] bytesthe content of thisPdfObject
-
type
protected int typethe type of thisPdfObject
-
indRef
Holds value of property indRef.
-
-
Constructor Details
-
PdfObject
protected PdfObject(int type) Constructs aPdfObject
of a certain type without any content.- Parameters:
type
- type of the newPdfObject
-
PdfObject
Constructs aPdfObject
of a certain type with a certain content.- Parameters:
type
- type of the newPdfObject
content
- content of the newPdfObject
as aString
.
-
PdfObject
protected PdfObject(int type, byte[] bytes) Constructs aPdfObject
of a certain type with a certain content.- Parameters:
type
- type of the newPdfObject
bytes
- content of the newPdfObject
as an array ofbyte
.
-
-
Method Details
-
toPdf
Writes the PDF representation of thisPdfObject
as an array ofbyte
s to the writer.- Parameters:
writer
- for backwards compatibilityos
- the outputstream to write the bytes to.- Throws:
IOException
-
getBytes
public byte[] getBytes()Gets the presentation of this object in a byte array- Returns:
- a byte array
-
canBeInObjStm
public boolean canBeInObjStm()Can this object be in an object stream?- Returns:
- true if this object can be in an object stream.
-
toString
Returns theString
-representation of thisPdfObject
. -
length
public int length()Returns the length of the actual content of thePdfObject
.In some cases, namely for
PdfString
andPdfStream
, this method differs from the methodpdfLength
becausepdfLength
returns the length of the PDF representation of the object, not of the actual content as does the methodlength
.Remark: the actual content of an object is in some cases identical to its representation. The following statement is always true: length() >= pdfLength().
- Returns:
- a length
-
setContent
Changes the content of thisPdfObject
.- Parameters:
content
- the new content of thisPdfObject
-
type
public int type()Returns the type of thisPdfObject
.- Returns:
- a type
-
isNull
public boolean isNull()Checks if thisPdfObject
is of the typePdfNull
.- Returns:
true
orfalse
-
isBoolean
public boolean isBoolean()Checks if thisPdfObject
is of the typePdfBoolean
.- Returns:
true
orfalse
-
isNumber
public boolean isNumber()Checks if thisPdfObject
is of the typePdfNumber
.- Returns:
true
orfalse
-
isString
public boolean isString()Checks if thisPdfObject
is of the typePdfString
.- Returns:
true
orfalse
-
isName
public boolean isName()Checks if thisPdfObject
is of the typePdfName
.- Returns:
true
orfalse
-
isArray
public boolean isArray()Checks if thisPdfObject
is of the typePdfArray
.- Returns:
true
orfalse
-
isDictionary
public boolean isDictionary()Checks if thisPdfObject
is of the typePdfDictionary
.- Returns:
true
orfalse
-
isStream
public boolean isStream()Checks if thisPdfObject
is of the typePdfStream
.- Returns:
true
orfalse
-
isIndirect
public boolean isIndirect()Checks if this is an indirect object.- Returns:
- true if this is an indirect object
-
getIndRef
Getter for property indRef.- Returns:
- Value of property indRef.
-
setIndRef
Setter for property indRef.- Parameters:
indRef
- New value of property indRef.
-