Package org.apache.pdfbox.cos
Class COSString
java.lang.Object
org.apache.pdfbox.cos.COSBase
org.apache.pdfbox.cos.COSString
- All Implemented Interfaces:
COSObjectable
This represents a string object in a PDF document.
- Version:
- $Revision: 1.30 $
- Author:
- Ben Litchfield
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final byte[]
BS escape characters.static final byte[]
CR escape characters.static final byte[]
the escape character in strings.static final byte[]
FF escape characters.static final byte[]
One of the close string tokens.static final byte[]
One of the open string tokens.static final byte[]
HT escape characters.static final byte[]
LF escape characters.static final byte[]
One of the close string tokens.static final byte[]
One of the open string tokens. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaccept
(ICOSVisitor visitor) visitor pattern double dispatch method.void
append
(byte[] data) This will append a byte[] to the string.void
append
(int in) This will append a byte to the string.static COSString
This will create a COS string from a string of hex characters.static COSString
createFromHexString
(String hex, boolean force) Creates a COS string from a string of hex characters, optionally ignoring malformed input.boolean
byte[]
getBytes()
This will get the bytes of the string.This will take this string and create a hex representation of the bytes that make the string.This will get the string that this object wraps.int
hashCode()
void
reset()
This will reset the internal buffer.void
setForceHexForm
(boolean v) Forces the string to be written in hexadecimal form instead of literal form.void
setForceLiteralForm
(boolean v) Forces the string to be written in literal form instead of hexadecimal form.toString()
void
writePDF
(OutputStream output) This will output this string as a PDF object.Methods inherited from class org.apache.pdfbox.cos.COSBase
getCOSObject, getFilterManager, isDirect, isNeedToBeUpdate, setDirect, setNeedToBeUpdate
-
Field Details
-
STRING_OPEN
public static final byte[] STRING_OPENOne of the open string tokens. -
STRING_CLOSE
public static final byte[] STRING_CLOSEOne of the close string tokens. -
HEX_STRING_OPEN
public static final byte[] HEX_STRING_OPENOne of the open string tokens. -
HEX_STRING_CLOSE
public static final byte[] HEX_STRING_CLOSEOne of the close string tokens. -
ESCAPE
public static final byte[] ESCAPEthe escape character in strings. -
CR_ESCAPE
public static final byte[] CR_ESCAPECR escape characters. -
LF_ESCAPE
public static final byte[] LF_ESCAPELF escape characters. -
HT_ESCAPE
public static final byte[] HT_ESCAPEHT escape characters. -
BS_ESCAPE
public static final byte[] BS_ESCAPEBS escape characters. -
FF_ESCAPE
public static final byte[] FF_ESCAPEFF escape characters.
-
-
Constructor Details
-
COSString
public COSString()Constructor. -
COSString
Deprecated.Not needed anymore. UseCOSString()
instead. PDFBOX-1437Constructor.- Parameters:
isDictionaryValue
- determines if this string represents a dictionary
-
COSString
Explicit constructor for ease of manual PDF construction.- Parameters:
value
- The string value of the object.
-
COSString
public COSString(byte[] value) Explicit constructor for ease of manual PDF construction.- Parameters:
value
- The string value of the object.
-
-
Method Details
-
setForceLiteralForm
public void setForceLiteralForm(boolean v) Forces the string to be written in literal form instead of hexadecimal form.- Parameters:
v
- if v is true the string will be written in literal form, otherwise it will be written in hexa if necessary.
-
setForceHexForm
public void setForceHexForm(boolean v) Forces the string to be written in hexadecimal form instead of literal form.- Parameters:
v
- if v is true the string will be written in hexadecimal form otherwise it will be written in literal if necessary.
-
createFromHexString
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.
-
createFromHexString
Creates a COS string from a string of hex characters, optionally ignoring malformed input.- Parameters:
hex
- A hex string.force
- flag to ignore malformed input- Returns:
- A cos string with the hex characters converted to their actual bytes.
- Throws:
IOException
- If there is an error with the hex string.
-
getHexString
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.
-
getString
This will get the string that this object wraps.- Returns:
- The wrapped string.
-
append
This will append a byte[] to the string.- Parameters:
data
- The byte[] to add to this string.- Throws:
IOException
- If an IO error occurs while writing the byte.
-
append
This will append a byte to the string.- Parameters:
in
- The byte to add to this string.- Throws:
IOException
- If an IO error occurs while writing the byte.
-
reset
public void reset()This will reset the internal buffer. -
getBytes
public byte[] getBytes()This will get the bytes of the string.- Returns:
- A byte array that represents the string.
-
toString
-
writePDF
This will output this string as a PDF object.- Parameters:
output
- The stream to write to.- Throws:
IOException
- If there is an error writing to the stream.
-
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:
COSVisitorException
- If an error occurs while visiting this object.
-
equals
-
hashCode
public int hashCode()
-