Class COSString

java.lang.Object
org.apache.pdfbox.cos.COSBase
org.apache.pdfbox.cos.COSString
All Implemented Interfaces:
COSObjectable

public class COSString extends COSBase
This represents a string object in a PDF document.
Version:
$Revision: 1.30 $
Author:
Ben Litchfield
  • Field Details

    • STRING_OPEN

      public static final byte[] STRING_OPEN
      One of the open string tokens.
    • STRING_CLOSE

      public static final byte[] STRING_CLOSE
      One of the close string tokens.
    • HEX_STRING_OPEN

      public static final byte[] HEX_STRING_OPEN
      One of the open string tokens.
    • HEX_STRING_CLOSE

      public static final byte[] HEX_STRING_CLOSE
      One of the close string tokens.
    • ESCAPE

      public static final byte[] ESCAPE
      the escape character in strings.
    • CR_ESCAPE

      public static final byte[] CR_ESCAPE
      CR escape characters.
    • LF_ESCAPE

      public static final byte[] LF_ESCAPE
      LF escape characters.
    • HT_ESCAPE

      public static final byte[] HT_ESCAPE
      HT escape characters.
    • BS_ESCAPE

      public static final byte[] BS_ESCAPE
      BS escape characters.
    • FF_ESCAPE

      public static final byte[] FF_ESCAPE
      FF escape characters.
  • Constructor Details

    • COSString

      public COSString()
      Constructor.
    • COSString

      @Deprecated public COSString(boolean isDictionaryValue)
      Deprecated.
      Not needed anymore. Use COSString() instead. PDFBOX-1437
      Constructor.
      Parameters:
      isDictionaryValue - determines if this string represents a dictionary
    • COSString

      public COSString(String value)
      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

      public static COSString createFromHexString(String hex) throws 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:
      IOException - If there is an error with the hex string.
    • createFromHexString

      public static COSString createFromHexString(String hex, boolean force) throws IOException
      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

      public 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

      public String getString()
      This will get the string that this object wraps.
      Returns:
      The wrapped string.
    • append

      public void append(byte[] data) throws IOException
      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

      public void append(int in) throws IOException
      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

      public String toString()
      Overrides:
      toString in class Object
    • writePDF

      public void writePDF(OutputStream output) throws IOException
      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

      public Object accept(ICOSVisitor visitor) throws COSVisitorException
      visitor pattern double dispatch method.
      Specified by:
      accept in class COSBase
      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

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object