Class PdfString


public class PdfString extends PdfPrimitiveObject
A PdfString-class is the PDF-equivalent of a JAVA-String-object.

A string is a sequence of characters delimited by parenthesis. If a string is too long to be conveniently placed on a single line, it may be split across multiple lines by using the backslash character (\) at the end of a line to indicate that the string continues on the following line. Within a string, the backslash character is used as an escape to specify unbalanced parenthesis, non-printing ASCII characters, and the backslash character itself. Use of the \ddd escape sequence is the preferred way to represent characters outside the printable ASCII character set.
This object is described in the 'Portable Document Format Reference Manual version 1.7' section 3.2.3 (page 53-56).

See Also:
  • Field Details

    • value

      protected String value
    • encoding

      protected String encoding
    • hexWriting

      protected boolean hexWriting
  • Constructor Details

    • PdfString

      public PdfString (String value, String encoding)
    • PdfString

      public PdfString (String value)
    • PdfString

      public PdfString (byte[] content)
    • PdfString

      protected PdfString (byte[] content, boolean hexWriting)
      Only PdfReader can use this method!
      Parameters:
      content - byte content the PdfString will be created from
      hexWriting - boolean indicating if hex writing will be used
  • Method Details

    • getType

      public byte getType()
      Description copied from class: PdfObject
      Gets object type.
      Specified by:
      getType in class PdfObject
      Returns:
      object type.
    • isHexWriting

      public boolean isHexWriting()
    • setHexWriting

      public PdfString setHexWriting (boolean hexWriting)
    • getValue

      public String getValue()
    • getEncoding

      public String getEncoding()
      Gets the encoding of this string.
      Returns:
      the name of the encoding specifying the byte representation of current PdfString value
    • toUnicodeString

      public String toUnicodeString()
      Returns the Unicode String value of this PdfString-object.
      Returns:
      Unicode string value created by current PdfString object
    • getValueBytes

      public byte[] getValueBytes()
      Gets bytes of String-value considering encoding.
      Returns:
      byte array
    • equals

      public boolean equals (Object o)
      Overrides:
      equals in class Object
    • toString

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

      public int hashCode()
      Overrides:
      hashCode in class Object
    • markAsUnencryptedObject

      public void markAsUnencryptedObject()
      Marks this string object as not encrypted in the encrypted document.

      If it's marked so, it will be considered as already in plaintext and decryption will not be performed for it. In order to have effect, this method shall be called before getValue() and getValueBytes() methods.

      NOTE: this method is only needed in a very specific cases of encrypted documents. E.g. digital signature dictionary /Contents entry shall not be encrypted. Also this method isn't meaningful in non-encrypted documents.

    • generateValue

      protected void generateValue()
    • generateContent

      protected void generateContent()
      Specified by:
      generateContent in class PdfPrimitiveObject
    • encrypt

      protected boolean encrypt (PdfEncryption encrypt)
      Encrypt content of value and set as content. generateContent() won't be called.
      Parameters:
      encrypt - PdfEncryption instance
      Returns:
      true if value was encrypted, otherwise false.
    • decodeContent

      protected byte[] decodeContent()
    • encodeBytes

      protected byte[] encodeBytes (byte[] bytes)
      Escape special symbols or convert to hexadecimal string. This method don't change either value or content ot the PdfString.
      Parameters:
      bytes - byte array to manipulate with.
      Returns:
      Hexadecimal string or string with escaped symbols in byte array view.
    • newInstance

      protected PdfObject newInstance()
      Description copied from class: PdfObject
      Creates new instance of object.
      Specified by:
      newInstance in class PdfObject
      Returns:
      new instance of object.
    • copyContent

      protected void copyContent (PdfObject from, PdfDocument document, ICopyFilter copyFilter)
      Description copied from class: PdfObject
      Copies object content from object 'from'.
      Overrides:
      copyContent in class PdfPrimitiveObject
      Parameters:
      from - object to copy content from.
      document - document to copy object to.
      copyFilter - ICopyFilter a filter that will apply on dictionaries and array Use NullCopyFilter for no filtering