classes-Com-Tecnick-Pdf-Tcpdf

It appears that you are using AdBlocking software. The cost of running this website is covered by advertisements. If you like it please feel free to a small amount of money to secure the future of this website.

Tcpdf extends ClassObjects

in package

Com\Tecnick\Pdf\Tcpdf

Tcpdf PDF class

Tags
since
2002-08-03
category

Library

author

Nicola Asuni info@tecnick.com

copyright

2002-2024 Nicola Asuni - Tecnick.com LTD

license

http://www.gnu.org/copyleft/lesser.html GNU-LGPL v3 (see LICENSE.TXT)

link
https://github.com/tecnickcom/tc-lib-pdf
phpstan-import-type

StyleDataOpt from \Com\Tecnick\Pdf\Graph\Base

phpstan-import-type

TAnnotOpts from Output

SuppressWarnings

(PHPMD.DepthOfInheritance)

Table of Contents

Properties

$barcode  : Barcode
Barcode object
$cache  : Cache
Cache object
$color  : Pdf
Color object
$encrypt  : Encrypt
Encrypt object
$file  : File
File object
$font  : Stack
Font object
$graph  : Draw
Graph object
$image  : Import
Image Import object
$page  : Page
Page object
$pon  : int
Current PDF object number.
$uniconv  : Convert
Unicode Convert object

Methods

__construct()  : mixed
Initialize a new PDF object.
addTextCol()  : void
Add a text column with automatic line, page and region breaks.
downloadPDF()  : void
Trigger the browser Download dialog to download the PDF document.
getBarcode()  : string
Get a barcode PDF code.
getLastTextBBox()  : TextBBox
Returns the last text bounding box [llx, lly, urx, ury].
getMIMEAttachmentPDF()  : string
Returns the PDF as base64 mime multi-part email attachment (RFC 2045).
getOutPDFString()  : string
Returns the RAW PDF string.
getTextCell()  : string
Returns the PDF code to render a single text line inside a rectangular cell.
getTextCol()  : string
Returns the PDF code to render a text in a given column with automatic line breaks.
getTextLine()  : string
Returns the PDF code to render a single line of text.
getVersion()  : string
Return the program version.
loadTexHyphenPatterns()  : array<string, string>
Returns an array of hyphenation patterns.
renderPDF()  : void
Render the PDF in the browser or output the RAW data in the CLI.
savePDF()  : void
Save the PDF document to a local file.
setAnnotation()  : int
Add an annotation and returns the object id.
setAuthor()  : static
Defines the author of the document.
setCreator()  : static
Defines the creator of the document.
setDefaultCellMargin()  : void
Set the default cell margin in user units.
setDefaultCellPadding()  : void
Set the default cell padding in user units.
setDisplayMode()  : static
Defines the way the document is to be displayed by the viewer.
setExtraXMP()  : static
Set additional XMP data to be appended just before the end of "x:xmpmeta" tag.
setExtraXMPRDF()  : static
Set additional XMP data to be appended just before the end of "rdf:RDF" tag.
setKeywords()  : static
Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.
setPDFFilename()  : void
Set the pdf document base file name.
setPDFVersion()  : static
Set the PDF version (check PDF reference for valid values).
setRTL()  : static
Set the default document language direction.
setSpaceRegexp()  : void
Set regular expression to detect withespaces or word separators.
setSRGB()  : static
Set the sRGB mode
setSubject()  : static
Defines the subject of the document.
setTitle()  : static
Defines the title of the document.
setViewerPreferences()  : static
Set the viewer preferences dictionary controlling the way the document is to be presented on the screen or in print.
toPoints()  : float
Convert user units to internal points unit.
toUnit()  : float
Convert internal points to user unit.
toYPoints()  : float
Convert vertical user value to internal points unit.
toYUnit()  : float
Convert vertical internal points value to user unit.

Properties

$barcode

Barcode object

public Barcode $barcode

$cache

Cache object

public Cache $cache

$color

Color object

public Pdf $color

$encrypt

Encrypt object

public Encrypt $encrypt

$file

File object

public File $file

$font

Font object

public Stack $font

$graph

Graph object

public Draw $graph

$image

Image Import object

public Import $image

$page

Page object

public Page $page

