|
intarsys PDF library API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.intarsys.pdf.content.CSDeviceAdapter
public abstract class CSDeviceAdapter
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 |
---|
public static int MAX_STACK_SIZE
Constructor Detail |
---|
public CSDeviceAdapter()
CSDeviceAdapter
Method Detail |
---|
public void close()
ICSDevice
close
in interface ICSDevice
public void compatibilityBegin()
ICSDevice
PDF graphics operator "BX"
compatibilityBegin
in interface ICSDevice
public void compatibilityEnd()
ICSDevice
PDF graphics operator "EX"
compatibilityEnd
in interface ICSDevice
public void doShading(COSName name, PDShading shading)
ICSDevice
PDF graphics operator "sh"
doShading
in interface ICSDevice
name
- The logical name of the resource in the PDResources
shading
- The PDShading
to be painted.public void doXObject(COSName name, PDXObject xobject)
ICSDevice
PDF graphics operator "Do"
doXObject
in interface ICSDevice
name
- The logical name of the resource in the PDResources
xobject
- The PDXObject
to be stroked.public ICSInterpreter getInterpreter()
ICSDevice
ICSInterpreter
associated with this ICSDevice
. The
interpreter is associated with "open" and should be no longer used after
"close".
getInterpreter
in interface ICSDevice
ICSInterpreter
associated with this ICSDevice
.public void inlineImage(PDImage img)
ICSDevice
PDF graphics operators "BI", "ID", "EI"
inlineImage
in interface ICSDevice
img
- The inlined image. The image may use some special keys instead
of the standard PDImage
dictionary keys.public void markedContentBegin(COSName tag)
ICSDevice
PDF graphics operator "BMC"
markedContentBegin
in interface ICSDevice
tag
- The tag indicating the role or significance.public void markedContentBeginProperties(COSName tag, COSName resourceName, COSDictionary properties)
ICSDevice
PDF graphics operator "BDC"
markedContentBeginProperties
in interface ICSDevice
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.public void markedContentEnd()
ICSDevice
PDF graphics operator "EMC"
markedContentEnd
in interface ICSDevice
public void markedContentPoint(COSName tag)
ICSDevice
PDF graphics operator "MP"
markedContentPoint
in interface ICSDevice
tag
- The tag indicating the role or significance.public void markedContentPointProperties(COSName tag, COSName resourceName, COSDictionary properties)
ICSDevice
PDF graphics operator "DP"
markedContentPointProperties
in interface ICSDevice
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.public void open(ICSInterpreter pInterpreter)
ICSDevice
interpreter
.
open
in interface ICSDevice
public void pathClipEvenOdd()
ICSDevice
PDF graphics operator "W*"
pathClipEvenOdd
in interface ICSDevice
public void pathClipNonZero()
ICSDevice
PDF graphics operator "W"
pathClipNonZero
in interface ICSDevice
public void pathClose()
ICSDevice
PDF graphics operator "h"
pathClose
in interface ICSDevice
public void pathCloseFillStrokeEvenOdd()
ICSDevice
PDF graphics operator "b*"
pathCloseFillStrokeEvenOdd
in interface ICSDevice
public void pathCloseFillStrokeNonZero()
ICSDevice
PDF graphics operator "b"
pathCloseFillStrokeNonZero
in interface ICSDevice
public void pathCloseStroke()
ICSDevice
PDF graphics operator "s"
pathCloseStroke
in interface ICSDevice
public void pathEnd()
ICSDevice
This may for example be used to manipulate the clipping path without a painting operation.
PDF graphics operator "n"
pathEnd
in interface ICSDevice
public void pathFillEvenOdd()
ICSDevice
PDF graphics operator "f*"
pathFillEvenOdd
in interface ICSDevice
public void pathFillNonZero()
ICSDevice
An open subpath is closed before filling.
PDF graphics operator "f"
pathFillNonZero
in interface ICSDevice
public void pathFillStrokeEvenOdd()
ICSDevice
PDF graphics operator "B*"
pathFillStrokeEvenOdd
in interface ICSDevice
public void pathFillStrokeNonZero()
ICSDevice
PDF graphics operator "B"
pathFillStrokeNonZero
in interface ICSDevice
public void pathStroke()
ICSDevice
PDF graphics operator "S"
pathStroke
in interface ICSDevice
public void penCurveToC(float x1, float y1, float x2, float y2, float x3, float y3)
ICSDevice
current
+---------* x1/y1
. _
-.
. *x2/y2
.
.
.
+ x3/y3
PDF graphics operator "c"
penCurveToC
in interface ICSDevice
x1
- x coordinate of first control pointy1
- y coordinate of first control pointx2
- x coordinate of second control pointy2
- y coordinate of second control pointx3
- x coordinate of endpointy3
- y coordinate of endpointpublic void penCurveToV(float x2, float y2, float x3, float y3)
ICSDevice
current
+
. _
-.
. *x2/y2
.
.
.
+ x3/y3
PDF graphics operator "v"
penCurveToV
in interface ICSDevice
x2
- x coordinate of second control pointy2
- y coordinate of second control pointx3
- x coordinate of endpointy3
- y coordinate of endpointpublic void penCurveToY(float x1, float y1, float x3, float y3)
ICSDevice
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"
penCurveToY
in interface ICSDevice
x1
- x coordinate of first control pointy1
- y coordinate of first control pointx3
- x coordinate of endpointy3
- y coordinate of endpointpublic void penLineTo(float x, float y)
ICSDevice
x
, y
.
The new current point is x
, y
.
PDF graphics operator "l"
penLineTo
in interface ICSDevice
x
- The new current x coordinatey
- The new current y coordinatepublic void penMoveTo(float x, float y)
ICSDevice
x
, y
. No line
is added to the path, a new subpath is started.
PDF graphics operator "m"
penMoveTo
in interface ICSDevice
x
- The new current x coordinatey
- The new current y coordinatepublic void penRectangle(float x, float y, float w, float h)
ICSDevice
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"
penRectangle
in interface ICSDevice
x
- The x coordinate of the lower left corner in user spacey
- The y coordinate of the lower left corner in user spacew
- The width in user spaceh
- The height in user spacepublic void restoreState()
ICSDevice
PDF graphics operator "Q"
restoreState
in interface ICSDevice
public void saveState()
ICSDevice
PDF graphics operator "q"
saveState
in interface ICSDevice
public void setExtendedState(COSName name, PDExtGState gstate)
ICSDevice
PDResources
entry if needed.
PDF graphics operator "gs"
setExtendedState
in interface ICSDevice
name
- The logical name of the resource in the PDResources
gstate
- The new PDExtGState
public void setFlatnessTolerance(float flatness)
ICSDevice
flatness
is a value between 0
and 100, with 0 defining the device's default flatness tolerance.
PDF graphics operator "i"
setFlatnessTolerance
in interface ICSDevice
flatness
- The flatness tolerance between 0 and 100.public void setLineCap(int capStyle)
ICSDevice
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"
setLineCap
in interface ICSDevice
capStyle
- The line cap style to use (0,1 or 2)public void setLineDash(float[] pattern, float phase)
ICSDevice
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"
setLineDash
in interface ICSDevice
pattern
- The pattern array for the dashphase
- Offset in patternpublic void setLineJoin(int joinStyle)
ICSDevice
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"
setLineJoin
in interface ICSDevice
joinStyle
- The line join style to use (one of 0,1,2)public void setLineWidth(float lineWidth)
ICSDevice
A width of zero denotes the thinest line that can be rendered.
PDF graphics operator "w"
setLineWidth
in interface ICSDevice
lineWidth
- The line width in user space.public void setMiterLimit(float miterLimit)
ICSDevice
PDF graphics operator "M"
setMiterLimit
in interface ICSDevice
miterLimit
- The maximum ratio of MiterLength/LineWidth when connecting two
lines with miter style.public void setNonStrokeColorCMYK(float c, float m, float y, float k)
ICSDevice
c
, m
, y
, K
.
setNonStrokeColorCMYK
in interface ICSDevice
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)public void setNonStrokeColorGray(float gray)
ICSDevice
gray
.
setNonStrokeColorGray
in interface ICSDevice
gray
- A number between 0 (black) and 1 (white)public void setNonStrokeColorRGB(float r, float g, float b)
ICSDevice
r
, g
, b
.
setNonStrokeColorRGB
in interface ICSDevice
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)public void setNonStrokeColorSpace(COSName name, PDColorSpace colorSpace)
ICSDevice
PDF graphics operator "cs"
setNonStrokeColorSpace
in interface ICSDevice
name
- The logical name of the resource in the PDResources
colorSpace
- The new PDColorSpace
public void setNonStrokeColorValues(float[] values)
ICSDevice
PDF graphics operator "sc" or "scn", dependen on the active color space.
setNonStrokeColorValues
in interface ICSDevice
values
- The color valuespublic void setNonStrokeColorValues(float[] values, COSName name, PDPattern pattern)
ICSDevice
PDF graphics operator "scn"
setNonStrokeColorValues
in interface ICSDevice
values
- The color values.name
- An optional logical name of the resource in the
PDResources
pattern
- An optional PDPattern
public void setRenderingIntent(COSName intent)
ICSDevice
PDF graphics operator "ri"
setRenderingIntent
in interface ICSDevice
intent
- The name of the rendering intent.public void setStrokeColorCMYK(float c, float m, float y, float k)
ICSDevice
c
, m
, y
, K
.
setStrokeColorCMYK
in interface ICSDevice
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)public void setStrokeColorGray(float gray)
ICSDevice
gray
.
setStrokeColorGray
in interface ICSDevice
gray
- A number between 0 (black) and 1 (white)public void setStrokeColorRGB(float r, float g, float b)
ICSDevice
r
, g
, b
.
setStrokeColorRGB
in interface ICSDevice
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)public void setStrokeColorSpace(COSName name, PDColorSpace colorSpace)
ICSDevice
PDF graphics operator "CS"
setStrokeColorSpace
in interface ICSDevice
name
- The logical name of the resource in the PDResources
colorSpace
- The new PDColorSpace
public void setStrokeColorValues(float[] values)
ICSDevice
PDF graphics operator "SC" or "SCN", dependen on the active color space.
setStrokeColorValues
in interface ICSDevice
values
- The color values.public void setStrokeColorValues(float[] values, COSName name, PDPattern pattern)
ICSDevice
PDF graphics operator "SCN"
setStrokeColorValues
in interface ICSDevice
values
- The color values.name
- An optional logical name of the resource in the
PDResources
pattern
- An optional PDPattern
public void textBegin()
ICSDevice
PDF graphics operator "BT"
textBegin
in interface ICSDevice
public void textEnd()
ICSDevice
PDF graphics operator "ET"
textEnd
in interface ICSDevice
public void textLineMove(float dex, float dy)
ICSDevice
dx
, dy
.
PDF graphics operator "Td"
textLineMove
in interface ICSDevice
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.public void textLineNew()
ICSDevice
y
.
PDF graphics operator "T*"
textLineNew
in interface ICSDevice
public void textMove(float dx, float dy)
ICSDevice
dx
, dy
.
There is no graphics operator for this. It is implemented as a tool for the ease of creating a content stream.
textMove
in interface ICSDevice
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.public void textMoveTo(float x, float y)
ICSDevice
x
, y
.
There is no graphics operator for this. It is implemented as a tool for the ease of creating a content stream.
textMoveTo
in interface ICSDevice
x
- The x coordinate for the next glyph starting point .y
- The y coordinate for the next glyph starting point .public void textSetCharSpacing(float charSpacing)
ICSDevice
PDF graphics operator "Tc"
textSetCharSpacing
in interface ICSDevice
charSpacing
- The character spacingpublic void textSetFont(COSName name, PDFont font, float size)
ICSDevice
PDF graphics operator "Tf"
textSetFont
in interface ICSDevice
name
- The logical name of the resource in the PDResources
font
- The new PDFont
size
- The new font size (scaling)public void textSetHorizontalScaling(float scaling)
ICSDevice
PDF graphics operator "Tz"
textSetHorizontalScaling
in interface ICSDevice
scaling
- The new horizontal scaling factor.public void textSetLeading(float leading)
ICSDevice
PDF graphics operator "TL"
textSetLeading
in interface ICSDevice
leading
- The new leadingpublic void textSetRenderingMode(int renderingMode)
ICSDevice
PDF graphics operator "Tr"
textSetRenderingMode
in interface ICSDevice
renderingMode
- The new rendering mode.public void textSetRise(float rise)
ICSDevice
PDF graphics operator "Ts"
textSetRise
in interface ICSDevice
rise
- The new text rise (super/subscript) amountpublic void textSetTransform(float a, float b, float c, float d, float e, float f)
ICSDevice
PDF graphics operator "Tm"
textSetTransform
in interface ICSDevice
a
- operand 1,1 in the matrixb
- operand 1,2 in the matrixc
- operand 2,1 in the matrixd
- operand 2,2 in the matrixe
- operand 3,1 in the matrixf
- operand 3,2 in the matrixpublic void textSetWordSpacing(float wordSpacing)
ICSDevice
PDF graphics operator "Tw"
textSetWordSpacing
in interface ICSDevice
wordSpacing
- The new word spacing.public void textShow(byte[] text, int offset, int length)
ICSDevice
PDF graphics operator "Tj"
textShow
in interface ICSDevice
text
- The bytes to be shown.public void textShow(String text)
ICSDevice
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"
textShow
in interface ICSDevice
text
- The text value to be shown using the current fonts encoding.public void textT3SetGlyphWidth(float x, float y)
ICSDevice
PDF graphics operator "d0"
textT3SetGlyphWidth
in interface ICSDevice
x
- The glyph widthy
- must be 0public void textT3SetGlyphWidthBB(float x, float y, float llx, float lly, float urx, float ury)
ICSDevice
PDF graphics operator "d1"
textT3SetGlyphWidthBB
in interface ICSDevice
x
- The glyph width.y
- must be 0llx
- lower left x of bounding boxlly
- lower left y of bounding boxurx
- upper right x of bounding boxury
- upper right y of bounding boxpublic void transform(float a, float b, float c, float d, float e, float f)
ICSDevice
PDF graphics operator "cm"
transform
in interface ICSDevice
a
- operand 1,1 in the matrixb
- operand 1,2 in the matrixc
- operand 2,1 in the matrixd
- operand 2,2 in the matrixe
- operand 3,1 in the matrixf
- operand 3,2 in the matrixpublic ICSGraphicsState getGraphicsState()
ICSDevice
ICSGraphicsState
active.
This is a read only representation of the graphics state used when performing rendering operations in the device.
getGraphicsState
in interface ICSDevice
ICSGraphicsState
active.
|
intarsys PDF library API | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |