intarsys PDF library API

de.intarsys.pdf.content
Class CSDeviceAdapter

java.lang.Object
  extended by de.intarsys.pdf.content.CSDeviceAdapter
All Implemented Interfaces:
ICSDevice
Direct Known Subclasses:
CSShapeDevice, CSVirtualDevice

public abstract class CSDeviceAdapter
extends Object
implements ICSDevice

An adapter implementation for ICSDevice. This can be used as a simple superclass for implementing PDF content stream aware devices.


Field Summary
static int MAX_STACK_SIZE
          the maximum number of nested states
 
Constructor Summary
CSDeviceAdapter()
          Create a new CSDeviceAdapter
 
Method Summary
 void close()
          Close the device after use.
 void compatibilityBegin()
          Begin a compatibility section.
 void compatibilityEnd()
          End a compatibility section.
 void doShading(COSName name, PDShading shading)
          Paint shape and color shading according to shading dictionary.
 void doXObject(COSName name, PDXObject xobject)
          Stroke a PDXObject.
 ICSGraphicsState getGraphicsState()
          The current ICSGraphicsState active.
 ICSInterpreter getInterpreter()
          The ICSInterpreter associated with this ICSDevice.
 void inlineImage(PDImage img)
          Stroke an inlined image.
 void markedContentBegin(COSName tag)
          Begin a marked content sequence.
 void markedContentBeginProperties(COSName tag, COSName resourceName, COSDictionary properties)
          Begin a marked content sequence with a property list.
 void markedContentEnd()
          End marked content sequence started with "BMC" or "BDC".
 void markedContentPoint(COSName tag)
          Set a marked point.
 void markedContentPointProperties(COSName tag, COSName resourceName, COSDictionary properties)
          Define a marked content point with a property list.
 void open(ICSInterpreter pInterpreter)
          Open the device for use by interpreter.
 void pathClipEvenOdd()
          Intersect the current clipping path with the current path using the even/odd rule.
 void pathClipNonZero()
          Intersect the current clipping path with the current path using the nonzero winding rule.
 void pathClose()
          Close the path and append a line segment from the current coordinate to the starting point of the path.
 void pathCloseFillStrokeEvenOdd()
          Close, Fill and then stroke the path using the even/odd rule.
 void pathCloseFillStrokeNonZero()
          Close, Fill and then stroke the path using the non zero winding rule.
 void pathCloseStroke()
          Close and then stroke the path.
 void pathEnd()
          End the path without filling or stroking.
 void pathFillEvenOdd()
          Fill the path using the even/odd rule.
 void pathFillNonZero()
          Fill the path using the non-zero winding rule.
 void pathFillStrokeEvenOdd()
          Fill and then stroke the path using the even/odd rule.
 void pathFillStrokeNonZero()
          Fill and then stroke the path using the non-zero winding rule.
 void pathStroke()
          Stroke the current path.
 void penCurveToC(float x1, float y1, float x2, float y2, float x3, float y3)
          Append a cubic bezier curve to the path.
 void penCurveToV(float x2, float y2, float x3, float y3)
          Append a cubic bezier curve to the path.
 void penCurveToY(float x1, float y1, float x3, float y3)
          Append a cubic bezier curve to the path.
 void penLineTo(float x, float y)
          Add a line from the current point to x, y.
 void penMoveTo(float x, float y)
          Move the current point to x, y.
 void penRectangle(float x, float y, float w, float h)
          Append a complete rectangle to as a subpath.
 void restoreState()
          Restore the graphics state from the stack.
 void saveState()
          Save the current graphics state on a stack for later use.
 void setExtendedState(COSName name, PDExtGState gstate)
          Set the dictionary as the new graphic state, creating a new PDResources entry if needed.
 void setFlatnessTolerance(float flatness)
          Set the flatness tolerance.
 void setLineCap(int capStyle)
          The line cap specifies the shape to be used at the ends of open subpaths.
 void setLineDash(float[] pattern, float phase)
          Define the pattern used to stroke paths.
 void setLineJoin(int joinStyle)
          The line join specifies the shape to be used at the connection points of two adjacent lines in a path.
 void setLineWidth(float lineWidth)
          Set the thickness of the line used to stroke a path.
 void setMiterLimit(float miterLimit)
          The maximum ratio of MiterLength/LineWidth when connecting two lines with miter style.
 void setNonStrokeColorCMYK(float c, float m, float y, float k)
          Set the non stroking color space to /DeviceCMYK and set the color values c, m, y, K.
 void setNonStrokeColorGray(float gray)
          Set the non stroking color space to /DeviceGray and set the gray level to gray.
 void setNonStrokeColorRGB(float r, float g, float b)
          Set the non stroking color space to /DeviceRGB and set the color values r, g, b.
 void setNonStrokeColorSpace(COSName name, PDColorSpace colorSpace)
          Set color space for non-stroking.
 void setNonStrokeColorValues(float[] values)
          Set the color used for non stroking operations, dependent on the currently selected color spaces.
 void setNonStrokeColorValues(float[] values, COSName name, PDPattern pattern)
          Set the color used for non stroking operations, dependent on the currently selected special color spaces.
 void setRenderingIntent(COSName intent)
          Set the color rendering intent.
 void setStrokeColorCMYK(float c, float m, float y, float k)
          Set the stroking color space to /DeviceCMYK and set the color values c, m, y, K.
 void setStrokeColorGray(float gray)
          Set the stroking color space to /DeviceGray and set the gray level to gray.
 void setStrokeColorRGB(float r, float g, float b)
          Set the stroking color space to /DeviceRGB and set the color values r, g, b.
 void setStrokeColorSpace(COSName name, PDColorSpace colorSpace)
          Set color space for stroking.
 void setStrokeColorValues(float[] values)
          Set the color used for stroking operations, dependent on the currently selected color spaces.
 void setStrokeColorValues(float[] values, COSName name, PDPattern pattern)
          Set the color used for stroking operations, dependent on the currently selected special color spaces.
 void textBegin()
          Begin text mode.
 void textEnd()
          End text mode.
 void textLineMove(float dex, float dy)
          Move the current lext line by dx, dy.
 void textLineNew()
          Move the current position to a new line.
 void textMove(float dx, float dy)
          Move the current text cursor by dx, dy.
 void textMoveTo(float x, float y)
          Move the current text cursor to x, y.
 void textSetCharSpacing(float charSpacing)
          Set the character spacing.
 void textSetFont(COSName name, PDFont font, float size)
          Set the current font and size.
 void textSetHorizontalScaling(float scaling)
          Set the horizontal scling factor.
 void textSetLeading(float leading)
          Set the text leading.
 void textSetRenderingMode(int renderingMode)
          Set the text rendering mode.
 void textSetRise(float rise)
          Set the text rise.
 void textSetTransform(float a, float b, float c, float d, float e, float f)
          Set the text transformation matrix.
 void textSetWordSpacing(float wordSpacing)
          Set the word spacing.
 void textShow(byte[] text, int offset, int length)
          Show a sequence of bytes as text.
 void textShow(String text)
          Show a string value as text, using the current font encoding.
 void textT3SetGlyphWidth(float x, float y)
          Set the glyph width for a type 3 font.
 void textT3SetGlyphWidthBB(float x, float y, float llx, float lly, float urx, float ury)
          Set the glyph width and bounding box for a type 3 font.
 void transform(float a, float b, float c, float d, float e, float f)
          Modify the current transformation matrix by concatenating the transformations.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_STACK_SIZE

