Class Zend_Pdf_Page

Description

PDF Page

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

Located in /Zend/Pdf/Page.php (line 58)


	
			
Class Constant Summary
Method Summary
 Zend_Pdf_Page __construct (mixed $param1, [mixed $param2 = null], [mixed $param3 = null])
 void clipCircle (float $x, float $y, float $radius, [float $startAngle = null], [float $endAngle = null])
 void clipEllipse (float $x1, float $y1, float $x2, float $y2, [float $startAngle = null], [float $endAngle = null])
 void clipPolygon (array $x, array $y, [integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING])
 void clipRectangle (float $x1, float $y1, float $x2, float $y2)
 void drawCircle (float $x, float $y, float $radius, [mixed $param4 = null], [mixed $param5 = null], [mixed $param6 = null])
 void drawContentStream (ZPdfContentStream $cs, float $x1, float $y1, float $x2, float $y2)
 void drawEllipse (float $x1, float $y1, float $x2, float $y2, [mixed $param5 = null], [mixed $param6 = null], [mixed $param7 = null])
 void drawImage (Zend_Pdf_Image $image, float $x1, float $y1, float $x2, float $y2)
 void drawLayoutBox (Zend_Pdf_Element_LayoutBox $box, float $x, float $y)
 void drawLine (float $x1, float $y1, float $x2, float $y2)
 void drawPolygon (array $x, array $y, [integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE], [integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING])
 void drawRectangle (float $x1, float $y1, float $x2, float $y2, [integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE])
 void drawText (string $text, float $x, float $y, [string $charEncoding = ''])
 void flush ()
 float getFontSize ()
 float getHeight ()
 float getWidth ()
 void pathClose ()
 void pathLine (float $x, float $y)
 void pathMove (float $x, float $y)
 void rawWrite (string $data)
 void render (Zend_Pdf_ElementFactory $objFactory)
 void restoreGS ()
 void rotate ( $x,  $y, float $angle)
 void saveGS ()
 void setFillColor (Zend_Pdf_Color $color)
 void setFont (Zend_Pdf_Resource_Font $font, float $fontSize)
 void setLineColor (Zend_Pdf_Color $color)
 void setLineDashingPattern (array $pattern, [array $phase = 0])
 void setLineWidth (float $width)
 void setStyle (Zend_Pdf_Style $style)
Methods
Constructor __construct (line 222)

Object constructor.

Constructor signatures:

  1. Load PDF page from a parsed PDF file. Object factory is created by PDF parser.
--------------------------------------------------------- new Zend_Pdf_Page(Zend_Pdf_Element_Dictionary $pageDict, Zend_Pdf_ElementFactory $factory); ---------------------------------------------------------

2. Clone PDF page. New page is created in the same context as source page. Object factory is shared. Thus it will be attached to the document, but need to be placed into Zend_Pdf::$pages array to be included into output. --------------------------------------------------------- new Zend_Pdf_Page(Zend_Pdf_Page $page); ---------------------------------------------------------

3. Create new page with a specified pagesize. If $factory is null then it will be created and page must be attached to the document to be included into output. --------------------------------------------------------- new Zend_Pdf_Page(string $pagesize, Zend_Pdf_ElementFactory $factory = null); ---------------------------------------------------------

4. Create new page with a specified pagesize (in default user space units). If $factory is null then it will be created and page must be attached to the document to be included into output. --------------------------------------------------------- new Zend_Pdf_Page(numeric $width, numeric $height, Zend_Pdf_ElementFactory $factory = null); ---------------------------------------------------------

  • access: public
  • throws: Zend_Pdf_Exception
Zend_Pdf_Page __construct (mixed $param1, [mixed $param2 = null], [mixed $param3 = null])
  • mixed $param1
  • mixed $param2
  • mixed $param3
clipCircle (line 615)

Intersect current clipping area with a circle.

  • access: public
void clipCircle (float $x, float $y, float $radius, [float $startAngle = null], [float $endAngle = null])
  • float $x
  • float $y
  • float $radius
  • float $startAngle
  • float $endAngle
clipEllipse (line 638)

