Package org.apache.pdfbox.cos
Class COSString
java.lang.Object
org.apache.pdfbox.cos.COSBase
org.apache.pdfbox.cos.COSString
- All Implemented Interfaces:
COSObjectable
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.
- Author:
- Ben Litchfield, John Hewson
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaccept
(ICOSVisitor visitor) Visitor pattern double dispatch method.boolean
getASCII()
Returns the content of this string as a PDF ASCII string.byte[]
getBytes()
Returns the raw bytes of the string.boolean
Returns true if the string is to be written in hex form.Returns the content of this string as a PDF text string.int
hashCode()
static COSString
This will create a COS string from a string of hex characters.void
setForceHexForm
(boolean value) Sets whether to force the string is to be written in hex form.void
setValue
(byte[] value) Sets the raw value of this string.This will take this string and create a hex representation of the bytes that make the string.toString()
Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, isDirect, setDirect
-
Field Details
-
FORCE_PARSING
public static final boolean FORCE_PARSING
-
-
Constructor Details
-
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
Creates a new text string from a Java String.- Parameters:
text
- The string value of the object.
-
-
Method Details
-
parseHex
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:
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 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
Returns the content of this string as a PDF text string.- Returns:
- the string representation of this string using the given encoding.
-
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
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
Visitor pattern double dispatch method.- Specified by:
accept
in classCOSBase
- Parameters:
visitor
- The object to notify when visiting this object.- Returns:
- any object, depending on the visitor implementation, or null
- Throws:
IOException
- If an error occurs while visiting this object.
-
equals
-
hashCode
public int hashCode() -
toString
-