$pon

Current PDF object number.

public int $pon = 0

$uniconv

Unicode Convert object

public Convert $uniconv

Methods

__construct()

Initialize a new PDF object.

public __construct([string $unit = 'mm' ][, bool $isunicode = true ][, bool $subsetfont = false ][, bool $compress = true ][, string $mode = '' ][, Encrypt|null $objEncrypt = null ]) : mixed
Parameters
$unit : string = 'mm'

Unit of measure ('pt', 'mm', 'cm', 'in').

$isunicode : bool = true

True if the document is in Unicode mode.

$subsetfont : bool = false

If true subset the embedded fonts to remove the unused characters.

$compress : bool = true

Set to false to disable stream compression.

$mode : string = ''

PDF mode: "pdfa1", "pdfa2", "pdfa3", "pdfx" or empty.

$objEncrypt : Encrypt|null = null

Encryption object.

addTextCol()

Add a text column with automatic line, page and region breaks.

public addTextCol(string $txt[, float $posx = 0 ][, float $posy = 0 ][, float $width = 0 ][, float $offset = 0 ][, float $linespace = 0 ][, float $strokewidth = 0 ][, float $wordspacing = 0 ][, float $leading = 0 ][, float $rise = 0 ][, bool $justify = false ][, bool $justifylast = false ][, bool $fill = true ][, bool $stroke = false ][, bool $clip = false ][, string $forcedir = '' ][, TextShadow|null $shadow = null ]) : void
Parameters
$txt : string

Text string to be processed.

$posx : float = 0

Abscissa of upper-left corner.

$posy : float = 0

Ordinate of upper-left corner.

$width : float = 0

Width.

$offset : float = 0

Horizontal offset to apply to the line start.

$linespace : float = 0

Additional space to add between lines.

$strokewidth : float = 0

Stroke width.

$wordspacing : float = 0

Word spacing (use it only when justify == false).

$leading : float = 0

Leading.

$rise : float = 0

Text rise.

$justify : bool = false

If true justify te text via word spacing.

$justifylast : bool = false

If true justify the last line.

$fill : bool = true

If true fills the text.

$stroke : bool = false

If true stroke the text.

$clip : bool = false

If true activate clipping mode.

$forcedir : string = ''

If 'R' forces RTL, if 'L' forces LTR.

$shadow : TextShadow|null = null

Text shadow parameters.

downloadPDF()

Trigger the browser Download dialog to download the PDF document.

public downloadPDF([string $rawpdf = '' ]) : void
Parameters
$rawpdf : string = ''

Raw PDF data string from getOutPDFString().

Tags
throws
Exception

in case of error.

getBarcode()

Get a barcode PDF code.

public getBarcode(string $type, string $code[, float $posx = 0 ][, float $posy = 0 ][, int $width = -1 ][, int $height = -1 ][, array{: int, : int, : int, : int} $padding = [0, 0, 0, 0] ][, StyleDataOpt $style = [] ]) : string
Parameters
$type : string

Barcode type.

$code : string

Barcode content.

$posx : float = 0

Abscissa of upper-left corner.

$posy : float = 0

Ordinate of upper-left corner.

$width : int = -1

Barcode width in user units (excluding padding). A negative value indicates the multiplication factor for each column.

$height : int = -1

Barcode height in user units (excluding padding). A negative value indicates the multiplication factor for each row.

$padding : array{: int, : int, : int, : int} = [0, 0, 0, 0]

Additional padding to add around the barcode (top, right, bottom, left) in user units. A negative value indicates the multiplication factor for each row or column.

$style : StyleDataOpt = []

Array of style options.

Tags
throws
Exception

in case of error

Return values
string

getLastTextBBox()

Returns the last text bounding box [llx, lly, urx, ury].

public getLastTextBBox() : TextBBox
Return values
TextBBox

Array of bounding box values.

getMIMEAttachmentPDF()

Returns the PDF as base64 mime multi-part email attachment (RFC 2045).

public getMIMEAttachmentPDF([string $rawpdf = '' ]) : string
Parameters
$rawpdf : string = ''

Raw PDF data string from getOutPDFString().

Return values
string

Email attachment as raw string.

getOutPDFString()

Returns the RAW PDF string.

