fop 2.0

org.apache.fop.pdf
Class PDFText

java.lang.Object
  extended by org.apache.fop.pdf.PDFObject
      extended by org.apache.fop.pdf.PDFText
All Implemented Interfaces:
PDFWritable

public class PDFText
extends PDFObject

This class represents a simple number object. It also contains contains some utility methods for outputting numbers to PDF.


Field Summary
 
Fields inherited from class org.apache.fop.pdf.PDFObject
log
 
Constructor Summary
PDFText()
           
 
Method Summary
static byte[] escapeByteArray(byte[] data)
          Escape a byte array for output to PDF (Used for encrypted strings)
static java.lang.String escapeString(java.lang.String s)
          Escaped a String as described in section 4.4 in the PDF 1.3 specs.
static void escapeStringChar(char c, java.lang.StringBuffer target)
          Escapes a character conforming to the rules established in the PostScript Language Reference (Search for "Literal Text Strings").
static java.lang.String escapeText(java.lang.String text)
          Escape text (see 4.4.1 in PDF 1.3 specs)
static java.lang.String escapeText(java.lang.String text, boolean forceHexMode)
          Escape text (see 4.4.1 in PDF 1.3 specs)
 java.lang.String getText()
          Returns the text.
 void setText(java.lang.String text)
          Sets the text.
static java.lang.String toHex(byte[] data)
          Converts a byte array to a Hexadecimal String (3.2.3 in PDF 1.4 specs)
static java.lang.String toHex(byte[] data, boolean brackets)
          Converts a byte array to a Hexadecimal String (3.2.3 in PDF 1.4 specs)
protected  java.lang.String toPDFString()
          This method returns a String representation of the PDF object.
static java.lang.String toPDFString(java.lang.CharSequence text)
          Converts a text to PDF's "string" data type.
static java.lang.String toPDFString(java.lang.CharSequence text, char replacement)
          Converts a text to PDF's "string" data type.
static java.lang.String toUnicodeHex(char c)
          Convert a char to a multibyte hex representation
static void toUnicodeHex(char c, java.lang.StringBuffer sb)
          Convert a char to a multibyte hex representation appending to string buffer.
static byte[] toUTF16(java.lang.String text)
          Converts a String to UTF-16 (big endian).
 
Methods inherited from class org.apache.fop.pdf.PDFObject
contentEquals, encode, encodeBinaryToHexString, encodeString, encodeText, formatObject, getChildren, getDocument, getDocumentSafely, getGeneration, getObjectID, getObjectNumber, getParent, hasObjectNumber, makeReference, output, outputInline, referencePDF, setDocument, setObjectNumber, setObjectNumber, setObjectNumber, setParent, toPDF
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PDFText

public PDFText()
Method Detail

getText

public java.lang.String getText()
Returns the text.

Returns:
the text

setText

public void setText(java.lang.String text)
Sets the text.

Parameters:
text - the text

toPDFString

protected java.lang.String toPDFString()
This method returns a String representation of the PDF object. The result is normally converted/encoded to a byte array by toPDF(). Only use this method to implement the serialization if the object can be fully represented as text. If the PDF representation of the object contains binary content use toPDF() or output(OutputStream) instead. This applies to any object potentially containing a string object because string object are encrypted and therefore need to be binary.

Overrides:
toPDFString in class PDFObject
Returns:
String the String representation

escapeText

public static final java.lang.String escapeText(java.lang.String text)
Escape text (see 4.4.1 in PDF 1.3 specs)

Parameters:
text - the text to encode
Returns:
encoded text

escapeText

public static final java.lang.String escapeText(java.lang.String text,
                                                boolean forceHexMode)
Escape text (see 4.4.1 in PDF 1.3 specs)

Parameters:
text - the text to encode
forceHexMode - true if the output should follow the hex encoding rules
Returns:
encoded text

toHex

public static final java.lang.String toHex(byte[] data,
                                           boolean brackets)
Converts a byte array to a Hexadecimal String (3.2.3 in PDF 1.4 specs)

Parameters:
data - the data to encode
brackets - true if enclosing brackets should be included
Returns:
String the resulting string

toHex

public static final java.lang.String toHex(byte[] data)
Converts a byte array to a Hexadecimal String (3.2.3 in PDF 1.4 specs)

Parameters:
data - the data to encode
Returns:
String the resulting string

toUTF16

public static final byte[] toUTF16(java.lang.String text)
Converts a String to UTF-16 (big endian).

Parameters:
text - text to convert
Returns:
byte[] UTF-16 stream

toUnicodeHex

public static final java.lang.String toUnicodeHex(char c)
Convert a char to a multibyte hex representation

Parameters:
c - character to encode
Returns:
the encoded character

toUnicodeHex

public static final void toUnicodeHex(char c,
                                      java.lang.StringBuffer sb)
Convert a char to a multibyte hex representation appending to string buffer. Since Java always stores strings in UTF-16, we don't have to do any conversion.

Parameters:
c - character to encode
sb - the string buffer to append output

escapeString

public static final java.lang.String escapeString(java.lang.String s)
Escaped a String as described in section 4.4 in the PDF 1.3 specs.

Parameters:
s - String to escape
Returns:
String the escaped String

escapeStringChar

public static final void escapeStringChar(char c,
                                          java.lang.StringBuffer target)
Escapes a character conforming to the rules established in the PostScript Language Reference (Search for "Literal Text Strings").

Parameters:
c - character to escape
target - target StringBuffer to write the escaped character to

escapeByteArray

public static final byte[] escapeByteArray(byte[] data)
Escape a byte array for output to PDF (Used for encrypted strings)

Parameters:
data - data to encode
Returns:
byte[] encoded data

toPDFString

public static java.lang.String toPDFString(java.lang.CharSequence text)
Converts a text to PDF's "string" data type. Unsupported characters get converted to '?' characters (similar to what the Java "US-ASCII" encoding does).

Parameters:
text - the text to convert
Returns:
the converted string
See Also:
toPDFString(CharSequence, char)

toPDFString

public static java.lang.String toPDFString(java.lang.CharSequence text,
                                           char replacement)
Converts a text to PDF's "string" data type. Unsupported characters get converted to the given replacement character.

The PDF library currently doesn't properly distinguish between the PDF data types "string" and "text string", so we currently restrict "string" to US-ASCII, also because "string" seems somewhat under-specified concerning the upper 128 bytes.

Parameters:
text - the text to convert
replacement - the replacement character used when substituting a character
Returns:
the converted string

fop 2.0

Copyright 1999-2015 The Apache Software Foundation. All Rights Reserved.