Class: I2CE PDF (Development)

From IHRIS Wiki


This article describes the class I2CE_PDF .

Variables

$print_header

true prints header @access protected

$print_footer

true prints footer. @access protected

$header_width

width (0 = full page width). @access protected

image logo. @access protected

$header_logo_width

image logo width in mm. @access protected

$header_font

font. @access protected

$footer_font

font. @access protected

$header_title

to print as title on document header. @access protected

$header_string

to print on document header. @access protected

$header_desc

to print as a descroption under the logo in the document header @access protected $header_desc

$header_desc_cell

I2CE_TextCell The wordwrapped text cell with the header desc @access protected $header_desc_cell

$header_margin

distance between header and top page margin. @access protected

$footer_margin

distance between footer and bottom page margin. @access protected

$original_lMargin

left margin value @access protected @since 1.53.0.TC013

$original_rMargin

right margin value @access protected @since 1.53.0.TC013

$enc

protected @var I2CE_Encoding enc

$text_table

protected @var I2CE_TextTable $text_table

$font_metric

protected @var array of I2CE_FontMetric font_metrics

$running_header

True if we want the header of a table repeated on each page

$row_spacing

-- the spacing (in points) between succesive rows of text in a table

$adobe_standard_encodings

of I2CE_Encodings $adobe_standard_encodings

$header_count

$hyphen

A

$min_cell_width

the minimum number of points we want minimially as the width of a cell in a table

$header_fill_color

of int $header_fill_color for the fill color of the header row of a table

$header_text_color

of int $header_text_color for the text color of the header row of a table

$data_fill_color

of int $header_fill_color for the fill color of the header row of a table

$table_framing_color

of int $table_framing_color the color used to draw the frame for the table

$data_text_color

of int $header_text_color for the text color of the header row of a table

$algorithm

$glyph_list

Methods

AddCoreFontMetrics()

Add a Core PDF Font

AddFontByTTFFile()

  • Defined in textlayout/lib/I2CE_PDF.php on line 326
  • Signature: public function AddFontByTTFFile($family,$style,$ttf_file)
  • Parameters:
    • $family
    • $style
    • $ttf_file

AddPage()

Adds a new page to the document. If a page is already present, the Footer() method is called first to output the footer. Then the page is added, the current position set to the top-left corner according to the left and top margins, and Header() is called to display the header. The font which was set before calling is automatically restored. There is no need to call SetFont() again if you want to continue with the same font. The same is true for colors and line width. The origin of the coordinate system is at the top-left corner and increasing ordinates go downwards.

  • Defined in textlayout/lib/I2CE_PDF.php on line 502
  • Signature: public function AddPage($orientation)
  • Parameters:
    • string $orientation
      Page orientation. Possible values are (case insensitive):
      • P or Portrait
      • L or Landscape
      The default value is the one passed to the constructor. @since 1.0 @see TCPDF(), Header(), Footer(), SetMargins()
      • Default Value:

Cell()

  • Defined in textlayout/lib/I2CE_PDF.php on line 791
  • Signature: public function Cell($w,$h,$txt,$border,$ln,$align,$fill,$link,$stretch)
  • Parameters:
    • $w
    • $h
      • Default Value: 0
    • $txt
      • Default Value:
    • $border
      • Default Value: 0
    • $ln
      • Default Value: 0
    • $align
      • Default Value:
    • $fill
      • Default Value: 0
    • $link
      • Default Value:
    • $stretch
      • Default Value: 0

DisplayTextTableRow()

Draws a Text Table Row using wordwrapped rows @param array of array of strings $row_data. first index is column, second index is the text row in the cell

  • Defined in textlayout/lib/I2CE_PDF.php on line 1330
  • Signature: protected function DisplayTextTableRow($row_data,$widths,$h_user,$border,$align,$fill)
  • Parameters:
    • $row_data
    • $widths
    • numeric $h_user
      the height in user units @param array of numeric $widths in user units *
    • $border
    • $align
    • $fill

Error()

  • Defined in textlayout/lib/I2CE_PDF.php on line 184
  • Signature: public function Error($msg,$level)
  • Parameters:
    • $msg
    • $level
      • Default Value: E_WARNING

GetStringWidth()

GetTableWidths()

Set the widths of the columns last used in the table

GetTextTable()

Get the TextTable object

Header()

This method is used to render the page header.

MakeTable()

