PSDocumentGraphics2D
Date: 2016-04-28

org.apache.xmlgraphics.java2d.ps

## Class PSDocumentGraphics2D

- java.lang.Object
- - java.awt.Graphics
  - - java.awt.Graphics2D
    - - org.apache.xmlgraphics.java2d.AbstractGraphics2D
      - - org.apache.xmlgraphics.java2d.ps.PSGraphics2D
        - - org.apache.xmlgraphics.java2d.ps.AbstractPSDocumentGraphics2D
          - - org.apache.xmlgraphics.java2d.ps.PSDocumentGraphics2D

- All Implemented Interfaces:
    java.lang.Cloneable

      public class PSDocumentGraphics2D
      extends AbstractPSDocumentGraphics2D

  This class is a wrapper for the `PSGraphics2D` that is used to create a full document around the PostScript rendering from `PSGraphics2D`.
  See Also:
    `Originally authored by Keiron Liddle.`

- - ### Field Summary

    - ### Fields inherited from class org.apache.xmlgraphics.java2d.ps.AbstractPSDocumentGraphics2D

      `height, initialClip, initialTransform, pagecount, pagePending, viewportHeight, viewportWidth, width, ZERO`

    - ### Fields inherited from class org.apache.xmlgraphics.java2d.ps.PSGraphics2D

      `clippingDisabled, currentColour, customTextHandler, fallbackTextHandler, gen, pathHashCache, rootG2D, startCache`

    - ### Fields inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D

      `gc, inPossibleRecursion, textAsShapes`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PSDocumentGraphics2D(boolean textAsShapes)` Create a new AbstractPSDocumentGraphics2D.
    `PSDocumentGraphics2D(boolean textAsShapes, java.io.OutputStream stream, int width, int height)` Create a new AbstractPSDocumentGraphics2D.
    `PSDocumentGraphics2D(PSDocumentGraphics2D g)` This constructor supports the create method

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `nextPage()` Closes the current page and prepares to start a new one.
    `protected void` | `writeFileHeader()` Writes the file header.
    `protected void` | `writePageHeader()` Writes the page header for a page.
    `protected void` | `writePageTrailer()` Writes the page trailer for a page.

    - ### Methods inherited from class org.apache.xmlgraphics.java2d.ps.AbstractPSDocumentGraphics2D

      `closePage, finish, getPageCount, preparePainting, setBackgroundColor, setupDocument, setViewportDimension, startPage, writeProcSets`

    - ### Methods inherited from class org.apache.xmlgraphics.java2d.ps.PSGraphics2D

      `applyPaint, applyStroke, applyStroke, buildBufferedImage, copyArea, create, disableClipping, dispose, doDrawing, draw, drawImage, drawImage, drawRenderableImage, drawRenderedImage, drawString, establishColor, fill, getCustomTextHandler, getDeviceConfiguration, getFallbackTextHandler, getFontMetrics, getPSGenerator, handleIOException, processPathIterator, processPathIteratorCached, processPathIteratorToString, processShape, setCustomTextHandler, setGraphicContext, setPSGenerator, setXORMode, shouldBeClipped, writeClip`

    - ### Methods inherited from class org.apache.xmlgraphics.java2d.AbstractGraphics2D

      `addRenderingHints, clearRect, clip, clipRect, drawArc, drawGlyphVector, drawImage, drawImage, drawImage, drawImage, drawImage, drawImage, drawLine, drawOval, drawPolygon, drawPolyline, drawRect, drawRoundRect, drawString, drawString, drawString, fillArc, fillOval, fillPolygon, fillRect, fillRoundRect, getBackground, getClip, getClipBounds, getColor, getComposite, getFont, getFontRenderContext, getGraphicContext, getPaint, getRenderingHint, getRenderingHints, getStroke, getTransform, hit, rotate, rotate, scale, setBackground, setClip, setClip, setColor, setComposite, setFont, setPaint, setPaintMode, setRenderingHint, setRenderingHints, setStroke, setTransform, shear, transform, translate, translate`

    - ### Methods inherited from class java.awt.Graphics2D

      `draw3DRect, fill3DRect`

    - ### Methods inherited from class java.awt.Graphics

      `create, drawBytes, drawChars, drawPolygon, fillPolygon, finalize, getClipBounds, getClipRect, getFontMetrics, hitClip, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### PSDocumentGraphics2D

          public PSDocumentGraphics2D(boolean textAsShapes)

      Create a new AbstractPSDocumentGraphics2D. This is used to create a new PostScript document, the height, width and output stream can be setup later. For use by the transcoder which needs font information for the bridge before the document size is known. The resulting document is written to the stream after rendering.
      Parameters:
        `textAsShapes` - set this to true so that text will be rendered using curves and not the font.

    - #### PSDocumentGraphics2D

          public PSDocumentGraphics2D(boolean textAsShapes,
                              java.io.OutputStream stream,
                              int width,
                              int height)
                               throws java.io.IOException

      Create a new AbstractPSDocumentGraphics2D. This is used to create a new PostScript document of the given height and width. The resulting document is written to the stream after rendering.
      Parameters:
        `textAsShapes` - set this to true so that text will be rendered using curves and not the font.
        `stream` - the stream that the final document should be written to.
        `width` - the width of the document
        `height` - the height of the document
      Throws:
        `java.io.IOException` - an io exception if there is a problem writing to the output stream

    - #### PSDocumentGraphics2D

          public PSDocumentGraphics2D(PSDocumentGraphics2D g)

      This constructor supports the create method
      Parameters:
        `g` - the PostScript document graphics to make a copy of

  - ### Method Detail

    - #### nextPage

          public void nextPage()
                        throws java.io.IOException

      Closes the current page and prepares to start a new one.
      Overrides:
        `nextPage` in class `AbstractPSDocumentGraphics2D`
      Throws:
        `java.io.IOException` - if an I/O error occurs

    - #### writeFileHeader

          protected void writeFileHeader()
                                  throws java.io.IOException

      Writes the file header.
      Specified by:
        `writeFileHeader` in class `AbstractPSDocumentGraphics2D`
      Throws:
        `java.io.IOException` - if an I/O error occurs

    - #### writePageHeader

          protected void writePageHeader()
                                  throws java.io.IOException

      Writes the page header for a page.
      Specified by:
        `writePageHeader` in class `AbstractPSDocumentGraphics2D`
      Throws:
        `java.io.IOException` - In case an I/O error occurs

    - #### writePageTrailer

          protected void writePageTrailer()
                                   throws java.io.IOException

      Writes the page trailer for a page.
      Specified by:
        `writePageTrailer` in class `AbstractPSDocumentGraphics2D`
      Throws:
        `java.io.IOException` - In case an I/O error occurs