Zeta Components - high quality PHP components

Zeta Components Manual :: Docs For Class ezcDocumentPdfDriver

Document::ezcDocumentPdfDriver

Class ezcDocumentPdfDriver

Abstract base class for driver implementations.

Driver implement the actual creation of PDF documents. They offer a simple unified API for PDF creation and proxy them to the actual PDF implementation, which will create the binary data.

The unit used for all values passed to methods of this class is milimeters. The extending drivers need to transform these values in a representation they can use.

Source for this file: /Document/src/document/pdf/driver.php

Version:   //autogen//

Descendants

Child Class Description
ezcDocumentPdfTcpdfDriver Pdf driver based on TCPDF
ezcDocumentPdfHaruDriver Pdf driver based on pecl/haru

Constants

FONT_BOLD = 1 Bold text
FONT_OBLIQUE = 2 Italic text
FONT_PLAIN = 0 Normal text

Member Variables

protected ezcDocumentPdfOptions $options
PDF options

Method Summary

public void __construct( )
Construct driver
public void addExternalLink( $x , $y , $width , $height , $url )
Add an external link
public void addInternalLink( $x , $y , $width , $height , $target )
Add an internal link
public void addInternalLinkTarget( $id )
Add an internal link target
public abstract float calculateWordWidth( $word )
Calculate the rendered width of the current word
public abstract void createPage( $width , $height )
Create a new page
public abstract void drawImage( $file , $type , $x , $y , $width , $height )
Draw image
public void drawPolygon( $points , $color )
Draw a fileld polygon
public void drawPolyline( $points , $color , $width , [ $close = true] )
Draw a polyline
public abstract void drawWord( $x , $y , $word )
Draw word at given position
public abstract float getCurrentLineHeight( )
Get current line height
public void registerFont( $name , $type , $pathes )
Register a font
public abstract string save( )
Generate and return PDF
public void setMetaData( $key , $value )
Set metadata
public void setOptions( $options , $compress )
Set compression
public abstract void setTextFormatting( $type , $value )
Set text formatting option

Methods

__construct

void __construct( )

Construct driver

Creates a new PDF driver.

Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::__construct() Construct driver 
ezcDocumentPdfHaruDriver::__construct() Construct driver 

addExternalLink

void addExternalLink( float $x , float $y , float $width , float $height , string $url )

Add an external link

Add an external link to the rectangle specified by its top-left position, width and height. The last parameter is the actual URL to link to.

Parameters:
Name Type Description
$x float
$y float
$width float
$height float
$url string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::addExternalLink() Add an external link 
ezcDocumentPdfHaruDriver::addExternalLink() Add an external link 

addInternalLink

void addInternalLink( float $x , float $y , float $width , float $height , string $target )

Add an internal link

Add an internal link to the rectangle specified by its top-left position, width and height. The last parameter is the target identifier to link to.

Parameters:
Name Type Description
$x float
$y float
$width float
$height float
$target string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::addInternalLink() Add an internal link 
ezcDocumentPdfHaruDriver::addInternalLink() Add an internal link 

addInternalLinkTarget

void addInternalLinkTarget( string $id )

Add an internal link target

Add an internal link to the current page. The last parameter is the target identifier.

Parameters:
Name Type Description
$id string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::addInternalLinkTarget() Add an internal link target 
ezcDocumentPdfHaruDriver::addInternalLinkTarget() Add an internal link target 

calculateWordWidth

float calculateWordWidth( string $word )

Calculate the rendered width of the current word

Calculate the width of the passed word, using the currently set text formatting options.

Parameters:
Name Type Description
$word string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::calculateWordWidth() Calculate the rendered width of the current word 
ezcDocumentPdfHaruDriver::calculateWordWidth() Calculate the rendered width of the current word 

createPage

void createPage( float $width , float $height )

Create a new page

Create a new page in the PDF document with the given width and height.

Parameters:
Name Type Description
$width float
$height float
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::createPage() Create a new page 
ezcDocumentPdfHaruDriver::createPage() Create a new page 

drawImage

void drawImage( string $file , string $type , float $x , float $y , float $width , float $height )

Draw image

Draw image at the defined position. The first parameter is the (absolute) path to the image file, and the second defines the type of the image. If the driver cannot handle this aprticular image type, it should throw an exception.