Intersect current clipping area with a polygon.

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

  • access: public
  • todo: process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
void clipEllipse (float $x1, float $y1, float $x2, float $y2, [float $startAngle = null], [float $endAngle = null])
  • float $x1
  • float $y1
  • float $x2
  • float $y2
  • float $startAngle
  • float $endAngle
clipPolygon (line 718)

Intersect current clipping area with a polygon.

  • access: public
void clipPolygon (array $x, array $y, [integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING])
  • array $x:
    • array of float (the X co-ordinates of the vertices)
  • array $y:
    • array of float (the Y co-ordinates of the vertices)
  • integer $fillMethod
clipRectangle (line 753)

Intersect current clipping area with a rectangle.

  • access: public
void clipRectangle (float $x1, float $y1, float $x2, float $y2)
  • float $x1
  • float $y1
  • float $x2
  • float $y2
drawCircle (line 803)

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, 3*PI/8, 5*PI/8, 7*PI/8, 9*PI/8, 11*PI/8, 13*PI/8 and 15*PI/8 angles). At 0, PI/4, PI/2, 3*PI/4, PI, 5*PI/4, 3*PI/2 and 7*PI/4 it's exactly a tangent to a circle.

  • access: public
void drawCircle (float $x, float $y, float $radius, [mixed $param4 = null], [mixed $param5 = null], [mixed $param6 = null])
  • float $x
  • float $y
  • float $radius
  • mixed $param4
  • mixed $param5
  • mixed $param6
drawContentStream (line 776)

Draw a Zend_Pdf_ContentStream at the specified position on the page

  • access: public
void drawContentStream (ZPdfContentStream $cs, float $x1, float $y1, float $x2, float $y2)
  • ZPdfContentStream $cs
  • float $x1
  • float $y1
  • float $x2
  • float $y2
drawEllipse (line 829)

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);

  • access: public
  • todo: process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
void drawEllipse (float $x1, float $y1, float $x2, float $y2, [mixed $param5 = null], [mixed $param6 = null], [mixed $param7 = null])
  • float $x1
  • float $y1
  • float $x2
  • float $y2
  • mixed $param5
  • mixed $param6
  • mixed $param7
drawImage (line 946)

Draw an image at the specified position on the page.

  • access: public
void drawImage (Zend_Pdf_Image $image, float $x1, float $y1, float $x2, float $y2)
drawLayoutBox (line 972)

Draw a LayoutBox at the specified position on the page.

  • access: public
void drawLayoutBox (Zend_Pdf_Element_LayoutBox $box, float $x, float $y)
  • Zend_Pdf_Element_LayoutBox $box
  • float $x
  • float $y
drawLine (line 984)

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

  • access: public
void drawLine (float $x1, float $y1, float $x2, float $y2)
  • float $x1
  • float $y1
  • float $x2
  • float $y2
drawPolygon (line 1010)

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)

  • access: public
void drawPolygon (array $x, array $y, [integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE], [integer $fillMethod = Zend_Pdf_Page::FILL_METHOD_NON_ZERO_WINDING])
  • array $x:
    • array of float (the X co-ordinates of the vertices)
  • array $y:
    • array of float (the Y co-ordinates of the vertices)
  • integer $fillType
  • integer $fillMethod
drawRectangle (line 1068)

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

  • access: public
void drawRectangle (float $x1, float $y1, float $x2, float $y2, [integer $fillType = Zend_Pdf_Page::SHAPE_DRAW_FILL_AND_STROKE])
  • float $x1
  • float $y1
  • float $x2
  • float $y2
  • integer $fillType
drawText (line 1103)

Draw a line of text at the specified position.

  • access: public
  • throws: Zend_Pdf_Exception
void drawText (string $text, float $x, float $y, [string $charEncoding = ''])
  • string $text
  • float $x
  • float $y
  • string $charEncoding: (optional) Character encoding of source text. Defaults to current locale.
flush (line 379)

Dump current drawing instructions into the content stream.

  • access: public
  • throws: Zend_Pdf_Exception
  • todo: Don't forget to close all current graphics operations (like path drawing)
void flush ()
getFont (line 550)

