org.apache.pdfbox.pdmodel.font

## Class PDType3CharProc

- java.lang.Object
- - org.apache.pdfbox.pdmodel.font.PDType3CharProc

All Implemented Interfaces:
  PDContentStream, COSObjectable

    public final class PDType3CharProc
    extends Object
    implements COSObjectable, PDContentStream

A Type 3 character procedure. This is a standalone PDF content stream.

Author:
  John Hewson

### Constructor Summary

Constructors
Constructor and Description
`PDType3CharProc(PDType3Font font, COSStream charStream)`

### Method Summary

All Methods Instance Methods Concrete Methods
`PDRectangle` `getBBox()` Returns the bounding box of the contents.
`InputStream` `getContents()` Returns this stream's content, if any.
`org.apache.pdfbox.io.RandomAccessRead` `getContentsForRandomAccess()` Returns this stream's content, if any.
`PDStream` `getContentStream()`
`COSStream` `getCOSObject()` Convert this standard java object to a COS object.
`PDType3Font` `getFont()`
`PDRectangle` `getGlyphBBox()` Calculate the bounding box of this glyph.
`Matrix` `getMatrix()` Returns the matrix which transforms from the stream's space to user space.
`PDResources` `getResources()` Returns this stream's resources, if any.
`float` `getWidth()` Get the width from a type3 charproc stream.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.pdfbox.contentstream.PDContentStream

`getContentsForStreamParsing`

### Constructor Detail

#### PDType3CharProc

    public PDType3CharProc(PDType3Font font,
                           COSStream charStream)

### Method Detail

#### getCOSObject

    public COSStream getCOSObject()

Description copied from interface: `COSObjectable`
Convert this standard java object to a COS object.

Specified by:
  `getCOSObject` in interface `COSObjectable`
Returns:
  The cos object that matches this Java object.

#### getFont

    public PDType3Font getFont()

#### getContentStream

    public PDStream getContentStream()

#### getContents

    public InputStream getContents()
                            throws IOException

Description copied from interface: `PDContentStream`
Returns this stream's content, if any.

Specified by:
  `getContents` in interface `PDContentStream`
Returns:
  An InputStream or null.
Throws:
  `IOException` - If the stream could not be read

#### getContentsForRandomAccess

    public org.apache.pdfbox.io.RandomAccessRead getContentsForRandomAccess()
                                                                     throws IOException

Description copied from interface: `PDContentStream`
Returns this stream's content, if any.

Specified by:
  `getContentsForRandomAccess` in interface `PDContentStream`
Returns:
  A RandomAccessRead or null.
Throws:
  `IOException` - If the content could not be read

#### getResources

    public PDResources getResources()

Description copied from interface: `PDContentStream`
Returns this stream's resources, if any.

Specified by:
  `getResources` in interface `PDContentStream`
Returns:
  the resources of the content stream or null

#### getBBox

    public PDRectangle getBBox()

Description copied from interface: `PDContentStream`
Returns the bounding box of the contents.

Specified by:
  `getBBox` in interface `PDContentStream`
Returns:
  the bounding box of the content stream or null

#### getGlyphBBox

    public PDRectangle getGlyphBBox()
                             throws IOException

Calculate the bounding box of this glyph. This will work only if the first operator in the stream is d1.

Returns:
  the bounding box of this glyph, or null if the first operator is not d1.
Throws:
  `IOException` - If an io error occurs while parsing the stream.

#### getMatrix

    public Matrix getMatrix()

Description copied from interface: `PDContentStream`
Returns the matrix which transforms from the stream's space to user space.

Specified by:
  `getMatrix` in interface `PDContentStream`
Returns:
  the matrix of the content stream or the identity matrix if there isn't any

#### getWidth

    public float getWidth()
                   throws IOException

Get the width from a type3 charproc stream.

Returns:
  the glyph width.
Throws:
  `IOException` - if the stream could not be read, or did not have d0 or d1 as first operator, or if their first argument was not a number.