public static int MAX_STACK_SIZE
the maximum number of nested states

Constructor Detail

CSDeviceAdapter

public CSDeviceAdapter()
Create a new CSDeviceAdapter

Method Detail

close

public void close()
Description copied from interface: ICSDevice
Close the device after use.

Specified by:
close in interface ICSDevice

compatibilityBegin

public void compatibilityBegin()
Description copied from interface: ICSDevice
Begin a compatibility section.

PDF graphics operator "BX"

Specified by:
compatibilityBegin in interface ICSDevice

compatibilityEnd

public void compatibilityEnd()
Description copied from interface: ICSDevice
End a compatibility section.

PDF graphics operator "EX"

Specified by:
compatibilityEnd in interface ICSDevice

doShading

public void doShading(COSName name,
                      PDShading shading)
Description copied from interface: ICSDevice
Paint shape and color shading according to shading dictionary.

PDF graphics operator "sh"

Specified by:
doShading in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
shading - The PDShading to be painted.

doXObject

public void doXObject(COSName name,
                      PDXObject xobject)
Description copied from interface: ICSDevice
Stroke a PDXObject. A PDXObject is a self contained graphical description, either a form, an image or a postscript program.

PDF graphics operator "Do"

Specified by:
doXObject in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
xobject - The PDXObject to be stroked.