Get current font.

  • access: public
getFontSize (line 560)

Get current font size

  • access: public
float getFontSize ()
getHeight (line 1126)

Return the height of this page in points.

  • access: public
float getHeight ()
getPageDictionary (line 367)

Retrive PDF file reference to the page

  • access: public
Zend_Pdf_Element_Dictionary getPageDictionary ()
getStyle (line 570)

Return the style, applied to the page.

  • access: public
Zend_Pdf_Style|null getStyle ()
getWidth (line 1137)

Return the width of this page in points.

  • access: public
float getWidth ()
pathClose (line 1148)

Close the path by drawing a straight line back to it's beginning.

  • access: public
  • throws: Zend_Pdf_Exception - if a path hasn't been started with pathMove()
void pathClose ()
pathLine (line 1158)

Continue the open path in a straight line to the specified position.

  • access: public
void pathLine (float $x, float $y)
  • float $x:
    • the X co-ordinate to move to
  • float $y:
    • the Y co-ordinate to move to
pathMove (line 1169)

Start a new path at the specified position. If a path has already been started, move the cursor without drawing a line.

  • access: public
void pathMove (float $x, float $y)
  • float $x:
    • the X co-ordinate to move to
  • float $y:
    • the Y co-ordinate to move to
rawWrite (line 1178)

Write raw PDF commands to the page.

  • access: public
void rawWrite (string $data)
  • string $data
render (line 417)

Prepare page to be rendered into PDF.

  • access: public
  • throws: Zend_Pdf_Exception
  • todo: Don't forget to close all current graphics operations (like path drawing)
void render (Zend_Pdf_ElementFactory $objFactory)
restoreGS (line 597)

Restore the graphics state that was saved with the last call to saveGS().

  • access: public
  • throws: Zend_Pdf_Exception - if there is no previously saved state
void restoreGS ()
rotate (line 1187)

Rotate the page.

  • access: public
void rotate ( $x,  $y, float $angle)
  • float $angle
  • $x
  • $y
saveGS (line 584)

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.

  • access: public
  • throws: Zend_Pdf_Exception - if a save is performed with an open path
  • todo: check for the open paths
void saveGS ()
setFillColor (line 449)

Set fill color.

  • access: public
void setFillColor (Zend_Pdf_Color $color)
setFont (line 514)

Set current font.

  • access: public
void setFont (Zend_Pdf_Resource_Font $font, float $fontSize)
setLineColor (line 460)

Set line color.

  • access: public
void setLineColor (Zend_Pdf_Color $color)
setLineDashingPattern (line 487)

Set line dashing pattern

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

  • access: public
void setLineDashingPattern (array $pattern, array $phase)
  • array $pattern
  • array $phase
setLineWidth (line 471)

Set line width.

  • access: public
void setLineWidth (float $width)
  • float $width
setStyle (line 532)

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

  • access: public
void setStyle (Zend_Pdf_Style $style)
Class Constants
FILL_METHOD_EVEN_ODD = 1 (line 114)

Fill the path using the even-odd rule.

FILL_METHOD_NON_ZERO_WINDING = 0 (line 109)

Fill the path using the non-zero winding rule.

LINE_DASHING_SOLID = 0 (line 122)

Solid line dash.

SHAPE_DRAW_FILL = 1 (line 96)

Fill the path only. Do not stroke.

SHAPE_DRAW_FILL_AND_STROKE = 2 (line 101)

Fill and stroke the path.

SHAPE_DRAW_STROKE = 0 (line 91)

Stroke the path only. Do not fill.

SIZE_A4 = '595:842:' (line 68)

Size representing an A4 page in portrait (tall) orientation.

SIZE_A4_LANDSCAPE = '842:595:' (line 73)

Size representing an A4 page in landscape (wide) orientation.

SIZE_LETTER = '612:792:' (line 78)

Size representing a US Letter page in portrait (tall) orientation.

SIZE_LETTER_LANDSCAPE = '792:612:' (line 83)

Size representing a US Letter page in landscape (wide) orientation.

Documentation generated on Wed, 21 Feb 2007 11:56:29 -0800 by phpDocumentor 1.3.1