Package org.apache.pdfbox.cos
Class COSString
- java.lang.Object
-
- org.apache.pdfbox.cos.COSBase
-
- org.apache.pdfbox.cos.COSString
-
- All Implemented Interfaces:
COSObjectable
public final class COSString extends COSBase
A string object, which may be a text string, a PDFDocEncoded string, ASCII string, or byte string.Text strings are used for character strings that contain information intended to be human-readable, such as text annotations, bookmark names, article names, document information, and so forth.
PDFDocEncoded strings are used for characters that are represented in a single byte.
ASCII strings are used for characters that are represented in a single byte using ASCII encoding.
Byte strings are used for binary data represented as a series of bytes, but the encoding is not known. The bytes of the string need not represent characters.
-
-
Field Summary
Fields Modifier and Type Field Description private byte[]
bytes
static boolean
FORCE_PARSING
private boolean
forceHexForm
private static org.apache.commons.logging.Log
LOG
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
accept(ICOSVisitor visitor)
Visitor pattern double dispatch method.boolean
equals(java.lang.Object obj)
java.lang.String
getASCII()
Returns the content of this string as a PDF ASCII string.byte[]
getBytes()
Returns the raw bytes of the string.boolean
getForceHexForm()
Returns true if the string is to be written in hex form.java.lang.String
getString()
Returns the content of this string as a PDF text string.int
hashCode()
static COSString
parseHex(java.lang.String hex)
This will create a COS string from a string of hex characters.void
setForceHexForm(boolean value)
Sets whether or not to force the string is to be written in hex form.void
setValue(byte[] value)
Sets the raw value of this string.java.lang.String
toHexString()
This will take this string and create a hex representation of the bytes that make the string.java.lang.String
toString()
-
Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, isDirect, setDirect
-
-
-
-
Constructor Detail
-
COSString
public COSString(byte[] bytes)
Creates a new PDF string from a byte array. This method can be used to read a string from an existing PDF file, or to create a new byte string.- Parameters:
bytes
- The raw bytes of the PDF text string or byte string.
-
COSString
public COSString(java.lang.String text)
Creates a new text string from a Java String.- Parameters:
text
- The string value of the object.
-
-
Method Detail
-
parseHex
public static COSString parseHex(java.lang.String hex) throws java.io.IOException
This will create a COS string from a string of hex characters.- Parameters:
hex
- A hex string.- Returns:
- A cos string with the hex characters converted to their actual bytes.
- Throws:
java.io.IOException
- If there is an error with the hex string.
-
setValue
public void setValue(byte[] value)
Sets the raw value of this string.- Parameters:
value
- The raw bytes of the PDF text string or byte string.
-
setForceHexForm
public void setForceHexForm(boolean value)
Sets whether or not to force the string is to be written in hex form. This is needed when signing PDF files.- Parameters:
value
- True to force hex.
-
getForceHexForm
public boolean getForceHexForm()
Returns true if the string is to be written in hex form.- Returns:
- the hex representation of this string.
-
getString
public java.lang.String getString()
Returns the content of this string as a PDF text string.- Returns:
- the string representation of this string using the given encoding.
-
getASCII
public java.lang.String getASCII()
Returns the content of this string as a PDF ASCII string.- Returns:
- the ASCII representation of this string.
-
getBytes
public byte[] getBytes()
Returns the raw bytes of the string. Best used with a PDF byte string.- Returns:
- the raw bytes of this string.
-
toHexString
public java.lang.String toHexString()
This will take this string and create a hex representation of the bytes that make the string.- Returns:
- A hex string representing the bytes in this string.
-
accept
public java.lang.Object accept(ICOSVisitor visitor) throws java.io.IOException
Visitor pattern double dispatch method.
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-