Given a 2-dimensional table of string prints out a 'fancy' table @param float $w width of the table, 0 goes to right margin in user units @param float $h height of each row of text in user units @param array $text_table 2 dimensional array of text (indexing is [$row][$col]) .. Row has to be numeric sequential starting at 0. Column does not

  • Defined in textlayout/lib/I2CE_PDF.php on line 1147
  • Signature: public function MakeTable($text_table_data,$border,$max_table_width,$align_data,$header,$align_header,$ln)
  • Parameters:
    • $text_table_data
    • mixed $border
      Indicates if borders must be drawn around the cell block. The value can be:
      • 0: no border (default)
      • 1: frame
      • Default Value: 0
    • numeric $max_table_width
      the maximum table width -- 0 fill the table to the right margin, null use the value as it is already set, non null > 0 is the maximum table width
      • Default Value: 0
    • $align_data
      • Default Value: 'C'
    • int $header
      0 no header, 1 has a header, 2 has a header and the header should repeat on a page break
      • Default Value: 1
    • $align_header
      • Default Value: 'L'
    • int $ln
      Indicates where the current position should go after the call. Possible values are:
      • 0: to the right
      • 1: to the beginning of the next line [DEFAULT]
      • 2: below
      • Default Value: 1

SetAutoTableWidthStyle()

Set the alogorithm used to determine column widths

  • Defined in textlayout/lib/I2CE_PDF.php on line 1061
  • Signature: public function SetAutoTableWidthStyle($style)
  • Parameters:
    • string $style
      Valid values are 'All', 'Header', and 'Explicit'

SetFont()

Sets the font used to print character strings. It is mandatory to call this method at least once before printing text or the resulting document would not be valid. The font can be either a standard one or a font added via the AddFont() method. Standard fonts use Windows encoding cp1252 (Western Europe). The method can be called before the first page is created and the font is retained from page to page. If you just wish to change the current font size, it is simpler to call SetFontSize(). Note: for the standard fonts, the font metric files must be accessible. There are three possibilities for this:

  • They are in the current directory (the one where the running script lies)
  • They are in one of the directories defined by the include_path parameter
  • They are in the directory defined by the FPDF_FONTPATH constant


Example for the last case (note the trailing slash):

 define('FPDF_FONTPATH','/home/www/font/'); require('tcpdf.php'); //Times regular 12 $pdf->SetFont('Times'); //Arial bold 14 $pdf->SetFont('Arial','B',14); //Removes bold $pdf->SetFont(''); //Times bold, italic and underlined 14 $pdf->SetFont('Times','BIU'); 


If the file corresponding to the requested font is not found, the error "Could not include font metric file" is generated.

  • Defined in textlayout/lib/I2CE_PDF.php on line 454
  • Signature: public function SetFont($family,$style,$size)
  • Parameters:
    • string $family
      Family font. It can be either a name defined by AddFont() or one of the standard families (case insensitive):
      • Courier (fixed-width)
      • Helvetica or Arial (synonymous; sans serif)
      • Times (serif)
      • Symbol (symbolic)
      • ZapfDingbats (symbolic)
      It is also possible to pass an empty string. In that case, the current family is retained.
    • string $style
      Font style. Possible values are (case insensitive):
      • empty string: regular
      • B: bold
      • I: italic
      • U: underline
      or any combination. The default value is regular. Bold and italic styles do not apply to Symbol and ZapfDingbats
      • Default Value:
    • float $size
      Font size in points. The default value is the current size. If no size has been specified since the beginning of the document, the value taken is 12 @since 1.0 @see AddFont(), SetFontSize(), Cell(), MultiCell(), Write()
      • Default Value: 0

SetFontSize()

Defines the size of the current font.

  • Defined in textlayout/lib/I2CE_PDF.php on line 589
  • Signature: public function SetFontSize($size)
  • Parameters:
    • float $size
      The size (in points) @since 1.0 @see SetFont()

SetHyphenationDictionary()

set the hyphenation dictionary used for text tables

SetLineSpacing()

Set the spacing between rows of the table

  • Defined in textlayout/lib/I2CE_PDF.php on line 934
  • Signature: public function SetLineSpacing($spacing)
  • Parameters:
    • numeric $spacing
      number to multiply the text height by to get the spacing

SetMaxTableWidth()

Set the maximum width of the table width

SetMinTableCellWidth()

Set the minimum cell width of the table

SetRunningHeader()

Set a running header for tables that span multiple pages

SetTableColSpacing()

Set the spacing between columns of the table

SetTableDataFillColor()

Set the data fill color for a table @param array of $int -- the rgb values

SetTableDataTextColor()

Set the data text color for a table @param array of $int -- the rgb values

SetTableFramingColor()

Set the framing color for a table @param array of $int -- the rgb values

SetTableHeaderFillColor()

Set the header of a table's fill color @param array of $int -- the rgb values

SetTableHeaderTextColor()

Set the header of a table's text color @param array of $int -- the rgb values

SetTableWitdths()

Set the widths of the columns used in the table explicitly @parma array of number $widths -- the column widths Note: setting table width will set the table width style to explicit

SetWordWrapAlgorithm()

Set the alogorithm used to determine word-wrapping

__construct()