public getOutPDFString() : string
Return values
string

getTextCell()

Returns the PDF code to render a single text line inside a rectangular cell.

public getTextCell(string $txt[, float $posx = 0 ][, float $posy = 0 ][, float $width = 0 ][, float $height = 0 ][, string $valign = 'C' ][, string $halign = 'C' ][, TCellDef|null $cell = null ][, array<int, StyleDataOpt$styles = [] ][, float $strokewidth = 0 ][, float $wordspacing = 0 ][, float $leading = 0 ][, float $rise = 0 ][, bool $justify = false ][, bool $fill = true ][, bool $stroke = false ][, bool $clip = false ][, string $forcedir = '' ][, TextShadow|null $shadow = null ]) : string
Parameters
$txt : string

Text string to be processed.

$posx : float = 0

Abscissa of upper-left corner.

$posy : float = 0

Ordinate of upper-left corner.

$width : float = 0

Width.

$height : float = 0

Height.

$valign : string = 'C'

Text vertical alignment inside the cell: T=top; C=center; B=bottom.

$halign : string = 'C'

Text horizontal alignment inside the cell: L=left; C=center; R=right.

$cell : TCellDef|null = null

Optional to overwrite cell parameters for padding, margin etc.

$styles : array<int, StyleDataOpt> = []

Cell border styles (see: getCurrentStyleArray).

$strokewidth : float = 0

Stroke width.

$wordspacing : float = 0

Word spacing (use it only when justify == false).

$leading : float = 0

Leading.

$rise : float = 0

Text rise.

$justify : bool = false

If true justify te text via word spacing.

$fill : bool = true

If true fills the text.

$stroke : bool = false

If true stroke the text.

$clip : bool = false

If true activate clipping mode.

$forcedir : string = ''

If 'R' forces RTL, if 'L' forces LTR.

$shadow : TextShadow|null = null

Text shadow parameters.

Return values
string

getTextCol()

Returns the PDF code to render a text in a given column with automatic line breaks.

public getTextCol(string $txt[, float $posx = 0 ][, float $posy = 0 ][, float $width = 0 ][, float $offset = 0 ][, float $linespace = 0 ][, float $strokewidth = 0 ][, float $wordspacing = 0 ][, float $leading = 0 ][, float $rise = 0 ][, bool $justify = false ][, bool $justifylast = false ][, bool $fill = true ][, bool $stroke = false ][, bool $clip = false ][, string $forcedir = '' ][, TextShadow|null $shadow = null ]) : string
Parameters
$txt : string

Text string to be processed.

$posx : float = 0

Abscissa of upper-left corner.

$posy : float = 0

Ordinate of upper-left corner.

$width : float = 0

Width.

$offset : float = 0

Horizontal offset to apply to the line start.

$linespace : float = 0

Additional space to add between lines.

$strokewidth : float = 0

Stroke width.

$wordspacing : float = 0

Word spacing (use it only when justify == false).

$leading : float = 0

Leading.

$rise : float = 0

Text rise.

$justify : bool = false

If true justify te text via word spacing.

$justifylast : bool = false

If true justify the last line.

$fill : bool = true

If true fills the text.

$stroke : bool = false

If true stroke the text.

$clip : bool = false

If true activate clipping mode.

$forcedir : string = ''

If 'R' forces RTL, if 'L' forces LTR.

$shadow : TextShadow|null = null

Text shadow parameters.

Return values
string

PDF code to render the text.

getTextLine()

Returns the PDF code to render a single line of text.

public getTextLine(string $txt[, float $posx = 0 ][, float $posy = 0 ][, float $width = 0 ][, float $strokewidth = 0 ][, float $wordspacing = 0 ][, float $leading = 0 ][, float $rise = 0 ][, bool $fill = true ][, bool $stroke = false ][, bool $clip = false ][, string $forcedir = '' ][, TextShadow|null $shadow = null ]) : string
Parameters
$txt : string

Text string to be processed.

$posx : float = 0

X position relative to the start of the current line.

$posy : float = 0

Y position relative to the start of the current line (font baseline).

$width : float = 0

Desired string width to force justification via word spacing (0 = automatic).

$strokewidth : float = 0

Stroke width.

