org.freehep.graphicsio.pdf
Class PDFGraphics2D

java.lang.Object
  extended by java.awt.Graphics
      extended by java.awt.Graphics2D
          extended by org.freehep.graphics2d.VectorGraphics
              extended by org.freehep.graphics2d.AbstractVectorGraphics
                  extended by org.freehep.graphicsio.VectorGraphicsIO
                      extended by org.freehep.graphicsio.AbstractVectorGraphicsIO
                          extended by org.freehep.graphicsio.pdf.PDFGraphics2D
All Implemented Interfaces:
org.freehep.graphics2d.VectorGraphicsConstants, org.freehep.graphicsio.font.FontUtilities.ShowString, org.freehep.graphicsio.MultiPageDocument

public class PDFGraphics2D
extends org.freehep.graphicsio.AbstractVectorGraphicsIO
implements org.freehep.graphicsio.MultiPageDocument, org.freehep.graphicsio.font.FontUtilities.ShowString

Implementation of VectorGraphics that writes the output to a PDF file. Users of this class have to generate a PDFWriter and create an instance by invoking the factory method or the constructor. Document specific settings like page size can then be made by the appropriate setter methods. Before starting to draw, startExport() must be called. When drawing is finished, call endExport().

Version:
$Id: PDFGraphics2D.java 9312 2006-11-12 17:25:14Z duns $
Author:
Simon Fischer, Mark Donszelmann

Field Summary
static String AUTHOR
           
static String BACKGROUND
           
static String BACKGROUND_COLOR
           
static String COMPRESS
           
static String EMBED_FONTS
           
static String EMBED_FONTS_AS
           
static String FIT_TO_PAGE
           
static String KEYWORDS
           
static String ORIENTATION
           
static String PAGE_MARGINS
           
static String PAGE_SIZE
           
static String SUBJECT
           
static String THUMBNAIL_SIZE
           
static String THUMBNAILS
           
static String TITLE
           
static String TRANSPARENT
           
static String version
           
static String VERSION
           
static String VERSION4
           
static String VERSION5
           
static String VERSION6
           
static String WRITE_IMAGES_AS
           
 
Fields inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
CLIP, EMIT_ERRORS, EMIT_WARNINGS, TEXT_AS_SHAPES
 
Fields inherited from interface org.freehep.graphics2d.VectorGraphicsConstants
NUMBER_OF_HORIZ_ALIGNMENTS, NUMBER_OF_SYMBOLS, NUMBER_OF_VERTICAL_ALIGNMENTS, SYMBOL_BOX, SYMBOL_CIRCLE, SYMBOL_CROSS, SYMBOL_DIAMOND, SYMBOL_DN_TRIANGLE, SYMBOL_HLINE, SYMBOL_PLUS, SYMBOL_STAR, SYMBOL_UP_TRIANGLE, SYMBOL_VLINE, TEXT_BASELINE, TEXT_BOTTOM, TEXT_CENTER, TEXT_LEFT, TEXT_RIGHT, TEXT_TOP
 
Constructor Summary
  PDFGraphics2D(File file, Component component)
           
  PDFGraphics2D(File file, Dimension size)
           
  PDFGraphics2D(OutputStream ros, Component component)
           
  PDFGraphics2D(OutputStream ros, Dimension size)
           
protected PDFGraphics2D(PDFGraphics2D graphics, boolean doRestoreOnDispose)
          Cloneconstructor
 
Method Summary
 void closePage()
           
 void closeStream()
           
 void copyArea(int x, int y, int width, int height, int dx, int dy)
           
 Graphics create()
           
 Graphics create(double x, double y, double width, double height)
           
 void draw(Shape s)
           
 void fill(Shape s)
           
 void fillAndDraw(Shape s, Color fillColor)
           
static Properties getDefaultProperties()
           
 GraphicsConfiguration getDeviceConfiguration()
           
 boolean hit(Rectangle rect, Shape s, boolean onStroke)
           
 boolean isMultiPage()
           
 void openPage(Component component)
           
 void openPage(Dimension size, String title)
           
static void setClipEnabled(boolean enabled)
          Set the clipping enabled flag.