getInterpreter

public ICSInterpreter getInterpreter()
Description copied from interface: ICSDevice
The ICSInterpreter associated with this ICSDevice. The interpreter is associated with "open" and should be no longer used after "close".

Specified by:
getInterpreter in interface ICSDevice
Returns:
The ICSInterpreter associated with this ICSDevice.

inlineImage

public void inlineImage(PDImage img)
Description copied from interface: ICSDevice
Stroke an inlined image.

PDF graphics operators "BI", "ID", "EI"

Specified by:
inlineImage in interface ICSDevice
Parameters:
img - The inlined image. The image may use some special keys instead of the standard PDImage dictionary keys.

markedContentBegin

public void markedContentBegin(COSName tag)
Description copied from interface: ICSDevice
Begin a marked content sequence.

PDF graphics operator "BMC"

Specified by:
markedContentBegin in interface ICSDevice
Parameters:
tag - The tag indicating the role or significance.

markedContentBeginProperties

public void markedContentBeginProperties(COSName tag,
                                         COSName resourceName,
                                         COSDictionary properties)
Description copied from interface: ICSDevice
Begin a marked content sequence with a property list.

PDF graphics operator "BDC"

Specified by:
markedContentBeginProperties in interface ICSDevice
Parameters:
tag - The tag indicating the role or significance.
resourceName - The logical name of the resource in the PDResources
properties - The properties for the marked content sequence.

markedContentEnd

public void markedContentEnd()
Description copied from interface: ICSDevice
End marked content sequence started with "BMC" or "BDC".

PDF graphics operator "EMC"

Specified by:
markedContentEnd in interface ICSDevice

markedContentPoint

public void markedContentPoint(COSName tag)
Description copied from interface: ICSDevice
Set a marked point.

PDF graphics operator "MP"

Specified by:
markedContentPoint in interface ICSDevice
Parameters:
tag - The tag indicating the role or significance.

markedContentPointProperties

public void markedContentPointProperties(COSName tag,
                                         COSName resourceName,
                                         COSDictionary properties)
Description copied from interface: ICSDevice
Define a marked content point with a property list.

PDF graphics operator "DP"

Specified by:
markedContentPointProperties in interface ICSDevice
Parameters:
tag - The tag indicating the role or significance.
resourceName - The logical name of the resource in the PDResources
properties - The properties for the marked content point.

open

public void open(ICSInterpreter pInterpreter)
Description copied from interface: ICSDevice
Open the device for use by interpreter.

Specified by:
open in interface ICSDevice

pathClipEvenOdd

public void pathClipEvenOdd()
Description copied from interface: ICSDevice
Intersect the current clipping path with the current path using the even/odd rule.

PDF graphics operator "W*"

Specified by:
pathClipEvenOdd in interface ICSDevice

pathClipNonZero

public void pathClipNonZero()
Description copied from interface: ICSDevice
Intersect the current clipping path with the current path using the nonzero winding rule.

PDF graphics operator "W"

Specified by:
pathClipNonZero in interface ICSDevice

pathClose

public void pathClose()
Description copied from interface: ICSDevice
Close the path and append a line segment from the current coordinate to the starting point of the path.

PDF graphics operator "h"

Specified by:
pathClose in interface ICSDevice

pathCloseFillStrokeEvenOdd

public void pathCloseFillStrokeEvenOdd()
Description copied from interface: ICSDevice
Close, Fill and then stroke the path using the even/odd rule.

PDF graphics operator "b*"