$wordspacing : float = 0

Word spacing (use it only when width == 0).

$leading : float = 0

Leading.

$rise : float = 0

Text rise.

$fill : bool = true

If true fills the text.

$stroke : bool = false

If true stroke the text.

$clip : bool = false

If true activate clipping mode.

$forcedir : string = ''

If 'R' forces RTL, if 'L' forces LTR.

$shadow : TextShadow|null = null

Text shadow parameters.

Return values
string

getVersion()

Return the program version.

public getVersion() : string
Return values
string

loadTexHyphenPatterns()

Returns an array of hyphenation patterns.

public loadTexHyphenPatterns(string $file) : array<string, string>
Parameters
$file : string

TEX file containing hypenation patterns. TEX patterns can be downloaded from https://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex See https://www.ctan.org/tex-archive/language/hyph-utf8/ for more information.

Return values
array<string, string>

Array of hyphenation patterns.

renderPDF()

Render the PDF in the browser or output the RAW data in the CLI.

public renderPDF([string $rawpdf = '' ]) : void
Parameters
$rawpdf : string = ''

Raw PDF data string from getOutPDFString().

Tags
throws
Exception

in case of error.

savePDF()

Save the PDF document to a local file.

public savePDF([string $path = '' ][, string $rawpdf = '' ]) : void
Parameters
$path : string = ''

Path to the output file.

$rawpdf : string = ''

Raw PDF data string from getOutPDFString().

setAnnotation()

Add an annotation and returns the object id.

public setAnnotation(float $posx, float $posy, float $width, float $height, string $txt[, TAnnotOpts $opt = ['subtype' => 'text'] ]) : int
Parameters
$posx : float

Abscissa of upper-left corner.

$posy : float

Ordinate of upper-left corner.

$width : float

Width.

$height : float

Height.

$txt : string

Annotation text or alternate content.

$opt : TAnnotOpts = ['subtype' => 'text']

Array of options (Annotation Types) - all lowercase.

Return values
int

Object ID.

setAuthor()

Defines the author of the document.

public setAuthor(string $author) : static
Parameters
$author : string

The name of the author.

Return values
static

setCreator()

Defines the creator of the document.

public setCreator(string $creator) : static

This is typically the name of the application that generates the PDF.

Parameters
$creator : string

The name of the creator.

Return values
static

setDefaultCellMargin()

Set the default cell margin in user units.

public setDefaultCellMargin(float $top, float $right, float $bottom, float $left) : void
Parameters
$top : float

Top.

$right : float

Right.

$bottom : float

Bottom.

$left : float

Left.

setDefaultCellPadding()

Set the default cell padding in user units.

public setDefaultCellPadding(float $top, float $right, float $bottom, float $left) : void
Parameters
$top : float

Top.

$right : float

Right.

$bottom : float

Bottom.

$left : float

Left.

setDisplayMode()

Defines the way the document is to be displayed by the viewer.

public setDisplayMode([int|string $zoom = 'default' ][, string $layout = 'SinglePage' ][, string $mode = 'UseNone' ]) : static
Parameters
$zoom : int|string = 'default'

The zoom to use. It can be one of the following string values or a number indicating the zooming factor to use.

  • fullpage: displays the entire page on screen * fullwidth: uses maximum width of window
  • real: uses real size (equivalent to 100% zoom) * default: uses viewer default mode
$layout : string = 'SinglePage'

The page layout. Possible values are:

  • SinglePage Display one page at a time
  • OneColumn Display the pages in one column
  • TwoColumnLeft Display the pages in two columns, with odd-numbered pages on the left
  • TwoColumnRight Display the pages in two columns, with odd-numbered pages on the right
  • TwoPageLeft Display the pages two at a time, with odd-numbered pages on the left
  • TwoPageRight Display the pages two at a time, with odd-numbered pages on the right
$mode : string = 'UseNone'

A name object specifying how the document should be displayed when opened:

  • UseNone Neither document outline nor thumbnail images visible
  • UseOutlines Document outline visible
  • UseThumbs Thumbnail images visible
  • FullScreen Full screen, with no menu bar, window controls, or any other window visible
  • UseOC (PDF 1.5) Optional content group panel visible
  • UseAttachments (PDF 1.6) Attachments panel visible