The further parameters define the location where the image should be rendered and the dimensions of the image in the rendered output. The dimensions do not neccesarily match the real image dimensions, and might require some kind of scaling inside the driver depending on the used backend.

Parameters:
Name Type Description
$file string
$type string
$x float
$y float
$width float
$height float
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::drawImage() Draw image 
ezcDocumentPdfHaruDriver::drawImage() Draw image 

drawPolygon

void drawPolygon( $points , $color )

Draw a fileld polygon

Draw any filled polygon, filled using the defined color. The color should be passed as an array with the keys "red", "green", "blue" and optionally "alpha". Each key should have a value between 0 and 1 associated.

The polygon itself is specified as an array of two-tuples, specifying the x and y coordinate of the point.

Parameters:
Name Type Description
$points array
$color array
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::drawPolygon() Draw a fileld polygon 
ezcDocumentPdfHaruDriver::drawPolygon() Draw a fileld polygon 

drawPolyline

void drawPolyline( $points , $color , float $width , [bool $close = true] )

Draw a polyline

Draw any non-filled polygon, filled using the defined color. The color should be passed as an array with the keys "red", "green", "blue" and optionally "alpha". Each key should have a value between 0 and 1 associated.

The polyline itself is specified as an array of two-tuples, specifying the x and y coordinate of the point.

The thrid parameter defines the width of the border and the last parameter may optionally be set to false to not close the polygon (draw another line from the last point to the first one).

Parameters:
Name Type Description
$points array
$color array
$width float
$close bool
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::drawPolyline() Draw a polyline 
ezcDocumentPdfHaruDriver::drawPolyline() Draw a polyline 

drawWord

void drawWord( float $x , float $y , string $word )

Draw word at given position

Draw the given word at the given position using the currently set text formatting options.

The coordinate specifies the left bottom edge of the words bounding box.

Parameters:
Name Type Description
$x float
$y float
$word string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::drawWord() Draw word at given position 
ezcDocumentPdfHaruDriver::drawWord() Draw word at given position 

getCurrentLineHeight

float getCurrentLineHeight( )

Get current line height

Return the current line height in millimeter based on the current font and text rendering settings.

Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::getCurrentLineHeight() Get current line height 
ezcDocumentPdfHaruDriver::getCurrentLineHeight() Get current line height 

registerFont

void registerFont( string $name , int $type , $pathes )

Register a font

Registers a font, which can be used by its name later in the driver. The given type is either self::FONT_PLAIN or a bitwise combination of self::FONT_BOLD and self::FONT_OBLIQUE.

The third paramater specifies an array of pathes with references to font definition files. Multiple pathes may be specified to provide the same font using different types, because not all drivers may process all font types.

Parameters:
Name Type Description
$name string
$type int
$pathes array
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::registerFont() Register a font 
ezcDocumentPdfHaruDriver::registerFont() Register a font 

save

string save( )

Generate and return PDF

Return the generated binary PDF content as a string.

Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::save() Generate and return PDF 
ezcDocumentPdfHaruDriver::save() Generate and return PDF 

setMetaData

void setMetaData( string $key , string $value )

Set metadata

Set document meta data. The meta data types are identified by a list of keys, common to PDF, like: title, author, subject, created, modified.

The values are passed like embedded in the docbook document and might need to be reformatted.

Parameters:
Name Type Description
$key string
$value string
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::setMetaData() Set metadata 
ezcDocumentPdfHaruDriver::setMetaData() Set metadata 

setOptions

void setOptions( ezcDocumentPdfOptions $options , bool $compress )

Set compression

Set whether the generated PDF should be compressed or not.

Parameters:
Name Type Description
$compress bool
$options ezcDocumentPdfOptions

setTextFormatting

void setTextFormatting( string $type , mixed $value )

Set text formatting option

Set a text formatting option. The names of the options are the same used in the PCSS files and need to be translated by the driver to the proper backend calls.

Parameters:
Name Type Description
$type string
$value mixed
Redefined in descendants as:
Method Description
ezcDocumentPdfTcpdfDriver::setTextFormatting() Set text formatting option 
ezcDocumentPdfHaruDriver::setTextFormatting() Set text formatting option 
Documentation generated by phpDocumentor 1.4.3