com.lowagie.text.pdf

## Class PdfTemplate

- java.lang.Object
- - com.lowagie.text.pdf.PdfContentByte
  - - com.lowagie.text.pdf.PdfTemplate

- Direct Known Subclasses:
    PdfAppearance, PdfImportedPage, PdfPatternPainter, PdfPSXObject

      public class PdfTemplate
      extends PdfContentByte

  Implements the form XObject.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class com.lowagie.text.pdf.PdfContentByte

      `PdfContentByte.GraphicState`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Rectangle` | `bBox` The bounding box of this template
    `protected PdfTransparencyGroup` | `group`
    `protected PdfOCG` | `layer`
    `protected PdfArray` | `matrix`
    `protected PageResources` | `pageResources` The resources used by this template
    `protected PdfIndirectReference` | `thisReference` The indirect reference to this template
    `protected int` | `type`
    `static int` | `TYPE_IMPORTED`
    `static int` | `TYPE_PATTERN`
    `static int` | `TYPE_TEMPLATE`

    - ### Fields inherited from class com.lowagie.text.pdf.PdfContentByte

      `ALIGN_CENTER, ALIGN_LEFT, ALIGN_RIGHT, content, layerDepth, LINE_CAP_BUTT, LINE_CAP_PROJECTING_SQUARE, LINE_CAP_ROUND, LINE_JOIN_BEVEL, LINE_JOIN_MITER, LINE_JOIN_ROUND, pdf, separator, state, stateList, TEXT_RENDER_MODE_CLIP, TEXT_RENDER_MODE_FILL, TEXT_RENDER_MODE_FILL_CLIP, TEXT_RENDER_MODE_FILL_STROKE, TEXT_RENDER_MODE_FILL_STROKE_CLIP, TEXT_RENDER_MODE_INVISIBLE, TEXT_RENDER_MODE_STROKE, TEXT_RENDER_MODE_STROKE_CLIP, writer`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `PdfTemplate()` Creates a `PdfTemplate`.
    `(package private)` | `PdfTemplate(PdfWriter wr)` Creates new PdfTemplate

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `beginVariableText()`
    `static PdfTemplate` | `createTemplate(PdfWriter writer, float width, float height)` Creates a new template.
    `(package private) static PdfTemplate` | `createTemplate(PdfWriter writer, float width, float height, PdfName forcedName)`
    `void` | `endVariableText()`
    `Rectangle` | `getBoundingBox()`
    `PdfContentByte` | `getDuplicate()` Gets a duplicate of this `PdfTemplate`.
    `(package private) PdfStream` | `getFormXObject(int compressionLevel)` Gets the stream representing this template.
    `PdfTransparencyGroup` | `getGroup()` Getter for property group.
    `float` | `getHeight()` Gets the bounding height of this template.
    `PdfIndirectReference` | `getIndirectReference()` Gets the indirect reference to this template.
    `PdfOCG` | `getLayer()` Gets the layer this template belongs to.
    `(package private) PdfArray` | `getMatrix()`
    `(package private) PageResources` | `getPageResources()`
    `(package private) PdfObject` | `getResources()` Constructs the resources used by this template.
    `int` | `getType()`
    `float` | `getWidth()` Gets the bounding width of this template.
    `void` | `setBoundingBox(Rectangle bBox)`
    `void` | `setGroup(PdfTransparencyGroup group)` Setter for property group.
    `void` | `setHeight(float height)` Sets the bounding height of this template.
    `void` | `setLayer(PdfOCG layer)` Sets the layer this template belongs to.
    `void` | `setMatrix(float a, float b, float c, float d, float e, float f)`
    `void` | `setWidth(float width)` Sets the bounding width of this template.

    - ### Methods inherited from class com.lowagie.text.pdf.PdfContentByte

      `add, addAnnotation, addImage, addImage, addImage, addImage, addOutline, addPSXObject, addTemplate, addTemplate, addTemplateReference, arc, beginLayer, beginMarkedContentSequence, beginMarkedContentSequence, beginMarkedContentSequence, beginText, bezierArc, checkNoPattern, checkWriter, circle, clip, closePath, closePathEoFillStroke, closePathFillStroke, closePathStroke, concatCTM, createAppearance, createAppearance, createGraphics, createGraphics, createGraphics, createGraphics, createGraphicsShapes, createGraphicsShapes, createPattern, createPattern, createPattern, createPattern, createPrinterGraphics, createPrinterGraphics, createPrinterGraphics, createPrinterGraphics, createPrinterGraphicsShapes, createPrinterGraphicsShapes, createTemplate, createTemplate, curveFromTo, curveTo, curveTo, drawButton, drawRadioField, drawTextField, ellipse, endLayer, endMarkedContentSequence, endText, eoClip, eoFill, eoFillStroke, escapeString, escapeString, fill, fillStroke, getCharacterSpacing, getEffectiveStringWidth, getHorizontalScaling, getInternalBuffer, getKernArray, getLeading, getPdfDocument, getPdfWriter, getRootOutline, getWordSpacing, getXTLM, getYTLM, lineTo, localDestination, localGoto, moveText, moveTextWithLeading, moveTo, newlineShowText, newlineShowText, newlineText, newPath, outputColorNumbers, paintShading, paintShading, rectangle, rectangle, remoteGoto, remoteGoto, reset, reset, resetCMYKColorFill, resetCMYKColorStroke, resetGrayFill, resetGrayStroke, resetRGBColorFill, resetRGBColorStroke, restoreState, roundRectangle, sanityCheck, saveState, setAction, setCharacterSpacing, setCMYKColorFill, setCMYKColorFillF, setCMYKColorStroke, setCMYKColorStrokeF, setColorFill, setColorFill, setColorStroke, setColorStroke, setDefaultColorspace, setFlatness, setFontAndSize, setGrayFill, setGrayStroke, setGState, setHorizontalScaling, setLeading, setLineCap, setLineDash, setLineDash, setLineDash, setLineDash, setLineJoin, setLineWidth, setLiteral, setLiteral, setLiteral, setMiterLimit, setPatternFill, setPatternFill, setPatternFill, setPatternStroke, setPatternStroke, setPatternStroke, setRGBColorFill, setRGBColorFillF, setRGBColorStroke, setRGBColorStrokeF, setShadingFill, setShadingStroke, setTextMatrix, setTextMatrix, setTextRenderingMode, setTextRise, setWordSpacing, showText, showText, showTextAligned, showTextAlignedKerned, showTextKerned, size, stroke, toPdf, toString, transform, variableRectangle`

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

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

- - ### Field Detail

    - #### TYPE_TEMPLATE

          public static final int TYPE_TEMPLATE

      See Also:
        Constant Field Values

    - #### TYPE_IMPORTED

          public static final int TYPE_IMPORTED

      See Also:
        Constant Field Values

    - #### TYPE_PATTERN

          public static final int TYPE_PATTERN

      See Also:
        Constant Field Values

    - #### type

          protected int type

    - #### thisReference

          protected PdfIndirectReference thisReference

      The indirect reference to this template

    - #### pageResources

          protected PageResources pageResources

      The resources used by this template

    - #### bBox

          protected Rectangle bBox

      The bounding box of this template

    - #### matrix

          protected PdfArray matrix

    - #### group

          protected PdfTransparencyGroup group

    - #### layer

          protected PdfOCG layer

  - ### Constructor Detail

    - #### PdfTemplate

          protected PdfTemplate()

      Creates a `PdfTemplate`.

    - #### PdfTemplate

          PdfTemplate(PdfWriter wr)

      Creates new PdfTemplate
      Parameters:
        `wr` - the `PdfWriter`

  - ### Method Detail

    - #### createTemplate

          public static PdfTemplate createTemplate(PdfWriter writer,
                                   float width,
                                   float height)

      Creates a new template.

      Creates a new template that is nothing more than a form XObject. This template can be included in this template or in another template. Templates are only written to the output when the document is closed permitting things like showing text in the first page that is only defined in the last page.

      Parameters:
        `writer` - the PdfWriter to use
        `width` - the bounding box width
        `height` - the bounding box height
      Returns:
        the created template

    - #### createTemplate

          static PdfTemplate createTemplate(PdfWriter writer,
                                   float width,
                                   float height,
                                   PdfName forcedName)

    - #### setWidth

          public void setWidth(float width)

      Sets the bounding width of this template.
      Parameters:
        `width` - the bounding width

    - #### setHeight

          public void setHeight(float height)

      Sets the bounding height of this template.
      Parameters:
        `height` - the bounding height

    - #### getWidth

          public float getWidth()

      Gets the bounding width of this template.
      Returns:
        width the bounding width

    - #### getHeight

          public float getHeight()

      Gets the bounding height of this template.
      Returns:
        height the bounding height

    - #### getBoundingBox

          public Rectangle getBoundingBox()

    - #### setBoundingBox

          public void setBoundingBox(Rectangle bBox)

    - #### setLayer

          public void setLayer(PdfOCG layer)

      Sets the layer this template belongs to.
      Parameters:
        `layer` - the layer this template belongs to

    - #### getLayer

          public PdfOCG getLayer()

      Gets the layer this template belongs to.
      Returns:
        the layer this template belongs to or `null` for no layer defined

    - #### setMatrix

          public void setMatrix(float a,
                       float b,
                       float c,
                       float d,
                       float e,
                       float f)

    - #### getMatrix

          PdfArray getMatrix()

    - #### getIndirectReference

          public PdfIndirectReference getIndirectReference()

      Gets the indirect reference to this template.
      Returns:
        the indirect reference to this template

    - #### beginVariableText

          public void beginVariableText()

    - #### endVariableText

          public void endVariableText()

    - #### getResources

          PdfObject getResources()

      Constructs the resources used by this template.
      Returns:
        the resources used by this template

    - #### getFormXObject

          PdfStream getFormXObject(int compressionLevel)
                             throws java.io.IOException

      Gets the stream representing this template.
      Parameters:
        `compressionLevel` - the compressionLevel
      Returns:
        the stream representing this template
      Throws:
        `java.io.IOException`
      Since:
        2.1.3 (replacing the method without param compressionLevel)

    - #### getDuplicate

          public PdfContentByte getDuplicate()

      Gets a duplicate of this `PdfTemplate`. All the members are copied by reference but the buffer stays different.
      Overrides:
        `getDuplicate` in class `PdfContentByte`
      Returns:
        a copy of this `PdfTemplate`

    - #### getType

          public int getType()

    - #### getPageResources

          PageResources getPageResources()

      Overrides:
        `getPageResources` in class `PdfContentByte`

    - #### getGroup

          public PdfTransparencyGroup getGroup()

      Getter for property group.
      Returns:
        Value of property group.

    - #### setGroup

          public void setGroup(PdfTransparencyGroup group)

      Setter for property group.
      Parameters:
        `group` - New value of property group.