Documentation

Fpdi extends FpdfTpl
in package
uses FpdiTrait, FpdfTrait

Class Fpdi

This class let you import pages of existing PDF documents into a reusable structure for FPDF.

Table of Contents

Constants

VERSION  = '2.6.6'
FPDI version

Properties

$createdReaders  : array<string|int, mixed>
Instances created internally.
$currentReaderId  : string|null
The current reader id.
$currentTemplateId  : null|int
The template id for the currently created template.
$importedPages  : array<string|int, mixed>
Data of all imported pages.
$objectMap  : array<string|int, mixed>
A map from object numbers of imported objects to new assigned object numbers by FPDF.
$objectsToCopy  : array<string|int, mixed>
An array with information about objects, which needs to be copied to the resulting document.
$readers  : array<string|int, PdfReader>
The pdf reader instances.
$templateId  : int
A counter for template ids.
$templates  : array<string|int, mixed>
Data of all created templates.

Methods

_out()  : mixed
AddPage()  : mixed
beginTemplate()  : int
Begins a new template.
cleanUp()  : mixed
Release resources and file handles.
endTemplate()  : bool|int|null
Ends a template.
getImportedPageSize()  : array<string|int, mixed>|bool
Get the size of an imported page.
getTemplateSize()  : array<string|int, mixed>|bool
Get the size of an imported page or template.
importPage()  : string
Imports a page.
Link()  : mixed
SetDrawColor()  : mixed
SetFillColor()  : mixed
SetFont()  : mixed
SetFontSize()  : mixed
SetLineWidth()  : mixed
SetLink()  : mixed
setPageFormat()  : mixed
Set the page format of the current page.
setSourceFile()  : int
Set the source PDF file.
setSourceFileWithParserParams()  : int
Set the source PDF file with parameters which are passed to the parser instance.
useImportedPage()  : array<string|int, mixed>
Draws an imported page onto the page.
useTemplate()  : array<string|int, mixed>
Draws an imported page or a template onto the page or another template.
_enddoc()  : mixed
_put()  : mixed
_putimages()  : mixed
_putlinks()  : void
_putxobjectdict()  : mixed
adjustLastLink()  : void
This method will add additional data to the last created link/annotation.
getNextTemplateId()  : int
Get the next template id.
getPdfParserInstance()  : PdfParser|PdfParser
Get a new pdf parser instance.
getPdfReader()  : PdfReader
Get a pdf reader instance by its id.
getPdfReaderId()  : string
Get an unique reader id by the $file parameter.
setMinPdfVersion()  : mixed
Set the minimal PDF version.
writePdfType()  : mixed
Writes a PdfType object to the resulting buffer.

Constants

VERSION

FPDI version

public mixed VERSION = '2.6.6'
Tags
string

Properties

$createdReaders

Instances created internally.

protected array<string|int, mixed> $createdReaders = []

$currentReaderId

The current reader id.

protected string|null $currentReaderId

$currentTemplateId

The template id for the currently created template.

protected null|int $currentTemplateId

$importedPages

Data of all imported pages.

protected array<string|int, mixed> $importedPages = []

$objectMap

A map from object numbers of imported objects to new assigned object numbers by FPDF.

protected array<string|int, mixed> $objectMap = []

$objectsToCopy

An array with information about objects, which needs to be copied to the resulting document.

protected array<string|int, mixed> $objectsToCopy = []

$templateId

A counter for template ids.

protected int $templateId = 0

$templates

Data of all created templates.

protected array<string|int, mixed> $templates = []

Methods

_out()

public _out(mixed $s) : mixed
Parameters
$s : mixed
Tags
inheritdoc

AddPage()

public AddPage([mixed $orientation = '' ][, mixed $size = '' ][, mixed $rotation = 0 ]) : mixed
Parameters
$orientation : mixed = ''
$size : mixed = ''
$rotation : mixed = 0
Tags
inheritdoc

beginTemplate()

Begins a new template.

public beginTemplate([float|int|null $width = null ][, float|int|null $height = null ][, bool $groupXObject = false ]) : int
Parameters
$width : float|int|null = null

The width of the template. If null, the current page width is used.

$height : float|int|null = null

The height of the template. If null, the current page height is used.

$groupXObject : bool = false

Define the form XObject as a group XObject to support transparency (if used).

Return values
int

