Package com.sun.pdfview
Class PDFTextFormat
- java.lang.Object
-
- com.sun.pdfview.PDFTextFormat
-
- All Implemented Interfaces:
java.lang.Cloneable
public class PDFTextFormat extends java.lang.Object implements java.lang.Cloneablea class encapsulating the text state
-
-
Field Summary
Fields Modifier and Type Field Description private java.awt.geom.AffineTransformcurcurrent matrix transformprivate PDFFontfontfontprivate floatfsizefont sizeprivate booleaninuseare we between BT and ET?private java.awt.geom.AffineTransformlinematrix transform at start of lineprivate java.awt.geom.Point2D.FloatprevEndlocation of the end of the previous hunk of textprivate floattccharacter spacingprivate floatthhorizontal scalingprivate floattktext knockoutprivate floattlleadingprivate inttmtext modeprivate floattrrise amountprivate floattwword spacingprivate java.lang.StringBufferwordbuild text rep of wordprivate java.awt.geom.Point2D.FloatwordStartstart location of the hunk of text
-
Constructor Summary
Constructors Constructor Description PDFTextFormat()create a new PDFTextFormat, with initial values
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcarriageReturn()perform a carriage returnvoidcarriageReturn(float x, float y)perform a carriage return by translating by x and y.java.lang.Objectclone()Clone the text formatvoiddoText(PDFPage cmds, java.lang.Object[] ary)add some text to the page.voiddoText(PDFPage cmds, java.lang.String text)add some text to the page.voidend()end a span of textvoidflush()finish any unfinished words.floatgetCharSpacing()get the char spacingPDFFontgetFont()get the fontfloatgetFontSize()get the font sizefloatgetHorizontalScale()Get the horizontal scalefloatgetLeading()get the leadingintgetMode()Get the mode of the textfloatgetRise()Get the risejava.awt.geom.AffineTransformgetTransform()Get the current transformfloatgetWordSpacing()get the word spacingvoidreset()reset the PDFTextFormat for a new runvoidsetCharSpacing(float spc)set the character spacingvoidsetFont(PDFFont f, float size)set the font and sizevoidsetHorizontalScale(float scl)set the horizontal scale.voidsetLeading(float spc)set the leadingvoidsetMatrix(float[] matrix)set the transform matrix directlyvoidsetMode(int m)set the mode of the text.voidsetRise(float spc)set the risevoidsetTextFormatMode(int mode)Set the mode from another text format modevoidsetWordSpacing(float spc)set the word spacing
-
-
-
Field Detail
-
tc
private float tc
character spacing
-
tw
private float tw
word spacing
-
th
private float th
horizontal scaling
-
tl
private float tl
leading
-
tr
private float tr
rise amount
-
tm
private int tm
text mode
-
tk
private float tk
text knockout
-
cur
private java.awt.geom.AffineTransform cur
current matrix transform
-
line
private java.awt.geom.AffineTransform line
matrix transform at start of line
-
font
private PDFFont font
font
-
fsize
private float fsize
font size
-
inuse
private boolean inuse
are we between BT and ET?
-
word
private java.lang.StringBuffer word
build text rep of word
-
wordStart
private java.awt.geom.Point2D.Float wordStart
start location of the hunk of text
-
prevEnd
private java.awt.geom.Point2D.Float prevEnd
location of the end of the previous hunk of text
-
-
Method Detail
-
reset
public void reset()
reset the PDFTextFormat for a new run
-
end
public void end()
end a span of text
-
getCharSpacing
public float getCharSpacing()
get the char spacing
-
setCharSpacing
public void setCharSpacing(float spc)
set the character spacing
-
getWordSpacing
public float getWordSpacing()
get the word spacing
-
setWordSpacing
public void setWordSpacing(float spc)
set the word spacing
-
getHorizontalScale
public float getHorizontalScale()
Get the horizontal scale- Returns:
- the horizontal scale, in percent
-
setHorizontalScale
public void setHorizontalScale(float scl)
set the horizontal scale.- Parameters:
scl- the horizontal scale, in percent (100=normal)
-
getLeading
public float getLeading()
get the leading
-
setLeading
public void setLeading(float spc)
set the leading
-
getFont
public PDFFont getFont()
get the font
-
getFontSize
public float getFontSize()
get the font size
-
setFont
public void setFont(PDFFont f, float size)
set the font and size
-
getMode
public int getMode()
Get the mode of the text
-
setMode
public void setMode(int m)
set the mode of the text. The correspondence of m to mode is show in the following table. m is a value from 0-7 in binary: 000 Fill 001 Stroke 010 Fill + Stroke 011 Nothing 100 Fill + Clip 101 Stroke + Clip 110 Fill + Stroke + Clip 111 Clip Therefore: Fill corresponds to the low bit being 0; Clip corresponds to the hight bit being 1; and Stroke corresponds to the middle xor low bit being 1.
-
setTextFormatMode
public void setTextFormatMode(int mode)
Set the mode from another text format mode- Parameters:
mode- the text render mode using the codes from PDFShapeCmd and not the wacky PDF codes
-
getRise
public float getRise()
Get the rise
-
setRise
public void setRise(float spc)
set the rise
-
carriageReturn
public void carriageReturn()
perform a carriage return
-
carriageReturn
public void carriageReturn(float x, float y)perform a carriage return by translating by x and y. The next carriage return will be relative to the new location.
-
getTransform
public java.awt.geom.AffineTransform getTransform()
Get the current transform
-
setMatrix
public void setMatrix(float[] matrix)
set the transform matrix directly
-
doText
public void doText(PDFPage cmds, java.lang.String text)
add some text to the page.- Parameters:
cmds- the PDFPage to add the commands totext- the text to add
-
doText
public void doText(PDFPage cmds, java.lang.Object[] ary) throws PDFParseException
add some text to the page.- Parameters:
cmds- the PDFPage to add the commands toary- an array of Strings and Doubles, where the Strings represent text to be added, and the Doubles represent kerning amounts.- Throws:
PDFParseException
-
flush
public void flush()
finish any unfinished words. TODO: write this!
-
clone
public java.lang.Object clone()
Clone the text format- Overrides:
clonein classjava.lang.Object
-
-