Specified by:
pathCloseFillStrokeEvenOdd in interface ICSDevice

pathCloseFillStrokeNonZero

public void pathCloseFillStrokeNonZero()
Description copied from interface: ICSDevice
Close, Fill and then stroke the path using the non zero winding rule.

PDF graphics operator "b"

Specified by:
pathCloseFillStrokeNonZero in interface ICSDevice

pathCloseStroke

public void pathCloseStroke()
Description copied from interface: ICSDevice
Close and then stroke the path.

PDF graphics operator "s"

Specified by:
pathCloseStroke in interface ICSDevice

pathEnd

public void pathEnd()
Description copied from interface: ICSDevice
End the path without filling or stroking.

This may for example be used to manipulate the clipping path without a painting operation.

PDF graphics operator "n"

Specified by:
pathEnd in interface ICSDevice

pathFillEvenOdd

public void pathFillEvenOdd()
Description copied from interface: ICSDevice
Fill the path using the even/odd rule.

PDF graphics operator "f*"

Specified by:
pathFillEvenOdd in interface ICSDevice

pathFillNonZero

public void pathFillNonZero()
Description copied from interface: ICSDevice
Fill the path using the non-zero winding rule.

An open subpath is closed before filling.

PDF graphics operator "f"

Specified by:
pathFillNonZero in interface ICSDevice

pathFillStrokeEvenOdd

public void pathFillStrokeEvenOdd()
Description copied from interface: ICSDevice
Fill and then stroke the path using the even/odd rule.

PDF graphics operator "B*"

Specified by:
pathFillStrokeEvenOdd in interface ICSDevice

pathFillStrokeNonZero

public void pathFillStrokeNonZero()
Description copied from interface: ICSDevice
Fill and then stroke the path using the non-zero winding rule.

PDF graphics operator "B"

Specified by:
pathFillStrokeNonZero in interface ICSDevice

pathStroke

public void pathStroke()
Description copied from interface: ICSDevice
Stroke the current path.

PDF graphics operator "S"

Specified by:
pathStroke in interface ICSDevice

penCurveToC

public void penCurveToC(float x1,
                        float y1,
                        float x2,
                        float y2,
                        float x3,
                        float y3)
Description copied from interface: ICSDevice
Append a cubic bezier curve to the path.
The curve extends from the current point to x3, y3, where x1,y1 and x2,y2 are the bezier control points. current +---------* x1/y1 . _ -. . *x2/y2 . . . + x3/y3

PDF graphics operator "c"

Specified by:
penCurveToC in interface ICSDevice
Parameters:
x1 - x coordinate of first control point
y1 - y coordinate of first control point
x2 - x coordinate of second control point
y2 - y coordinate of second control point
x3 - x coordinate of endpoint
y3 - y coordinate of endpoint

penCurveToV

public void penCurveToV(float x2,
                        float y2,
                        float x3,
                        float y3)
Description copied from interface: ICSDevice
Append a cubic bezier curve to the path. The curve extends from the current point to x3, y3, where the first control point coincides with the current point and x2,y2 is the second bezier control point. current + . _ -. . *x2/y2 . . . + x3/y3

PDF graphics operator "v"

Specified by:
penCurveToV in interface ICSDevice
Parameters:
x2 - x coordinate of second control point
y2 - y coordinate of second control point
x3 - x coordinate of endpoint
y3 - y coordinate of endpoint

penCurveToY

public void penCurveToY(float x1,
                        float y1,
                        float x3,
                        float y3)
Description copied from interface: ICSDevice
Append a cubic bezier curve to the path.

The curve extends from the current point to x3, y3, where x1,y1 and x3,y3 are the bezier control points. current +---------* x1/y1 . _ -. . . . . + x3/y3

PDF graphics operator "y"

Specified by:
penCurveToY in interface ICSDevice
Parameters:
x1 - x coordinate of first control point
y1 - y coordinate of first control point
x3 - x coordinate of endpoint
y3 - y coordinate of endpoint

penLineTo

public void penLineTo(float x,
                      float y)
Description copied from interface: ICSDevice
Add a line from the current point to x, y. The new current point is x, y.