Return values
static

setExtraXMP()

Set additional XMP data to be appended just before the end of "x:xmpmeta" tag.

public setExtraXMP(string $xmp) : static

IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method.

Parameters
$xmp : string

Custom XMP data.

Return values
static

setExtraXMPRDF()

Set additional XMP data to be appended just before the end of "rdf:RDF" tag.

public setExtraXMPRDF(string $xmp) : static

IMPORTANT: This data is added as-is without controls, so you have to validate your data before using this method.

Parameters
$xmp : string

Custom XMP data.

Return values
static

setKeywords()

Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.

public setKeywords(string $keywords) : static
Parameters
$keywords : string

Space-separated list of keywords.

Return values
static

setPDFFilename()

Set the pdf document base file name.

public setPDFFilename(string $name) : void

If the file extension is present, it must be '.pdf' or '.PDF'.

Parameters
$name : string

File name.

setPDFVersion()

Set the PDF version (check PDF reference for valid values).

public setPDFVersion([string $version = '1.7' ]) : static
Parameters
$version : string = '1.7'

PDF document version.

Tags
throws
Exception

in case of error.

Return values
static

setRTL()

Set the default document language direction.

public setRTL(bool $enabled) : static
Parameters
$enabled : bool

False = LTR = Left-To-Right; True = RTL = Right-To-Left.

Return values
static

setSpaceRegexp()

Set regular expression to detect withespaces or word separators.

public setSpaceRegexp([string $regexp = '/[^\S\xa0]/' ]) : void

The pattern delimiter must be the forward-slash character "/". Some example patterns are:

Non-Unicode or missing PCRE unicode support: "/[^\S\xa0]/"
Unicode and PCRE unicode support: "/(?!\xa0)[\s\p{Z}]/u"
Unicode and PCRE unicode support in Chinese mode: "/(?!\xa0)[\s\p{Z}\p{Lo}]/u"
if PCRE unicode support is turned ON ("\P" is the negate class of "\p"):
     \s     : any whitespace character
     \p{Z}  : any separator
     \p{Lo} : Unicode letter or ideograph that does not have lowercase and uppercase variants.
     \xa0   : Unicode Character 'NO-BREAK SPACE' (U+00A0)
Parameters
$regexp : string = '/[^\S\xa0]/'

regular expression (leave empty for default).

setSRGB()

Set the sRGB mode

public setSRGB(bool $enabled) : static
Parameters
$enabled : bool

Set to true to add the default sRGB ICC color profile

Return values
static

setSubject()

Defines the subject of the document.

public setSubject(string $subject) : static
Parameters
$subject : string

The subject.

Return values
static

setTitle()

Defines the title of the document.

public setTitle(string $title) : static
Parameters
$title : string

The title.

Return values
static

setViewerPreferences()

Set the viewer preferences dictionary controlling the way the document is to be presented on the screen or in print.

public setViewerPreferences(TViewerPref $pref) : static
Parameters
$pref : TViewerPref

Array of options (see PDF reference "Viewer Preferences").

Return values
static

toPoints()

Convert user units to internal points unit.

public toPoints(float $usr) : float
Parameters
$usr : float

Value to convert.

Return values
float

toUnit()

Convert internal points to user unit.

public toUnit(float $pnt) : float
Parameters
$pnt : float

Value to convert in user units.

Return values
float

toYPoints()

Convert vertical user value to internal points unit.

public toYPoints(float $usr[, float $pageh = -1 ]) : float

Note: the internal Y points coordinate starts at the bottom left of the page.

Parameters
$usr : float

Value to convert.

$pageh : float = -1

Optional page height in internal points ($pageh:$this->page->getPage()['pheight']).

Return values
float

toYUnit()

Convert vertical internal points value to user unit.

public toYUnit(float $pnt[, float $pageh = -1 ]) : float

Note: the internal Y points coordinate starts at the bottom left of the page.

Parameters
$pnt : float

Value to convert.

$pageh : float = -1

Optional page height in internal points ($pageh:$this->page->getPage()['pheight']).

Return values
float
On this page
 

© 2004-2024 – Nicola Asuni - Tecnick.com - All rights reserved.
about - disclaimer - privacy