setasign\Fpdi

FpdiTrait The FpdiTrait

File: /FPDI v2/FpdiTrait.php

This trait offers the core functionalities of FPDI. By passing them to a trait we can reuse it with e.g. TCPDF in a very easy way.

Used in

Summary

Properties

$currentReaderId

protected string setasign\Fpdi\FpdiTrait::$currentReaderId

The current reader id.

$importedPages

protected array setasign\Fpdi\FpdiTrait::$importedPages = array()

Data of all imported pages.

$objectMap

protected array setasign\Fpdi\FpdiTrait::$objectMap = array()

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

$objectsToCopy

protected array setasign\Fpdi\FpdiTrait::$objectsToCopy = array()

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

$readers

protected PdfReader\PdfReader[] setasign\Fpdi\FpdiTrait::$readers = array()

The pdf reader instances.


Methods

getImportedPageSize()

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

Get the size of an imported page.

Omit 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

The width.

$height : float|int|null

The height.

Return Values

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

getPdfParserInstance()

protected FpdiTrait::getPdfParserInstance (
PdfParser\StreamReader $streamReader
): PdfParser\PdfParser|\setasign\FpdiPdfParser\PdfParser\PdfParser

Get a new pdf parser instance.

Parameters
$streamReader : PdfParser\StreamReader
 

getPdfReader()

protected FpdiTrait::getPdfReader (
string $id
): PdfReader\PdfReader

Get a pdf reader instance by its id.

Parameters
$id : string
 

getPdfReaderId()

protected FpdiTrait::getPdfReaderId (): string

Get an unique reader id by the $file parameter.

Parameters
$file : string|resource|PdfReader\PdfReader|PdfParser\StreamReader

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

importPage()

public FpdiTrait::importPage (
int $pageNumber [, string $box = setasign\Fpdi\PdfReader\PageBoundaries::CROP_BOX [, bool $groupXObject = true ]]
): string

Imports a page.

Parameters
$pageNumber : int

The page number.

$box : string

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

$groupXObject : bool

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

Return Values

A unique string identifying the imported page.

Exceptions

Throws PdfReader\PdfReaderException

See
  • PageBoundaries

setMinPdfVersion()

protected FpdiTrait::setMinPdfVersion (
string $pdfVersion
): void

Set the minimal PDF version.

Parameters
$pdfVersion : string
 

setSourceFile()

public FpdiTrait::setSourceFile (
string|resource|PdfParser\StreamReader $file
): int

Set the source PDF file.

Parameters
$file : string|resource|PdfParser\StreamReader

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

Return Values

The page count of the PDF document.

useImportedPage()

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

Draws an imported page onto the page.

Omit 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

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

$y : float|int

The ordinate of upper-left corner.

$width : float|int|null

The width.

$height : float|int|null

The height.

$adjustPageSize : bool
 
Return Values

The size.

See

writePdfType()

protected FpdiTrait::writePdfType (): void

Writes a PdfType object to the resulting buffer.

Parameters
$value : PdfParser\Type\PdfType