PDF graphics operator "l"

Specified by:
penLineTo in interface ICSDevice
Parameters:
x - The new current x coordinate
y - The new current y coordinate

penMoveTo

public void penMoveTo(float x,
                      float y)
Description copied from interface: ICSDevice
Move the current point to x, y. No line is added to the path, a new subpath is started.

PDF graphics operator "m"

Specified by:
penMoveTo in interface ICSDevice
Parameters:
x - The new current x coordinate
y - The new current y coordinate

penRectangle

public void penRectangle(float x,
                         float y,
                         float w,
                         float h)
Description copied from interface: ICSDevice
Append a complete rectangle to as a subpath.

The lower left corner is at x, y, the dimensions are width and height. The numbers are defined in user space.

PDF graphics operator "re"

Specified by:
penRectangle in interface ICSDevice
Parameters:
x - The x coordinate of the lower left corner in user space
y - The y coordinate of the lower left corner in user space
w - The width in user space
h - The height in user space

restoreState

public void restoreState()
Description copied from interface: ICSDevice
Restore the graphics state from the stack.

PDF graphics operator "Q"

Specified by:
restoreState in interface ICSDevice

saveState

public void saveState()
Description copied from interface: ICSDevice
Save the current graphics state on a stack for later use.

PDF graphics operator "q"

Specified by:
saveState in interface ICSDevice

setExtendedState

public void setExtendedState(COSName name,
                             PDExtGState gstate)
Description copied from interface: ICSDevice
Set the dictionary as the new graphic state, creating a new PDResources entry if needed.

PDF graphics operator "gs"

Specified by:
setExtendedState in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
gstate - The new PDExtGState

setFlatnessTolerance

public void setFlatnessTolerance(float flatness)
Description copied from interface: ICSDevice
Set the flatness tolerance. flatness is a value between 0 and 100, with 0 defining the device's default flatness tolerance.

PDF graphics operator "i"

Specified by:
setFlatnessTolerance in interface ICSDevice
Parameters:
flatness - The flatness tolerance between 0 and 100.

setLineCap

public void setLineCap(int capStyle)
Description copied from interface: ICSDevice
The line cap specifies the shape to be used at the ends of open subpaths. 0: Butt. The stroke is cut at the endpoint. 1: Round. A circle is drawn with the diamter of the line width at the endpoint 2: Square. A square is drawn with its center at the endpoint.

PDF graphics operator "J"

Specified by:
setLineCap in interface ICSDevice
Parameters:
capStyle - The line cap style to use (0,1 or 2)

setLineDash

public void setLineDash(float[] pattern,
                        float phase)
Description copied from interface: ICSDevice
Define the pattern used to stroke paths. unitsOn defines a length in user space where the line is drawn, unitsOff defines a length in user space wher the line is not drawn. phase defines a "offset" in the pattern definition.

This is a simplified version that only allows for a two phase pattern.

PDF graphics operator "d"

Specified by:
setLineDash in interface ICSDevice
Parameters:
pattern - The pattern array for the dash
phase - Offset in pattern

setLineJoin

public void setLineJoin(int joinStyle)
Description copied from interface: ICSDevice
The line join specifies the shape to be used at the connection points of two adjacent lines in a path. 0: Miter Join, the outer line boreders are extended until they meet. 1: Round join. A circle is drawn at the meeting point with its diameter the same as the line width. 2: Bevel join. The segments are cut at the endpoints as in the line cap style "Butt". The empty triangle is filled.

PDF graphics operator "j"

Specified by:
setLineJoin in interface ICSDevice
Parameters:
joinStyle - The line join style to use (one of 0,1,2)

setLineWidth

public void setLineWidth(float lineWidth)
Description copied from interface: ICSDevice
Set the thickness of the line used to stroke a path. This is a number in user space units.

A width of zero denotes the thinest line that can be rendered.

PDF graphics operator "w"

Specified by:
setLineWidth in interface ICSDevice
Parameters:
lineWidth - The line width in user space.

setMiterLimit

public void setMiterLimit(float miterLimit)
Description copied from interface: ICSDevice
The maximum ratio of MiterLength/LineWidth when connecting two lines with miter style.

PDF graphics operator "M"

Specified by:
setMiterLimit in interface ICSDevice
Parameters:
miterLimit - The maximum ratio of MiterLength/LineWidth when connecting two lines with miter style.

setNonStrokeColorCMYK

public void setNonStrokeColorCMYK(float c,
                                  float m,
                                  float y,
                                  float k)
Description copied from interface: ICSDevice
Set the non stroking color space to /DeviceCMYK and set the color values c, m, y, K.

Specified by:
setNonStrokeColorCMYK in interface ICSDevice
Parameters:
c - A number between 0 (minimum) and 1 (maximum)
m - A number between 0 (minimum) and 1 (maximum)
y - A number between 0 (minimum) and 1 (maximum)
k - A number between 0 (minimum) and 1 (maximum)

setNonStrokeColorGray

public void setNonStrokeColorGray(float gray)
Description copied from interface: ICSDevice
Set the non stroking color space to /DeviceGray and set the gray level to gray.

Specified by:
setNonStrokeColorGray in interface ICSDevice
Parameters:
gray - A number between 0 (black) and 1 (white)

setNonStrokeColorRGB

public void setNonStrokeColorRGB(float r,
                                 float g,
                                 float b)
Description copied from interface: ICSDevice
Set the non stroking color space to /DeviceRGB and set the color values r, g, b.

Specified by:
setNonStrokeColorRGB in interface ICSDevice
Parameters:
r - A number between 0 (minimum) and 1 (maximum)
g - A number between 0 (minimum) and 1 (maximum)
b - A number between 0 (minimum) and 1 (maximum)

setNonStrokeColorSpace

public void setNonStrokeColorSpace(COSName name,
                                   PDColorSpace colorSpace)
Description copied from interface: ICSDevice
Set color space for non-stroking.

PDF graphics operator "cs"

Specified by:
setNonStrokeColorSpace in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
colorSpace - The new PDColorSpace

setNonStrokeColorValues

public void setNonStrokeColorValues(float[] values)
Description copied from interface: ICSDevice
Set the color used for non stroking operations, dependent on the currently selected color spaces.

PDF graphics operator "sc" or "scn", dependen on the active color space.

Specified by:
setNonStrokeColorValues in interface ICSDevice
Parameters:
values - The color values

setNonStrokeColorValues

public void setNonStrokeColorValues(float[] values,
                                    COSName name,
                                    PDPattern pattern)
Description copied from interface: ICSDevice
Set the color used for non stroking operations, dependent on the currently selected special color spaces.

PDF graphics operator "scn"

Specified by:
setNonStrokeColorValues in interface ICSDevice
Parameters:
values - The color values.
name - An optional logical name of the resource in the PDResources
pattern - An optional PDPattern

setRenderingIntent

public void setRenderingIntent(COSName intent)
Description copied from interface: ICSDevice
Set the color rendering intent.

PDF graphics operator "ri"

Specified by:
setRenderingIntent in interface ICSDevice
Parameters:
intent - The name of the rendering intent.

setStrokeColorCMYK

public void setStrokeColorCMYK(float c,
                               float m,
                               float y,
                               float k)
Description copied from interface: ICSDevice
Set the stroking color space to /DeviceCMYK and set the color values c, m, y, K.

Specified by:
setStrokeColorCMYK in interface ICSDevice
Parameters:
c - A number between 0 (minimum) and 1 (maximum)
m - A number between 0 (minimum) and 1 (maximum)
y - A number between 0 (minimum) and 1 (maximum)
k - A number between 0 (minimum) and 1 (maximum)

setStrokeColorGray

public void setStrokeColorGray(float gray)
Description copied from interface: ICSDevice
Set the stroking color space to /DeviceGray and set the gray level to gray.

Specified by:
setStrokeColorGray in interface ICSDevice
Parameters:
gray - A number between 0 (black) and 1 (white)

setStrokeColorRGB

public void setStrokeColorRGB(float r,
                              float g,
                              float b)
Description copied from interface: ICSDevice
Set the stroking color space to /DeviceRGB and set the color values r, g, b.

