Class Zend_Pdf_Page

Description

PDF Page

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

Located in /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_Resource_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); ---------------------------------------------------------

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

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

Intersect current clipping area with a polygon.

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

  • todo: process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
  • access: public
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 716)

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

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

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

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

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

  • todo: process special cases with $x2-$x1 == 0 or $y2-$y1 == 0
  • access: public
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 944)

Draw an image at the specified position on the page.

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

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

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

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

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

Draw a line of text at the specified position.

  • throws: Zend_Pdf_Exception
  • access: public
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 377)

Dump current drawing instructions into the content stream.

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

Get current font.

  • access: public
getFontSize (line 558)

Get current font size

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

Return the height of this page in points.

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

Retrive PDF file reference to the page

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

Return the style, applied to the page.

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

Return the width of this page in points.

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

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

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

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

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

Write raw PDF commands to the page.

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

Prepare page to be rendered into PDF.

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

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

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

Rotate the page.

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

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.

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

Set fill color.

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

Set current font.

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

Set line color.

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

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 = 0])
  • array $pattern
  • array $phase
setLineWidth (line 469)

Set line width.

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

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 Sun, 27 May 2007 23:26:27 -0700 by phpDocumentor 1.3.2