A template identifier.

cleanUp()

Release resources and file handles.

public cleanUp([bool $allReaders = false ]) : mixed

This method is called internally when the document is created successfully. By default it only cleans up stream reader instances which were created internally.

Parameters
$allReaders : bool = false

endTemplate()

Ends a template.

public endTemplate() : bool|int|null
Return values
bool|int|null

A template identifier.

getImportedPageSize()

Get the size of an imported page.

public getImportedPageSize(mixed $tpl[, float|int|null $width = null ][, float|int|null $height = null ]) : array<string|int, mixed>|bool

Give only one of the size parameters (width, height) to calculate the other one automatically in view to the aspect ratio.

Parameters
$tpl : mixed

The template id

$width : float|int|null = null

The width.

$height : float|int|null = null

The height.

Return values
array<string|int, mixed>|bool

An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P)

getTemplateSize()

Get the size of an imported page or template.

public getTemplateSize(mixed $tpl[, float|int|null $width = null ][, float|int|null $height = null ]) : array<string|int, mixed>|bool

Give only one of the size parameters (width, height) to calculate the other one automatically in view to the aspect ratio.

Parameters
$tpl : mixed

The template id

$width : float|int|null = null

The width.

$height : float|int|null = null

The height.

Return values
array<string|int, mixed>|bool

An array with following keys: width, height, 0 (=width), 1 (=height), orientation (L or P)

importPage()

Imports a page.

public importPage(int $pageNumber[, string $box = PageBoundaries::CROP_BOX ][, bool $groupXObject = true ][, bool $importExternalLinks = false ]) : string
Parameters
$pageNumber : int

The page number.

$box : string = PageBoundaries::CROP_BOX

The page boundary to import. Default set to PageBoundaries::CROP_BOX.

$groupXObject : bool = true

Define the form XObject as a group XObject to support transparency (if used).

$importExternalLinks : bool = false

Define whether external links are imported or not.

Tags
throws
CrossReferenceException
throws
FilterException
throws
PdfParserException
throws
PdfTypeException
throws
PdfReaderException
see
PageBoundaries
Return values
string

A unique string identifying the imported page.

public Link(mixed $x, mixed $y, mixed $w, mixed $h, mixed $link) : mixed
Parameters
$x : mixed
$y : mixed
$w : mixed
$h : mixed
$link : mixed
Tags
inheritdoc

SetDrawColor()

public SetDrawColor(mixed $r[, mixed $g = null ][, mixed $b = null ]) : mixed
Parameters
$r : mixed
$g : mixed = null
$b : mixed = null
Tags
inheritdoc

SetFillColor()

public SetFillColor(mixed $r[, mixed $g = null ][, mixed $b = null ]) : mixed
Parameters
$r : mixed
$g : mixed = null
$b : mixed = null
Tags
inheritdoc

SetFont()

public SetFont(mixed $family[, mixed $style = '' ][, mixed $size = 0 ]) : mixed
Parameters
$family : mixed
$style : mixed = ''
$size : mixed = 0
Tags
inheritdoc

SetFontSize()

public SetFontSize(mixed $size) : mixed
Parameters
$size : mixed
Tags
inheritdoc

SetLineWidth()

public SetLineWidth(mixed $width) : mixed
Parameters
$width : mixed
Tags
inheritdoc
public SetLink(mixed $link[, mixed $y = 0 ][, mixed $page = -1 ]) : mixed
Parameters
$link : mixed
$y : mixed = 0
$page : mixed = -1
Tags
inheritdoc

setPageFormat()

Set the page format of the current page.

public setPageFormat(array<string|int, mixed> $size, string $orientation) : mixed
Parameters
$size : array<string|int, mixed>

An array with two values defining the size.

$orientation : string

"L" for landscape, "P" for portrait.

Tags
throws
BadMethodCallException

setSourceFile()

Set the source PDF file.

public setSourceFile(string|resource|StreamReader $file) : int
Parameters
$file : string|resource|StreamReader

Path to the file or a stream resource or a StreamReader instance.

Tags
throws
PdfParserException
Return values
int

The page count of the PDF document.

setSourceFileWithParserParams()

Set the source PDF file with parameters which are passed to the parser instance.

public setSourceFileWithParserParams(string|resource|StreamReader $file[, array<string|int, mixed> $parserParams = [] ]) : int