static void setDefaultProperties(Properties newProperties)
           
 void setFooter(Font font, org.freehep.graphics2d.TagString left, org.freehep.graphics2d.TagString center, org.freehep.graphics2d.TagString right, int underlineThickness)
           
 void setHeader(Font font, org.freehep.graphics2d.TagString left, org.freehep.graphics2d.TagString center, org.freehep.graphics2d.TagString right, int underlineThickness)
           
 void setMultiPage(boolean multiPage)
           
protected  void setNonStrokeColor(Color c)
           
 void setPaintMode()
           
protected  void setStrokeColor(Color c)
           
 void setXORMode(Color c1)
           
 void showString(Font font, String str)
           
 String toString()
           
 void writeBackground()
           
protected  void writeCap(int cap)
           
protected  void writeClip(Shape s)
           
 void writeComment(String comment)
           
protected  void writeDash(float[] dash, float phase)
           
protected  void writeFont(Font font)
           
protected  void writeGraphicsRestore()
           
protected  void writeGraphicsSave()
           
 void writeHeader()
          Writes the catalog, docinfo, preferences, and (as we use only single page output the page tree.
protected  void writeImage(RenderedImage image, AffineTransform xform, Color bkg)
           
protected  void writeJoin(int join)
           
protected  void writeMiterLimit(float limit)
           
protected  void writePaint(Color c)
           
protected  void writePaint(GradientPaint c)
           
protected  void writePaint(Paint paint)
           
protected  void writePaint(TexturePaint c)
           
protected  void writeSetClip(Shape s)
           
protected  void writeString(String str, double x, double y)
           
 void writeTrailer()
           
protected  void writeTransform(AffineTransform t)
          Write the given transformation matrix to the file.
protected  void writeWidth(float width)
           
 
Methods inherited from class org.freehep.graphicsio.AbstractVectorGraphicsIO
addRenderingHints, clearRect, clip, clipRect, clipRect, createShape, dispose, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawRenderableImage, drawRenderedImage, drawString, drawString, endExport, getClip, getClipBounds, getClipBounds, getComponent, getComposite, getFontMetrics, getFontRenderContext, getRenderingHint, getRenderingHints, getSize, getStroke, getTransform, handleException, overLine, printComment, resetClip, rotate, scale, setClip, setClip, setClip, setColor, setComposite, setFont, setPaint, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, startExport, transform, translate, writeDash, writeError, writeGraphicsState, writeSetTransform, writeStroke, writeWarning, writeWarning
 
Methods inherited from class org.freehep.graphicsio.VectorGraphicsIO
copyResourceTo, copyResourceTo
 
Methods inherited from class org.freehep.graphics2d.AbstractVectorGraphics
clearRect, createShape, drawArc, drawArc, drawLine, drawLine, drawOval, drawOval, drawPolygon, drawPolygon, drawPolyline, drawPolyline, drawRect, drawRect, drawRoundRect, drawRoundRect, drawString, drawString, drawString, drawString, drawString, drawString, drawString, drawString, drawSymbol, drawSymbol, drawSymbol, fillAndDrawSymbol, fillAndDrawSymbol, fillArc, fillArc, fillOval, fillOval, fillPolygon, fillPolygon, fillRect, fillRect, fillRoundRect, fillRoundRect, fillSymbol, fillSymbol, fillSymbol, getBackground, getColor, getColorMode, getCreator, getFont, getPaint, getPrintColor, getProperties, getProperty, getPropertyColor, getPropertyDimension, getPropertyDouble, getPropertyInsets, getPropertyInt, getPropertyRectangle, initProperties, isDeviceIndependent, isProperty, rotate, setBackground, setColorMode, setCreator, setDeviceIndependent, setLineWidth, setLineWidth, setProperties, translate
 
Methods inherited from class org.freehep.graphics2d.VectorGraphics
create, create, getSymbol, getTextAlignment, getXalignment, getYalignment
 
Methods inherited from class java.awt.Graphics2D
draw3DRect, fill3DRect
 
Methods inherited from class java.awt.Graphics
drawBytes, drawChars, drawPolygon, fillPolygon, finalize, getClipRect, getFontMetrics, hitClip
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

VERSION6

public static final String VERSION6
See Also:
Constant Field Values

VERSION5

public static final String VERSION5
See Also:
Constant Field Values

VERSION4

public static final String VERSION4
See Also:
Constant Field Values

TRANSPARENT

public static final String TRANSPARENT

BACKGROUND

public static final String BACKGROUND

BACKGROUND_COLOR

public static final String BACKGROUND_COLOR

PAGE_SIZE

public static final String PAGE_SIZE

PAGE_MARGINS

public static final String PAGE_MARGINS

ORIENTATION

public static final String ORIENTATION

FIT_TO_PAGE

public static final String FIT_TO_PAGE

EMBED_FONTS

public static final String EMBED_FONTS

EMBED_FONTS_AS

public static final String EMBED_FONTS_AS

THUMBNAILS

public static final String THUMBNAILS

THUMBNAIL_SIZE

public static final String THUMBNAIL_SIZE

COMPRESS

public static final String COMPRESS

VERSION

public static final String VERSION

WRITE_IMAGES_AS

public static final String WRITE_IMAGES_AS

AUTHOR

public static final String AUTHOR

TITLE

public static final String TITLE

SUBJECT

public static final String SUBJECT

KEYWORDS

public static final String KEYWORDS

version

public static final String version
See Also:
Constant Field Values
Constructor Detail

PDFGraphics2D

public PDFGraphics2D(File file,
                     Dimension size)
              throws FileNotFoundException
Throws:
FileNotFoundException

PDFGraphics2D

public PDFGraphics2D(File file,
                     Component component)
              throws FileNotFoundException
Throws:
FileNotFoundException

PDFGraphics2D

public PDFGraphics2D(OutputStream ros,
                     Dimension size)

PDFGraphics2D

public PDFGraphics2D(OutputStream ros,
                     Component component)

PDFGraphics2D

protected PDFGraphics2D(PDFGraphics2D graphics,
                        boolean doRestoreOnDispose)
Cloneconstructor

Method Detail

getDefaultProperties

public static Properties getDefaultProperties()

setDefaultProperties

public static void setDefaultProperties(Properties newProperties)

setMultiPage

public void setMultiPage(boolean multiPage)
Specified by:
setMultiPage in interface org.freehep.graphicsio.MultiPageDocument

isMultiPage

public boolean isMultiPage()
Specified by:
isMultiPage in interface org.freehep.graphicsio.MultiPageDocument

setClipEnabled

public static void setClipEnabled(boolean enabled)
Set the clipping enabled flag. This will affect all output operations after this call completes. In some circumstances the clipping region is set incorrectly (not yet understood; AWT seems to not correctly dispose of graphic contexts). A workaround is to simply switch it off.


writeHeader

public void writeHeader()
                 throws IOException
Writes the catalog, docinfo, preferences, and (as we use only single page output the page tree.

Specified by:
writeHeader in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeBackground

public void writeBackground()
Specified by:
writeBackground in class org.freehep.graphicsio.AbstractVectorGraphicsIO

writeTrailer

public void writeTrailer()
                  throws IOException
Specified by:
writeTrailer in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

closeStream

public void closeStream()
                 throws IOException
Specified by:
closeStream in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

openPage

public void openPage(Component component)
              throws IOException
Specified by:
openPage in interface org.freehep.graphicsio.MultiPageDocument
Throws:
IOException

openPage

public void openPage(Dimension size,
                     String title)
              throws IOException
Specified by:
openPage in interface org.freehep.graphicsio.MultiPageDocument
Throws:
IOException

closePage

public void closePage()
               throws IOException
Specified by:
closePage in interface org.freehep.graphicsio.MultiPageDocument
Throws:
IOException

setHeader

public void setHeader(Font font,
                      org.freehep.graphics2d.TagString left,
                      org.freehep.graphics2d.TagString center,
                      org.freehep.graphics2d.TagString right,
                      int underlineThickness)
Specified by:
setHeader in interface org.freehep.graphicsio.MultiPageDocument

setFooter

public void setFooter(Font font,
                      org.freehep.graphics2d.TagString left,
                      org.freehep.graphics2d.TagString center,
                      org.freehep.graphics2d.TagString right,
                      int underlineThickness)
Specified by:
setFooter in interface org.freehep.graphicsio.MultiPageDocument

create

public Graphics create()
Specified by:
create in class org.freehep.graphics2d.VectorGraphics

create

public Graphics create(double x,
                       double y,
                       double width,
                       double height)
Specified by:
create in class org.freehep.graphics2d.VectorGraphics

writeGraphicsSave

protected void writeGraphicsSave()
                          throws IOException
Specified by:
writeGraphicsSave in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeGraphicsRestore

protected void writeGraphicsRestore()
                             throws IOException
Specified by:
writeGraphicsRestore in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

draw

public void draw(Shape s)
Specified by:
draw in class org.freehep.graphics2d.VectorGraphics

fill

public void fill(Shape s)
Specified by:
fill in class org.freehep.graphics2d.VectorGraphics

fillAndDraw

public void fillAndDraw(Shape s,
                        Color fillColor)
Overrides:
fillAndDraw in class org.freehep.graphics2d.AbstractVectorGraphics

copyArea

public void copyArea(int x,
                     int y,
                     int width,
                     int height,
                     int dx,
                     int dy)
Specified by:
copyArea in class org.freehep.graphics2d.VectorGraphics

writeImage

protected void writeImage(RenderedImage image,
                          AffineTransform xform,
                          Color bkg)
                   throws IOException
Specified by:
writeImage in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeString

protected void writeString(String str,
                           double x,
                           double y)
                    throws IOException
Specified by:
writeString in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeTransform

protected void writeTransform(AffineTransform t)
                       throws IOException
Write the given transformation matrix to the file.

Specified by:
writeTransform in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeSetClip

protected void writeSetClip(Shape s)
                     throws IOException
Specified by:
writeSetClip in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeClip

protected void writeClip(Shape s)
                  throws IOException
Specified by:
writeClip in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeWidth

protected void writeWidth(float width)
                   throws IOException
Overrides:
writeWidth in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeCap

protected void writeCap(int cap)
                 throws IOException
Overrides:
writeCap in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeJoin

protected void writeJoin(int join)
                  throws IOException
Overrides:
writeJoin in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeMiterLimit

protected void writeMiterLimit(float limit)
                        throws IOException
Overrides:
writeMiterLimit in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writeDash

protected void writeDash(float[] dash,
                         float phase)
                  throws IOException
Overrides:
writeDash in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

setPaintMode

public void setPaintMode()
Specified by:
setPaintMode in class org.freehep.graphics2d.VectorGraphics

setXORMode

public void setXORMode(Color c1)
Specified by:
setXORMode in class org.freehep.graphics2d.VectorGraphics

writePaint

protected void writePaint(Color c)
                   throws IOException
Specified by:
writePaint in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writePaint

protected void writePaint(GradientPaint c)
                   throws IOException
Specified by:
writePaint in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writePaint

protected void writePaint(TexturePaint c)
                   throws IOException
Specified by:
writePaint in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

writePaint

protected void writePaint(Paint paint)
                   throws IOException
Specified by:
writePaint in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

setNonStrokeColor

protected void setNonStrokeColor(Color c)
                          throws IOException
Throws:
IOException

setStrokeColor

protected void setStrokeColor(Color c)
                       throws IOException
Throws:
IOException

writeFont

protected void writeFont(Font font)
                  throws IOException
Specified by:
writeFont in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

getDeviceConfiguration

public GraphicsConfiguration getDeviceConfiguration()
Specified by:
getDeviceConfiguration in class org.freehep.graphics2d.VectorGraphics

hit

public boolean hit(Rectangle rect,
                   Shape s,
                   boolean onStroke)
Specified by:
hit in class org.freehep.graphics2d.VectorGraphics

writeComment

public void writeComment(String comment)
                  throws IOException
Specified by:
writeComment in class org.freehep.graphicsio.AbstractVectorGraphicsIO
Throws:
IOException

toString

public String toString()
Specified by:
toString in class org.freehep.graphics2d.VectorGraphics

showString

public void showString(Font font,
                       String str)
                throws IOException
Specified by:
showString in interface org.freehep.graphicsio.font.FontUtilities.ShowString
Throws:
IOException


Copyright © 2000-2006 FreeHEP. All Rights Reserved.