Specified by:
setStrokeColorRGB in interface ICSDevice
Parameters:
r - A number between 0 (minimum) and 1 (maximum)
g - A number between 0 (minimum) and 1 (maximum)
b - A number between 0 (minimum) and 1 (maximum)

setStrokeColorSpace

public void setStrokeColorSpace(COSName name,
                                PDColorSpace colorSpace)
Description copied from interface: ICSDevice
Set color space for stroking.

PDF graphics operator "CS"

Specified by:
setStrokeColorSpace in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
colorSpace - The new PDColorSpace

setStrokeColorValues

public void setStrokeColorValues(float[] values)
Description copied from interface: ICSDevice
Set the color used for stroking operations, dependent on the currently selected color spaces.

PDF graphics operator "SC" or "SCN", dependen on the active color space.

Specified by:
setStrokeColorValues in interface ICSDevice
Parameters:
values - The color values.

setStrokeColorValues

public void setStrokeColorValues(float[] values,
                                 COSName name,
                                 PDPattern pattern)
Description copied from interface: ICSDevice
Set the color used for stroking operations, dependent on the currently selected special color spaces.

PDF graphics operator "SCN"

Specified by:
setStrokeColorValues in interface ICSDevice
Parameters:
values - The color values.
name - An optional logical name of the resource in the PDResources
pattern - An optional PDPattern

textBegin

public void textBegin()
Description copied from interface: ICSDevice
Begin text mode.

PDF graphics operator "BT"

Specified by:
textBegin in interface ICSDevice

textEnd

public void textEnd()
Description copied from interface: ICSDevice
End text mode.

PDF graphics operator "ET"

Specified by:
textEnd in interface ICSDevice

textLineMove

public void textLineMove(float dex,
                         float dy)
Description copied from interface: ICSDevice
Move the current lext line by dx, dy.

PDF graphics operator "Td"

Specified by:
textLineMove in interface ICSDevice
Parameters:
dex - The x offset for the new glyph starting point from the last text line starting point.
dy - The y offset for the new glyph starting point from the last text line starting point.

textLineNew

public void textLineNew()
Description copied from interface: ICSDevice
Move the current position to a new line. y.

PDF graphics operator "T*"

Specified by:
textLineNew in interface ICSDevice

textMove

public void textMove(float dx,
                     float dy)
Description copied from interface: ICSDevice
Move the current text cursor by dx, dy.

There is no graphics operator for this. It is implemented as a tool for the ease of creating a content stream.

Specified by:
textMove in interface ICSDevice
Parameters:
dx - The x offset for the new glyph starting point from the current text cursor position.
dy - The x offset for the new glyph starting point from the current text cursor position.

textMoveTo

public void textMoveTo(float x,
                       float y)
Description copied from interface: ICSDevice
Move the current text cursor to x, y.

There is no graphics operator for this. It is implemented as a tool for the ease of creating a content stream.

Specified by:
textMoveTo in interface ICSDevice
Parameters:
x - The x coordinate for the next glyph starting point .
y - The y coordinate for the next glyph starting point .

textSetCharSpacing

public void textSetCharSpacing(float charSpacing)
Description copied from interface: ICSDevice
Set the character spacing.

PDF graphics operator "Tc"

Specified by:
textSetCharSpacing in interface ICSDevice
Parameters:
charSpacing - The character spacing

textSetFont

public void textSetFont(COSName name,
                        PDFont font,
                        float size)
Description copied from interface: ICSDevice
Set the current font and size.

PDF graphics operator "Tf"

Specified by:
textSetFont in interface ICSDevice
Parameters:
name - The logical name of the resource in the PDResources
font - The new PDFont
size - The new font size (scaling)

textSetHorizontalScaling

public void textSetHorizontalScaling(float scaling)
Description copied from interface: ICSDevice
Set the horizontal scling factor.

PDF graphics operator "Tz"

Specified by:
textSetHorizontalScaling in interface ICSDevice
Parameters:
scaling - The new horizontal scaling factor.

textSetLeading

public void textSetLeading(float leading)
Description copied from interface: ICSDevice
Set the text leading.