This is the class constructor. It allows to set up the page format, the orientation and the measure unit used in all the methods (except for the font sizes). @param I2CE_Encoding $enc charset encoding for all input strings

  • Defined in textlayout/lib/I2CE_PDF.php on line 173
  • Signature: public function __construct($encoding,$orientation,$unit,$format)
  • Parameters:
    • $encoding
    • string $orientation
      page orientation. Possible values are (case insensitive):
      • P or Portrait (default)
      • L or Landscape
      • Default Value: 'P'
    • string $unit
      User measure unit. Possible values are:
      • pt: point
      • mm: millimeter (default)
      • cm: centimeter
      • in: inch

      A point equals 1/72 of inch, that is to say about 0.35 mm (an inch being 2.54 cm). This is a very common unit in typography; font sizes are expressed in that unit.
      • Default Value: 'mm'
    • mixed $format
      The format used for pages. It can be either one of the following values (case insensitive) or a custom format in the form of a two-element array containing the width and the height (expressed in the unit given by unit).
      • 4A0
      • 2A0
      • A0
      • A1
      • A2
      • A3
      • A4 (default)
      • A5
      • A6
      • A7
      • A8
      • A9
      • A10
      • B0
      • B1
      • B2
      • B3
      • B4
      • B5
      • B6
      • B7
      • B8
      • B9
      • B10
      • C0
      • C1
      • C2
      • C3
      • C4
      • C5
      • C6
      • C7
      • C8
      • C9
      • C10
      • RA0
      • RA1
      • RA2
      • RA3
      • RA4
      • SRA0
      • SRA1
      • SRA2
      • SRA3
      • SRA4
      • LETTER
      • LEGAL
      • EXECUTIVE
      • FOLIO
      • Default Value: 'A4'

_escapetext()

Format a text string @access protected

_putfonts()

Adds fonts _putfonts @access protected

_puttruetypeembedded()

Adds unicode fonts.
Based on PDF Reference 1.3 (section 5) @access protected @author Nicola Asuni @since 1.52.0.TC005 (2005-01-05)

_textstring()

Format a text string @access protected

addImageContent()

Add image content

  • Defined in textlayout/lib/I2CE_PDF.php on line 194
  • Signature: public function addImageContent($content,$reference_name)
  • Parameters:
    • string $content
      The image binary data
    • string $reference_name
      A "fake" file name to reference the image content when calling {Image()}. Should include the correct extension for the file

displayTextCell()

Puts in a wordwrapped text cell

getAdobeStandardEncoding()

Get the I2CE_Encoding according to one of the standard adobe encodings

  • Defined in textlayout/lib/I2CE_PDF.php on line 1416
  • Signature: protected function getAdobeStandardEncoding($encoding)
  • Parameters:
    • $encoding

getDescription()

Setup the array the required fields for the FontDescriptor entry The required fields are 'Ascent' 'Descent' 'CapHeight' 'Flags' 'FontBBox' 'ItalicAngle' 'StemV' 'MissingWidth'

  • Defined in textlayout/lib/I2CE_PDF.php on line 271
  • Signature: protected function getDescription($fm,$uses_adobe_standard_encoding)
  • Parameters:
    • $fm
    • $uses_adobe_standard_encoding

getFontKey()

get the fontkey associated to a fmaily and style

loadGlyphList()

load_file()

  • Defined in textlayout/lib/I2CE_PDF.php on line 1448
  • Signature: protected function load_file($category,$file_name)
  • Parameters:
    • $category
    • $file_name

setHeaderData()

Set header data. @param string $ln header image logo

  • Defined in textlayout/lib/I2CE_PDF.php on line 946
  • Signature: public function setHeaderData($logo,$lw,$ht,$hs,$hd)
  • Parameters:
    • $logo
      • Default Value: ""
    • string $lw
      header image logo width in mm
      • Default Value: 0
    • string $ht
      string to print as title on document header
      • Default Value: ""
    • string $hs
      string to print on document header
      • Default Value: ""
    • string $hd
      a description of the report.
      • Default Value:

setHeaderMargin()

Set header margin. (minimum distance between header and top page margin)

  • Defined in textlayout/lib/I2CE_PDF.php on line 642
  • Signature: public function setHeaderMargin($hm)
  • Parameters:
    • int $hm
      distance in user units
      • Default Value: 10

setHeaderWidth()

Sets header width

  • Defined in textlayout/lib/I2CE_PDF.php on line 651
  • Signature: public function setHeaderWidth($w)
  • Parameters:
    • int $w
      width in user units. Value of 0 says to use all the avaiable width
      • Default Value: 0

setPrintHeader()

Set a flag to print page header.

  • Defined in textlayout/lib/I2CE_PDF.php on line 659
  • Signature: public function setPrintHeader($val)
  • Parameters:
    • boolean $val
      set to true to print the page header (default), false otherwise.
      • Default Value: true