API Documentation

Zend/Pdf/Canvas/Interface.php

Show: inherited
    Table of Contents

    Zend Framework

    LICENSE

    This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.

    Category
    Zend  
    Copyright
    Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
    License
    New BSD License  
    Package
    Zend_Pdf  
    Version
    $Id: Style.php 20096 2010-01-06 02:05:09Z bkarwin $  

    \Zend_Pdf_Canvas_Interface

    Package: Zend\Pdf

    Canvas is an abstract rectangle drawing area which can be dropped into page object at specified place.

    Copyright
    Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)  
    License
    New BSD License  

    Methods

    methodpublicclipCircle( float $x, float $y, float $radius, float $startAngle = null, float $endAngle = null ) : \Zend_Pdf_Canvas_Interface

    Intersect current clipping area with a circle.

    Parameters
    Name Type Description
    $x float
    $y float
    $radius float
    $startAngle float
    $endAngle float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicclipEllipse( float $x1, float $y1, float $x2, float $y2, float $startAngle = null, float $endAngle = null ) : \Zend_Pdf_Canvas_Interface

    Intersect current clipping area with a polygon.

    Method signatures: drawEllipse($x1, $y1, $x2, $y2); drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle);

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    $startAngle float
    $endAngle float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    Details
    Todo
    process special cases with $x2-$x1 == 0 or $y2-$y1 == 0  
    methodpublicclipPolygon( array $x, array $y, integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING ) : \Zend_Pdf_Canvas_Interface

    Intersect current clipping area with a polygon.

    Parameters
    Name Type Description
    $x array
    • array of float (the X co-ordinates of the vertices)
    $y array
    • array of float (the Y co-ordinates of the vertices)
    $fillMethod integer
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicclipRectangle( float $x1, float $y1, float $x2, float $y2 ) : \Zend_Pdf_Canvas_Interface

    Intersect current clipping area with a rectangle.

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawCanvas( \Zend_Pdf_Canvas_Interface $canvas, float $x1, float $y1, float $x2 = null, float $y2 = null ) : \Zend_Pdf_Canvas_Interface

    Draw a canvas at the specified location

    If upper right corner is not specified then canvas heght and width are used.

    Parameters
    Name Type Description
    $canvas \Zend_Pdf_Canvas_Interface
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawCircle( float $x, float $y, float $radius, mixed $param4 = null, mixed $param5 = null, mixed $param6 = null ) : \Zend_Pdf_Canvas_Interface

    Draw a circle centered on x, y with a radius of radius.

    Method signatures: drawCircle($x, $y, $radius); drawCircle($x, $y, $radius, $fillType); drawCircle($x, $y, $radius, $startAngle, $endAngle); drawCircle($x, $y, $radius, $startAngle, $endAngle, $fillType);

    It's not a really circle, because PDF supports only cubic Bezier curves. But very good approximation. It differs from a real circle on a maximum 0.00026 radiuses (at PI/8, 3PI/8, 5PI/8, 7PI/8, 9PI/8, 11PI/8, 13PI/8 and 15PI/8 angles). At 0, PI/4, PI/2, 3PI/4, PI, 5PI/4, 3PI/2 and 7*PI/4 it's exactly a tangent to a circle.

    Parameters
    Name Type Description
    $x float
    $y float
    $radius float
    $param4 mixed
    $param5 mixed
    $param6 mixed
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawEllipse( float $x1, float $y1, float $x2, float $y2, mixed $param5 = null, mixed $param6 = null, mixed $param7 = null ) : \Zend_Pdf_Canvas_Interface

    Draw an ellipse inside the specified rectangle.

    Method signatures: drawEllipse($x1, $y1, $x2, $y2); drawEllipse($x1, $y1, $x2, $y2, $fillType); drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle); drawEllipse($x1, $y1, $x2, $y2, $startAngle, $endAngle, $fillType);

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    $param5 mixed
    $param6 mixed
    $param7 mixed
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    Details
    Todo
    process special cases with $x2-$x1 == 0 or $y2-$y1 == 0  
    methodpublicdrawImage( \Zend_Pdf_Image $image, float $x1, float $y1, float $x2, float $y2 ) : \Zend_Pdf_Canvas_Interface

    Draw an image at the specified position on the page.

    Parameters
    Name Type Description
    $image \Zend_Pdf_Image
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawLine( float $x1, float $y1, float $x2, float $y2 ) : \Zend_Pdf_Canvas_Interface

    Draw a line from x1,y1 to x2,y2.

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawPolygon( array $x, array $y, integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE, integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING ) : \Zend_Pdf_Canvas_Interface

    Draw a polygon.

    If $fillType is Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE or Zend_Pdf_Page::SHAPE_DRAW_FILL, then polygon is automatically closed. See detailed description of these methods in a PDF documentation (section 4.4.2 Path painting Operators, Filling)

    Parameters
    Name Type Description
    $x array
    • array of float (the X co-ordinates of the vertices)
    $y array
    • array of float (the Y co-ordinates of the vertices)
    $fillType integer
    $fillMethod integer
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawRectangle( float $x1, float $y1, float $x2, float $y2, integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE ) : \Zend_Pdf_Canvas_Interface

    Draw a rectangle.

    Fill types: Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fill rectangle and stroke (default) Zend_Pdf_Page::SHAPE_DRAW_STROKE - stroke rectangle Zend_Pdf_Page::SHAPE_DRAW_FILL - fill rectangle

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    $fillType integer
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawRoundedRectangle( float $x1, float $y1, float $x2, float $y2, integer|array $radius, integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE ) : \Zend_Pdf_Canvas_Interface

    Draw a rounded rectangle.

    Fill types: Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE - fill rectangle and stroke (default) Zend_Pdf_Page::SHAPE_DRAW_STROKE - stroke rectangle Zend_Pdf_Page::SHAPE_DRAW_FILL - fill rectangle

    radius is an integer representing radius of the four corners, or an array of four integers representing the radius starting at top left, going clockwise

    Parameters
    Name Type Description
    $x1 float
    $y1 float
    $x2 float
    $y2 float
    $radius integer|array
    $fillType integer
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicdrawText( string $text, float $x, float $y, string $charEncoding = '' ) : \Zend_Pdf_Canvas_Interface

    Draw a line of text at the specified position.

    Parameters
    Name Type Description
    $text string
    $x float
    $y float
    $charEncoding string

    (optional) Character encoding of source text. Defaults to current locale.

    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    Throws
    Exception Description
    \Zend_Pdf_Exception
    methodpublicgetFont( ) : \Zend_Pdf_Resource_Font

    Get current font.

    Returns
    Type Description
    \Zend_Pdf_Resource_Font $font
    methodpublicgetFontSize( ) : float

    Get current font size

    Returns
    Type Description
    float $fontSize
    methodpublicgetHeight( ) : float

    Return canvas height.

    Returns
    Type Description
    float
    methodpublicgetStyle( ) : \Zend_Pdf_Style|null

    Return the style, applied to the page.

    Returns
    Type Description
    \Zend_Pdf_Style|null
    methodpublicgetWidth( ) : float

    Return canvas width.

    Returns
    Type Description
    float
    methodpublicrawWrite( string $data, string $procSet = null ) : \Zend_Pdf_Canvas_Interface

    Writes the raw data to the page's content stream.

    Be sure to consult the PDF reference to ensure your syntax is correct. No attempt is made to ensure the validity of the stream data.

    Parameters
    Name Type Description
    $data string
    $procSet string

    (optional) Name of ProcSet to add.

    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicrotate( float $x, float $y, float $angle ) : \Zend_Pdf_Canvas_Interface

    Rotate the page.

    Parameters
    Name Type Description
    $x float
    • the X co-ordinate of rotation point
    $y float
    • the Y co-ordinate of rotation point
    $angle float
    • rotation angle
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsaveGS( ) : \Zend_Pdf_Page

    Save the graphics state of this page.

    This takes a snapshot of the currently applied style, position, clipping area and any rotation/translation/scaling that has been applied.

    Returns
    Type Description
    \Zend_Pdf_Page
    Throws
    Exception Description
    \Zend_Pdf_Exception - if a save is performed with an open path
    methodpublicscale( float $xScale, float $yScale ) : \Zend_Pdf_Canvas_Interface

    Scale coordination system.

    Parameters
    Name Type Description
    $xScale float
    • X dimention scale factor
    $yScale float
    • Y dimention scale factor
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetAlpha( float $alpha, string $mode = 'Normal' ) : \Zend_Pdf_Canvas_Interface

    Set the transparancy

    $alpha == 0 - transparent $alpha == 1 - opaque

    Transparency modes, supported by PDF: Normal (default), Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion

    Parameters
    Name Type Description
    $alpha float
    $mode string
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    Throws
    Exception Description
    \Zend_Pdf_Exception
    methodpublicsetFillColor( \Zend_Pdf_Color $color ) : \Zend_Pdf_Canvas_Interface

    Set fill color.

    Parameters
    Name Type Description
    $color \Zend_Pdf_Color
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetFont( \Zend_Pdf_Resource_Font $font, float $fontSize ) : \Zend_Pdf_Canvas_Interface

    Set current font.

    Parameters
    Name Type Description
    $font \Zend_Pdf_Resource_Font
    $fontSize float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetLineColor( \Zend_Pdf_Color $color ) : \Zend_Pdf_Canvas_Interface

    Set line color.

    Parameters
    Name Type Description
    $color \Zend_Pdf_Color
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetLineDashingPattern( mixed $pattern, array $phase = 0 ) : \Zend_Pdf_Canvas_Interface

    Set line dashing pattern

    Pattern is an array of floats: array(on_length, off_length, on_length, off_length, ...) or Zend_Pdf_Page::LINE_DASHING_SOLID constant Phase is shift from the beginning of line.

    Parameters
    Name Type Description
    $pattern mixed
    $phase array
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetLineWidth( float $width ) : \Zend_Pdf_Canvas_Interface

    Set line width.

    Parameters
    Name Type Description
    $width float
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicsetStyle( \Zend_Pdf_Style $style ) : \Zend_Pdf_Canvas_Interface

    Set the style to use for future drawing operations on this page

    Parameters
    Name Type Description
    $style \Zend_Pdf_Style
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublicskew( float $x, float $y, float $xAngle, float $yAngle ) : \Zend_Pdf_Canvas_Interface

    Translate coordination system.

    Parameters
    Name Type Description
    $x float
    • the X co-ordinate of axis skew point
    $y float
    • the Y co-ordinate of axis skew point
    $xAngle float
    • X axis skew angle
    $yAngle float
    • Y axis skew angle
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    methodpublictranslate( float $xShift, float $yShift ) : \Zend_Pdf_Canvas_Interface

    Translate coordination system.

    Parameters
    Name Type Description
    $xShift float
    • X coordinate shift
    $yShift float
    • Y coordinate shift
    Returns
    Type Description
    \Zend_Pdf_Canvas_Interface
    Documentation was generated by DocBlox 0.15.1.