This method allows us to pass e.g. authentication information to the parser instance.

Parameters
$file : string|resource|StreamReader

Path to the file or a stream resource or a StreamReader instance.

$parserParams : array<string|int, mixed> = []

Individual parameters passed to the parser instance.

Tags
throws
CrossReferenceException
throws
PdfParserException
throws
PdfTypeException
Return values
int

The page count of the PDF document.

useImportedPage()

Draws an imported page onto the page.

public useImportedPage(mixed $pageId[, float|int|array<string|int, mixed> $x = 0 ][, float|int $y = 0 ][, float|int|null $width = null ][, float|int|null $height = null ][, bool $adjustPageSize = false ]) : array<string|int, mixed>

Give only one of the size parameters (width, height) to calculate the other one automatically in view to the aspect ratio.

Parameters
$pageId : mixed

The page id

$x : float|int|array<string|int, mixed> = 0

The abscissa of upper-left corner. Alternatively you could use an assoc array with the keys "x", "y", "width", "height", "adjustPageSize".

$y : float|int = 0

The ordinate of upper-left corner.

$width : float|int|null = null

The width.

$height : float|int|null = null

The height.

$adjustPageSize : bool = false
Tags
see
Fpdi::getTemplateSize()
Return values
array<string|int, mixed>

The size.

useTemplate()

Draws an imported page or a template onto the page or another template.

public useTemplate(mixed $tpl[, float|int|array<string|int, mixed> $x = 0 ][, float|int $y = 0 ][, float|int|null $width = null ][, float|int|null $height = null ][, bool $adjustPageSize = false ]) : array<string|int, mixed>

Give only one of the size parameters (width, height) to calculate the other one automatically in view to the aspect ratio.

Parameters
$tpl : mixed

The template id

$x : float|int|array<string|int, mixed> = 0

The abscissa of upper-left corner. Alternatively you could use an assoc array with the keys "x", "y", "width", "height", "adjustPageSize".

$y : float|int = 0

The ordinate of upper-left corner.

$width : float|int|null = null

The width.

$height : float|int|null = null

The height.

$adjustPageSize : bool = false
Tags
see
Fpdi::getTemplateSize()
Return values
array<string|int, mixed>

The size

_put()

protected _put(mixed $s[, mixed $newLine = true ]) : mixed
Parameters
$s : mixed
$newLine : mixed = true

_putxobjectdict()

protected _putxobjectdict() : mixed
Tags
inheritdoc

This method will add additional data to the last created link/annotation.

protected adjustLastLink(array<string|int, mixed> $externalLink, float|int $xPt, float|int $scaleX, float|int $yPt, float|int $newHeightPt, float|int $scaleY, array<string|int, mixed> $importedPage) : void

It is separated because TCPDF uses its own logic to handle link annotations. This method is overwritten in the TCPDF implementation.

Parameters
$externalLink : array<string|int, mixed>
$xPt : float|int
$scaleX : float|int
$yPt : float|int
$newHeightPt : float|int
$scaleY : float|int
$importedPage : array<string|int, mixed>

getNextTemplateId()

Get the next template id.

protected getNextTemplateId() : int
Return values
int

getPdfParserInstance()

Get a new pdf parser instance.

protected getPdfParserInstance(StreamReader $streamReader[, array<string|int, mixed> $parserParams = [] ]) : PdfParser|PdfParser
Parameters
$streamReader : StreamReader
$parserParams : array<string|int, mixed> = []

Individual parameters passed to the parser instance.

Return values
PdfParser|PdfParser

getPdfReader()

Get a pdf reader instance by its id.

protected getPdfReader(string $id) : PdfReader
Parameters
$id : string
Return values
PdfReader

getPdfReaderId()

Get an unique reader id by the $file parameter.

protected getPdfReaderId(string|resource|PdfReader|StreamReader $file[, array<string|int, mixed> $parserParams = [] ]) : string
Parameters
$file : string|resource|PdfReader|StreamReader

An open file descriptor, a path to a file, a PdfReader instance or a StreamReader instance.

$parserParams : array<string|int, mixed> = []

Individual parameters passed to the parser instance.

Return values
string

setMinPdfVersion()

Set the minimal PDF version.

protected setMinPdfVersion(string $pdfVersion) : mixed
Parameters
$pdfVersion : string

        
On this page

Search results