PDF graphics operator "TL"

Specified by:
textSetLeading in interface ICSDevice
Parameters:
leading - The new leading

textSetRenderingMode

public void textSetRenderingMode(int renderingMode)
Description copied from interface: ICSDevice
Set the text rendering mode.

PDF graphics operator "Tr"

Specified by:
textSetRenderingMode in interface ICSDevice
Parameters:
renderingMode - The new rendering mode.

textSetRise

public void textSetRise(float rise)
Description copied from interface: ICSDevice
Set the text rise.

PDF graphics operator "Ts"

Specified by:
textSetRise in interface ICSDevice
Parameters:
rise - The new text rise (super/subscript) amount

textSetTransform

public void textSetTransform(float a,
                             float b,
                             float c,
                             float d,
                             float e,
                             float f)
Description copied from interface: ICSDevice
Set the text transformation matrix. Both the text matrix anf the text line matrix are set to the new values.

PDF graphics operator "Tm"

Specified by:
textSetTransform in interface ICSDevice
Parameters:
a - operand 1,1 in the matrix
b - operand 1,2 in the matrix
c - operand 2,1 in the matrix
d - operand 2,2 in the matrix
e - operand 3,1 in the matrix
f - operand 3,2 in the matrix

textSetWordSpacing

public void textSetWordSpacing(float wordSpacing)
Description copied from interface: ICSDevice
Set the word spacing.

PDF graphics operator "Tw"

Specified by:
textSetWordSpacing in interface ICSDevice
Parameters:
wordSpacing - The new word spacing.

textShow

public void textShow(byte[] text,
                     int offset,
                     int length)
Description copied from interface: ICSDevice
Show a sequence of bytes as text.

PDF graphics operator "Tj"

Specified by:
textShow in interface ICSDevice
Parameters:
text - The bytes to be shown.

textShow

public void textShow(String text)
Description copied from interface: ICSDevice
Show a string value as text, using the current font encoding.

This is an optional operation from the viewpoint of an ICSInterpreter. It is called only "manually" in content creation devices. This method may throw an UnsupportedOperationException.

PDF graphics operator "Tj"

Specified by:
textShow in interface ICSDevice
Parameters:
text - The text value to be shown using the current fonts encoding.

textT3SetGlyphWidth

public void textT3SetGlyphWidth(float x,
                                float y)
Description copied from interface: ICSDevice
Set the glyph width for a type 3 font.

PDF graphics operator "d0"

Specified by:
textT3SetGlyphWidth in interface ICSDevice
Parameters:
x - The glyph width
y - must be 0

textT3SetGlyphWidthBB

public void textT3SetGlyphWidthBB(float x,
                                  float y,
                                  float llx,
                                  float lly,
                                  float urx,
                                  float ury)
Description copied from interface: ICSDevice
Set the glyph width and bounding box for a type 3 font.

PDF graphics operator "d1"

Specified by:
textT3SetGlyphWidthBB in interface ICSDevice
Parameters:
x - The glyph width.
y - must be 0
llx - lower left x of bounding box
lly - lower left y of bounding box
urx - upper right x of bounding box
ury - upper right y of bounding box

transform

public void transform(float a,
                      float b,
                      float c,
                      float d,
                      float e,
                      float f)
Description copied from interface: ICSDevice
Modify the current transformation matrix by concatenating the transformations.

PDF graphics operator "cm"

Specified by:
transform in interface ICSDevice
Parameters:
a - operand 1,1 in the matrix
b - operand 1,2 in the matrix
c - operand 2,1 in the matrix
d - operand 2,2 in the matrix
e - operand 3,1 in the matrix
f - operand 3,2 in the matrix

getGraphicsState

public ICSGraphicsState getGraphicsState()
Description copied from interface: ICSDevice
The current ICSGraphicsState active.

This is a read only representation of the graphics state used when performing rendering operations in the device.

Specified by:
getGraphicsState in interface ICSDevice
Returns:
The current ICSGraphicsState active.

intarsys PDF library API

Copyright © 2006 intarsys consulting GmbH. All Rights Reserved.