Class PDFTextFormat

java.lang.Object
com.sun.pdfview.PDFTextFormat
All Implemented Interfaces:
Cloneable

public class PDFTextFormat extends Object implements Cloneable
a class encapsulating the text state
  • Field Details

    • 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 AffineTransform cur
      current matrix transform
    • line

      private 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 StringBuffer word
      build text rep of word
    • wordStart

      private Point2D.Float wordStart
      start location of the hunk of text
    • prevEnd

      private Point2D.Float prevEnd
      location of the end of the previous hunk of text
  • Constructor Details

    • PDFTextFormat

      public PDFTextFormat()
      create a new PDFTextFormat, with initial values
  • Method Details

    • 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 AffineTransform getTransform()
      Get the current transform
    • setMatrix

      public void setMatrix(float[] matrix)
      set the transform matrix directly
    • doText

      public void doText(PDFPage cmds, String text)
      add some text to the page.
      Parameters:
      cmds - the PDFPage to add the commands to
      text - the text to add
    • doText

      public void doText(PDFPage cmds, Object[] ary) throws PDFParseException
      add some text to the page.
      Parameters:
      cmds - the PDFPage to add the commands to
      ary - 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 Object clone()
      Clone the text format
      Overrides:
      clone in class Object