[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3master/var/www/se3/html2pdf/_tcpdf_5.0.002/ -> tcpdf.php (summary)

This is a PHP class for generating PDF documents without requiring external extensions.<br> TCPDF project (http://www.tcpdf.org) was originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br> <h3>TCPDF main features are:</h3> <ul> <li>no external libraries are required for the basic functions;</li> <li>all ISO page formats, custom page formats, custom margins and units of measure;</li> <li>UTF-8 Unicode and Right-To-Left languages;</li> <li>TrueTypeUnicode, OpenTypeUnicode, TrueType, OpenType, Type1 and CID-0 fonts;</li> <li>methods to publish some XHTML code, Javascript and Forms;</li> <li>images, graphic (geometric figures) and transformation methods; <li>supports JPEG, PNG and SVG images natively, all images supported by GD (GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM) and all images supported via ImagMagick (http://www.imagemagick.org/www/formats.html)</li> <li>1D and 2D barcodes: CODE 39, ANSI MH10.8M-1983, USD-3, 3 of 9, CODE 93, USS-93, Standard 2 of 5, Interleaved 2 of 5, CODE 128 A/B/C, 2 and 5 Digits UPC-Based Extention, EAN 8, EAN 13, UPC-A, UPC-E, MSI, POSTNET, PLANET, RMS4CC (Royal Mail 4-state Customer Code), CBC (Customer Bar Code), KIX (Klant index - Customer index), Intelligent Mail Barcode, Onecode, USPS-B-3200, CODABAR, CODE 11, PHARMACODE, PHARMACODE TWO-TRACKS, QR-Code;</li> <li>Grayscale, RGB, CMYK, Spot Colors and Transparencies;</li> <li>automatic page header and footer management;</li> <li>document encryption and digital signature certifications;</li> <li>transactions to UNDO commands;</li> <li>PDF annotations, including links, text and file attachments;</li> <li>text rendering modes (fill, stroke and clipping);</li> <li>multiple columns mode;</li> <li>bookmarks and table of content;</li> <li>text hyphenation;</li> <li>automatic page break, line break and text alignments including justification;</li> <li>automatic page numbering and page groups;</li> <li>move and delete pages;</li> <li>page compression (requires php-zlib extension);</li> </ul> Tools to encode your unicode fonts are on fonts/utils directory.</p>

Author: Nicola Asuni
Copyright: 2002-2010 Nicola Asuni - Tecnick.com S.r.l (www.tecnick.com) Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
License: http://www.gnu.org/copyleft/lesser.html LGPL
Version: 5.0.002
File Size: 19818 lines (715 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 1 class

TCPDF:: (361 methods):
  __construct()
  __destruct()
  setPageUnit()
  setPageFormat()
  setPageOrientation()
  setSpacesRE()
  setRTL()
  getRTL()
  setTempRTL()
  isRTLTextDir()
  setLastH()
  getLastH()
  setImageScale()
  getImageScale()
  getPageDimensions()
  getPageWidth()
  getPageHeight()
  getBreakMargin()
  getScaleFactor()
  SetMargins()
  SetLeftMargin()
  SetTopMargin()
  SetRightMargin()
  SetCellPadding()
  SetAutoPageBreak()
  SetDisplayMode()
  SetCompression()
  SetTitle()
  SetSubject()
  SetAuthor()
  SetKeywords()
  SetCreator()
  Error()
  Open()
  Close()
  setPage()
  lastPage()
  getPage()
  getNumPages()
  addTOCPage()
  endTOCPage()
  AddPage()
  endPage()
  startPage()
  setPageMark()
  setContentMark()
  setHeaderData()
  getHeaderData()
  setHeaderMargin()
  getHeaderMargin()
  setFooterMargin()
  getFooterMargin()
  setPrintHeader()
  setPrintFooter()
  getImageRBX()
  getImageRBY()
  Header()
  Footer()
  setHeader()
  setFooter()
  setTableHeader()
  PageNo()
  AddSpotColor()
  SetDrawColorArray()
  SetDrawColor()
  SetDrawSpotColor()
  SetFillColorArray()
  SetFillColor()
  SetFillSpotColor()
  SetTextColorArray()
  SetTextColor()
  SetTextSpotColor()
  GetStringWidth()
  GetArrStringWidth()
  GetCharWidth()
  GetNumChars()
  getFontsList()
  AddFont()
  SetFont()
  SetFontSize()
  getFontDescent()
  getFontAscent()
  SetDefaultMonospacedFont()
  AddLink()
  SetLink()
  Link()
  Annotation()
  _putEmbeddedFiles()
  Text()
  AcceptPageBreak()
  checkPageBreak()
  Cell()
  removeSHY()
  getCellCode()
  MultiCell()
  getBorderMode()
  getNumLines()
  Write()
  getRemainingWidth()
  UTF8ArrSubString()
  UniArrSubString()
  UTF8ArrayToUniArray()
  unichr()
  getImageFileType()
  Image()
  set_mqr()
  get_mqr()
  _toJPEG()
  _toPNG()
  _setGDImageTransparency()
  _parsejpeg()
  _parsepng()
  rfread()
  ImagePngAlpha()
  getGDgamma()
  Ln()
  GetX()
  GetAbsX()
  GetY()
  SetX()
  SetY()
  SetXY()
  Output()
  _destroy()
  _dochecks()
  _getfontpath()
  _putpages()
  _putannotsrefs()
  _putannotsobjs()
  _putAPXObject()
  _putfonts()
  _putfontwidths()
  _puttruetypeunicode()
  _putcidfont0()
  _putimages()
  _putspotcolors()
  _putresourcedict()
  _putresources()
  _putinfo()
  _putcatalog()
  _putviewerpreferences()
  _puttrailer()
  _putheader()
  _enddoc()
  _beginpage()
  _endpage()
  _newobj()
  _dounderline()
  _dounderlinew()
  _dolinethrough()
  _dolinethroughw()
  _dooverline()
  _dooverlinew()
  _freadint()
  _escape()
  _datastring()
  _dataannobjstring()
  _datestring()
  _textstring()
  _textannobjstring()
  _escapetext()
  _getstream()
  _putstream()
  _out()
  UTF8StringToArray()
  UTF8ToUTF16BE()
  UTF8ToLatin1()
  UTF8ArrToLatin1()
  arrUTF8ToUTF16BE()
  setHeaderFont()
  getHeaderFont()
  setFooterFont()
  getFooterFont()
  setLanguageArray()
  getPDFData()
  addHtmlLink()
  convertHTMLColorToDec()
  pixelsToUnits()
  unhtmlentities()
  _objectkey()
  _putencryption()
  _RC4()
  _md5_16()
  _Ovalue()
  _Uvalue()
  _generateencryptionkey()
  SetProtection()
  StartTransform()
  StopTransform()
  ScaleX()
  ScaleY()
  ScaleXY()
  Scale()
  MirrorH()
  MirrorV()
  MirrorP()
  MirrorL()
  TranslateX()
  TranslateY()
  Translate()
  Rotate()
  SkewX()
  SkewY()
  Skew()
  Transform()
  SetLineWidth()
  GetLineWidth()
  SetLineStyle()
  _outPoint()
  _outLine()
  _outRect()
  _outCurve()
  _outCurveV()
  _outCurveY()
  Line()
  Rect()
  Curve()
  Polycurve()
  Ellipse()
  _outellipticalarc()
  Circle()
  PolyLine()
  Polygon()
  RegularPolygon()
  StarPolygon()
  RoundedRect()
  RoundedRectXY()
  Arrow()
  utf8StrRev()
  utf8StrArrRev()
  utf8Bidi()
  Bookmark()
  _putbookmarks()
  IncludeJS()
  addJavascriptObject()
  _putjavascript()
  _JScolor()
  _addfield()
  getAnnotOptFromJSProp()
  setFormDefaultProp()
  getFormDefaultProp()
  TextField()
  RadioButton()
  ListBox()
  ComboBox()
  CheckBox()
  Button()
  _putsignature()
  setUserRights()
  setSignature()
  startPageGroup()
  AliasNbPages()
  getAliasNbPages()
  AliasNumPage()
  getAliasNumPage()
  getGroupPageNo()
  getGroupPageNoFormatted()
  getPageGroupAlias()
  getPageNumGroupAlias()
  formatPageNumber()
  formatTOCPageNumber()
  PageNoFormatted()
  _putocg()
  setVisibility()
  addExtGState()
  setExtGState()
  _putextgstates()
  setAlpha()
  setJPEGQuality()
  setDefaultTableColumns()
  setCellHeightRatio()
  getCellHeightRatio()
  setPDFVersion()
  setViewerPreferences()
  colorRegistrationBar()
  cropMark()
  registrationMark()
  LinearGradient()
  RadialGradient()
  CoonsPatchMesh()
  Clip()
  Gradient()
  _putshaders()
  PieSector()
  PieSectorXY()
  ImageEps()
  setBarcode()
  getBarcode()
  write1DBarcode()
  writeBarcode()
  write2DBarcode()
  getMargins()
  getOriginalMargins()
  getFontSize()
  getFontSizePt()
  getFontFamily()
  getFontStyle()
  writeHTMLCell()
  getHtmlDomArray()
  getSpaceString()
  writeHTML()
  openHTMLTagHandler()
  closeHTMLTagHandler()
  addHTMLVertSpace()
  setLIsymbol()
  SetBooklet()
  swapMargins()
  setHtmlVSpace()
  setListIndentWidth()
  setOpenCell()
  setHtmlLinksStyle()
  getHTMLUnitToUnits()
  intToRoman()
  putHtmlListBullet()
  getGraphicVars()
  setGraphicVars()
  getObjFilename()
  writeDiskCache()
  readDiskCache()
  setBuffer()
  getBuffer()
  setPageBuffer()
  getPageBuffer()
  setImageBuffer()
  setImageSubBuffer()
  getImageBuffer()
  setFontBuffer()
  setFontSubBuffer()
  getFontBuffer()
  movePage()
  deletePage()
  copyPage()
  addTOC()
  addHTMLTOC()
  startTransaction()
  commitTransaction()
  rollbackTransaction()
  objclone()
  empty_string()
  revstrpos()
  setEqualColumns()
  setColumnsArray()
  selectColumn()
  serializeTCPDFtagParameters()
  setTextRenderingMode()
  hyphenateWord()
  getHyphenPatternsFromTEX()
  hyphenateText()
  setRasterizeVectorImages()
  getPathPaintOperator()
  ImageSVG()
  getSVGTransformMatrix()
  getTransformationMatrixProduct()
  convertSVGtMatrix()
  SVGTransform()
  setSVGStyles()
  SVGPath()
  getVectorsAngle()
  startSVGElementHandler()
  endSVGElementHandler()
  segSVGContentHandler()


Class: TCPDF  - X-Ref

This is a PHP class for generating PDF documents without requiring external extensions.<br>
TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>

__construct($orientation='P', $unit='mm', $format='A4', $unicode=true, $encoding='UTF-8', $diskcache=false)   X-Ref
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: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or Portrait (default)</li><li>L or Landscape</li></ul>
param: string $unit User measure unit. Possible values are:<ul><li>pt: point</li><li>mm: millimeter (default)</li><li>cm: centimeter</li><li>in: inch</li></ul><br />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.
param: 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).<ul><li>4A0</li><li>2A0</li><li>A0</li><li>A1</li><li>A2</li><li>A3</li><li>A4 (default)</li><li>A5</li><li>A6</li><li>A7</li><li>A8</li><li>A9</li><li>A10</li><li>B0</li><li>B1</li><li>B2</li><li>B3</li><li>B4</li><li>B5</li><li>B6</li><li>B7</li><li>B8</li><li>B9</li><li>B10</li><li>C0</li><li>C1</li><li>C2</li><li>C3</li><li>C4</li><li>C5</li><li>C6</li><li>C7</li><li>C8</li><li>C9</li><li>C10</li><li>RA0</li><li>RA1</li><li>RA2</li><li>RA3</li><li>RA4</li><li>SRA0</li><li>SRA1</li><li>SRA2</li><li>SRA3</li><li>SRA4</li><li>LETTER</li><li>LEGAL</li><li>EXECUTIVE</li><li>FOLIO</li></ul>
param: boolean $unicode TRUE means that the input text is unicode (default = true)
param: boolean $diskcache if TRUE reduce the RAM memory usage by caching temporary data on filesystem (slower).
param: String $encoding charset encoding; default is UTF-8

__destruct()   X-Ref
Default destructor.


setPageUnit($unit)   X-Ref
Set the units of measure for the document.

param: string $unit User measure unit. Possible values are:<ul><li>pt: point</li><li>mm: millimeter (default)</li><li>cm: centimeter</li><li>in: inch</li></ul><br />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.

setPageFormat($format, $orientation='P')   X-Ref
Set the page format

param: 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).<ul><li>4A0</li><li>2A0</li><li>A0</li><li>A1</li><li>A2</li><li>A3</li><li>A4 (default)</li><li>A5</li><li>A6</li><li>A7</li><li>A8</li><li>A9</li><li>A10</li><li>B0</li><li>B1</li><li>B2</li><li>B3</li><li>B4</li><li>B5</li><li>B6</li><li>B7</li><li>B8</li><li>B9</li><li>B10</li><li>C0</li><li>C1</li><li>C2</li><li>C3</li><li>C4</li><li>C5</li><li>C6</li><li>C7</li><li>C8</li><li>C9</li><li>C10</li><li>RA0</li><li>RA1</li><li>RA2</li><li>RA3</li><li>RA4</li><li>SRA0</li><li>SRA1</li><li>SRA2</li><li>SRA3</li><li>SRA4</li><li>LETTER</li><li>LEGAL</li><li>EXECUTIVE</li><li>FOLIO</li></ul>
param: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or PORTRAIT (default)</li><li>L or LANDSCAPE</li></ul>

setPageOrientation($orientation, $autopagebreak='', $bottommargin='')   X-Ref
Set page orientation.

param: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or PORTRAIT (default)</li><li>L or LANDSCAPE</li></ul>
param: boolean $autopagebreak Boolean indicating if auto-page-break mode should be on or off.
param: float $bottommargin bottom margin of the page.

setSpacesRE($re='/[\s]/')   X-Ref
Set regular expression to detect withespaces or word separators.

param: string $re regular expression (leave empty for default).

setRTL($enable, $resetx=true)   X-Ref
Enable or disable Right-To-Left language mode

param: Boolean $enable if true enable Right-To-Left language mode.
param: Boolean $resetx if true reset the X position on direction change.

getRTL()   X-Ref
Return the RTL status

return: boolean

setTempRTL($mode)   X-Ref
Force temporary RTL language direction

param: mixed $mode can be false, 'L' for LTR or 'R' for RTL

isRTLTextDir()   X-Ref
Return the current temporary RTL status

return: boolean

setLastH($h)   X-Ref
Set the last cell height.

author: Nicola Asuni
param: float $h cell height.

getLastH()   X-Ref
Get the last cell height.

return: last cell height

setImageScale($scale)   X-Ref
Set the adjusting factor to convert pixels to user units.

author: Nicola Asuni
param: float $scale adjusting factor to convert pixels to user units.

getImageScale()   X-Ref
Returns the adjusting factor to convert pixels to user units.

author: Nicola Asuni
return: float adjusting factor to convert pixels to user units.

getPageDimensions($pagenum='')   X-Ref
Returns an array of page dimensions:
<ul><li>$this->pagedim[$this->page]['w'] => page_width_in_points</li><li>$this->pagedim[$this->page]['h'] => height in points</li><li>$this->pagedim[$this->page]['wk'] => page_width_in_points</li><li>$this->pagedim[$this->page]['hk'] => height</li><li>$this->pagedim[$this->page]['tm'] => top_margin</li><li>$this->pagedim[$this->page]['bm'] => bottom_margin</li><li>$this->pagedim[$this->page]['lm'] => left_margin</li><li>$this->pagedim[$this->page]['rm'] => right_margin</li><li>$this->pagedim[$this->page]['pb'] => auto_page_break</li><li>$this->pagedim[$this->page]['or'] => page_orientation</li><li>$this->pagedim[$this->page]['olm'] => original_left_margin</li><li>$this->pagedim[$this->page]['orm'] => original_right_margin</li></ul>

author: Nicola Asuni
param: int $pagenum page number (empty = current page)
return: array of page dimensions.

getPageWidth($pagenum='')   X-Ref
Returns the page width in units.

author: Nicola Asuni
param: int $pagenum page number (empty = current page)
return: int page width.

getPageHeight($pagenum='')   X-Ref
Returns the page height in units.

author: Nicola Asuni
param: int $pagenum page number (empty = current page)
return: int page height.

getBreakMargin($pagenum='')   X-Ref
Returns the page break margin.

author: Nicola Asuni
param: int $pagenum page number (empty = current page)
return: int page break margin.

getScaleFactor()   X-Ref
Returns the scale factor (number of points in user unit).

author: Nicola Asuni
return: int scale factor.

SetMargins($left, $top, $right=-1, $keepmargins=false)   X-Ref
Defines the left, top and right margins.

param: float $left Left margin.
param: float $top Top margin.
param: float $right Right margin. Default value is the left one.
param: boolean $keepmargins if true overwrites the default page margins

SetLeftMargin($margin)   X-Ref
Defines the left margin. The method can be called before creating the first page. If the current abscissa gets out of page, it is brought back to the margin.

param: float $margin The margin.

SetTopMargin($margin)   X-Ref
Defines the top margin. The method can be called before creating the first page.

param: float $margin The margin.

SetRightMargin($margin)   X-Ref
Defines the right margin. The method can be called before creating the first page.

param: float $margin The margin.

SetCellPadding($pad)   X-Ref
Set the internal Cell padding.

param: float $pad internal padding.

SetAutoPageBreak($auto, $margin=0)   X-Ref
Enables or disables the automatic page breaking mode. When enabling, the second parameter is the distance from the bottom of the page that defines the triggering limit. By default, the mode is on and the margin is 2 cm.

param: boolean $auto Boolean indicating if mode should be on or off.
param: float $margin Distance from the bottom of the page.

SetDisplayMode($zoom, $layout='SinglePage', $mode='UseNone')   X-Ref
Defines the way the document is to be displayed by the viewer.

param: mixed $zoom The zoom to use. It can be one of the following string values or a number indicating the zooming factor to use. <ul><li>fullpage: displays the entire page on screen </li><li>fullwidth: uses maximum width of window</li><li>real: uses real size (equivalent to 100% zoom)</li><li>default: uses viewer default mode</li></ul>
param: string $layout The page layout. Possible values are:<ul><li>SinglePage Display one page at a time</li><li>OneColumn Display the pages in one column</li><li>TwoColumnLeft Display the pages in two columns, with odd-numbered pages on the left</li><li>TwoColumnRight Display the pages in two columns, with odd-numbered pages on the right</li><li>TwoPageLeft (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the left</li><li>TwoPageRight (PDF 1.5) Display the pages two at a time, with odd-numbered pages on the right</li></ul>
param: string $mode A name object specifying how the document should be displayed when opened:<ul><li>UseNone Neither document outline nor thumbnail images visible</li><li>UseOutlines Document outline visible</li><li>UseThumbs Thumbnail images visible</li><li>FullScreen Full-screen mode, with no menu bar, window controls, or any other window visible</li><li>UseOC (PDF 1.5) Optional content group panel visible</li><li>UseAttachments (PDF 1.6) Attachments panel visible</li></ul>

SetCompression($compress)   X-Ref
Activates or deactivates page compression. When activated, the internal representation of each page is compressed, which leads to a compression ratio of about 2 for the resulting document. Compression is on by default.
Note: the Zlib extension is required for this feature. If not present, compression will be turned off.

param: boolean $compress Boolean indicating if compression must be enabled.

SetTitle($title)   X-Ref
Defines the title of the document.

param: string $title The title.

SetSubject($subject)   X-Ref
Defines the subject of the document.

param: string $subject The subject.

SetAuthor($author)   X-Ref
Defines the author of the document.

param: string $author The name of the author.

SetKeywords($keywords)   X-Ref
Associates keywords with the document, generally in the form 'keyword1 keyword2 ...'.

param: string $keywords The list of keywords.

SetCreator($creator)   X-Ref
Defines the creator of the document. This is typically the name of the application that generates the PDF.

param: string $creator The name of the creator.

Error($msg)   X-Ref
This method is automatically called in case of fatal error; it simply outputs the message and halts the execution. An inherited class may override it to customize the error handling but should always halt the script, or the resulting document would probably be invalid.
2004-06-11 :: Nicola Asuni : changed bold tag with strong

param: string $msg The error message

Open()   X-Ref
This method begins the generation of the PDF document.
It is not necessary to call it explicitly because AddPage() does it automatically.
Note: no page is created by this method


Close()   X-Ref
Terminates the PDF document.
It is not necessary to call this method explicitly because Output() does it automatically.
If the document contains no page, AddPage() is called to prevent from getting an invalid document.


setPage($pnum, $resetmargins=false)   X-Ref
Move pointer at the specified document page and update page dimensions.

param: int $pnum page number (1 ... numpages)
param: boolean $resetmargins if true reset left, right, top margins and Y position.

lastPage($resetmargins=false)   X-Ref
Reset pointer to the last document page.

param: boolean $resetmargins if true reset left, right, top margins and Y position.

getPage()   X-Ref
Get current document page number.

return: int page number

getNumPages()   X-Ref
Get the total number of insered pages.

return: int number of pages

addTOCPage($orientation='', $format='', $keepmargins=false)   X-Ref
Adds a new TOC (Table Of Content) page to the document.

param: string $orientation page orientation.
param: boolean $keepmargins if true overwrites the default page margins with the current margins

endTOCPage()   X-Ref
Terminate the current TOC (Table Of Content) page


AddPage($orientation='', $format='', $keepmargins=false, $tocpage=false)   X-Ref
Adds a new page to the document. If a page is already present, the Footer() method is called first to output the footer (if enabled). Then the page is added, the current position set to the top-left corner according to the left and top margins (or top-right if in RTL mode), and Header() is called to display the header (if enabled).
The origin of the coordinate system is at the top-left corner (or top-right for RTL) and increasing ordinates go downwards.

param: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or PORTRAIT (default)</li><li>L or LANDSCAPE</li></ul>
param: 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).<ul><li>4A0</li><li>2A0</li><li>A0</li><li>A1</li><li>A2</li><li>A3</li><li>A4 (default)</li><li>A5</li><li>A6</li><li>A7</li><li>A8</li><li>A9</li><li>A10</li><li>B0</li><li>B1</li><li>B2</li><li>B3</li><li>B4</li><li>B5</li><li>B6</li><li>B7</li><li>B8</li><li>B9</li><li>B10</li><li>C0</li><li>C1</li><li>C2</li><li>C3</li><li>C4</li><li>C5</li><li>C6</li><li>C7</li><li>C8</li><li>C9</li><li>C10</li><li>RA0</li><li>RA1</li><li>RA2</li><li>RA3</li><li>RA4</li><li>SRA0</li><li>SRA1</li><li>SRA2</li><li>SRA3</li><li>SRA4</li><li>LETTER</li><li>LEGAL</li><li>EXECUTIVE</li><li>FOLIO</li></ul>
param: boolean $keepmargins if true overwrites the default page margins with the current margins
param: boolean $tocpage if true set the tocpage state to true (the added page will be used to display Table Of Content).

endPage($tocpage=false)   X-Ref
Terminate the current page

param: boolean $tocpage if true set the tocpage state to false (end the page used to display Table Of Content).

startPage($orientation='', $format='', $tocpage=false)   X-Ref
Starts a new page to the document. The page must be closed using the endPage() function.
The origin of the coordinate system is at the top-left corner and increasing ordinates go downwards.

param: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or PORTRAIT (default)</li><li>L or LANDSCAPE</li></ul>
param: 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).<ul><li>4A0</li><li>2A0</li><li>A0</li><li>A1</li><li>A2</li><li>A3</li><li>A4 (default)</li><li>A5</li><li>A6</li><li>A7</li><li>A8</li><li>A9</li><li>A10</li><li>B0</li><li>B1</li><li>B2</li><li>B3</li><li>B4</li><li>B5</li><li>B6</li><li>B7</li><li>B8</li><li>B9</li><li>B10</li><li>C0</li><li>C1</li><li>C2</li><li>C3</li><li>C4</li><li>C5</li><li>C6</li><li>C7</li><li>C8</li><li>C9</li><li>C10</li><li>RA0</li><li>RA1</li><li>RA2</li><li>RA3</li><li>RA4</li><li>SRA0</li><li>SRA1</li><li>SRA2</li><li>SRA3</li><li>SRA4</li><li>LETTER</li><li>LEGAL</li><li>EXECUTIVE</li><li>FOLIO</li></ul>
param: boolean $tocpage if true set the tocpage state to true (the added page will be used to display Table of Content).

setPageMark()   X-Ref
Set start-writing mark on current page stream used to put borders and fills.
Borders and fills are always created after content and inserted on the position marked by this method.
This function must be called after calling Image() function for a background image.
Background images must be always inserted before calling Multicell() or WriteHTMLCell() or WriteHTML() functions.


setContentMark($page=0)   X-Ref
Set start-writing mark on selected page.
Borders and fills are always created after content and inserted on the position marked by this method.

param: int $page page number (default is the current page)

setHeaderData($ln='', $lw=0, $ht='', $hs='')   X-Ref
Set header data.

param: string $ln header image logo
param: string $lw header image logo width in mm
param: string $ht string to print as title on document header
param: string $hs string to print on document header

getHeaderData()   X-Ref
Returns header data:
<ul><li>$ret['logo'] = logo image</li><li>$ret['logo_width'] = width of the image logo in user units</li><li>$ret['title'] = header title</li><li>$ret['string'] = header description string</li></ul>

return: array()

setHeaderMargin($hm=10)   X-Ref
Set header margin.
(minimum distance between header and top page margin)

param: int $hm distance in user units

getHeaderMargin()   X-Ref
Returns header margin in user units.

return: float

setFooterMargin($fm=10)   X-Ref
Set footer margin.
(minimum distance between footer and bottom page margin)

param: int $fm distance in user units

getFooterMargin()   X-Ref
Returns footer margin in user units.

return: float

setPrintHeader($val=true)   X-Ref
Set a flag to print page header.

param: boolean $val set to true to print the page header (default), false otherwise.

setPrintFooter($val=true)   X-Ref
Set a flag to print page footer.

param: boolean $value set to true to print the page footer (default), false otherwise.

getImageRBX()   X-Ref
Return the right-bottom (or left-bottom for RTL) corner X coordinate of last inserted image

return: float

getImageRBY()   X-Ref
Return the right-bottom (or left-bottom for RTL) corner Y coordinate of last inserted image

return: float

Header()   X-Ref
This method is used to render the page header.
It is automatically called by AddPage() and could be overwritten in your own inherited class.


Footer()   X-Ref
This method is used to render the page footer.
It is automatically called by AddPage() and could be overwritten in your own inherited class.


setHeader()   X-Ref
This method is used to render the page header.


setFooter()   X-Ref
This method is used to render the page footer.


setTableHeader()   X-Ref
This method is used to render the table header on new page (if any).


PageNo()   X-Ref
Returns the current page number.

return: int page number

AddSpotColor($name, $c, $m, $y, $k)   X-Ref
Defines a new spot color.
It can be expressed in RGB components or gray scale.
The method can be called before the first page is created and the value is retained from page to page.

param: int $c Cyan color for CMYK. Value between 0 and 255
param: int $m Magenta color for CMYK. Value between 0 and 255
param: int $y Yellow color for CMYK. Value between 0 and 255
param: int $k Key (Black) color for CMYK. Value between 0 and 255

SetDrawColorArray($color)   X-Ref
Defines the color used for all drawing operations (lines, rectangles and cell borders).
It can be expressed in RGB components or gray scale.
The method can be called before the first page is created and the value is retained from page to page.

param: array $color array of colors

SetDrawColor($col1=0, $col2=-1, $col3=-1, $col4=-1)   X-Ref
Defines the color used for all drawing operations (lines, rectangles and cell borders). It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

param: int $col1 Gray level for single color, or Red color for RGB, or Cyan color for CMYK. Value between 0 and 255
param: int $col2 Green color for RGB, or Magenta color for CMYK. Value between 0 and 255
param: int $col3 Blue color for RGB, or Yellow color for CMYK. Value between 0 and 255
param: int $col4 Key (Black) color for CMYK. Value between 0 and 255

SetDrawSpotColor($name, $tint=100)   X-Ref
Defines the spot color used for all drawing operations (lines, rectangles and cell borders).

param: string $name name of the spot color
param: int $tint the intensity of the color (from 0 to 100 ; 100 = full intensity by default).

SetFillColorArray($color)   X-Ref
Defines the color used for all filling operations (filled rectangles and cell backgrounds).
It can be expressed in RGB components or gray scale.
The method can be called before the first page is created and the value is retained from page to page.

param: array $color array of colors

SetFillColor($col1=0, $col2=-1, $col3=-1, $col4=-1)   X-Ref
Defines the color used for all filling operations (filled rectangles and cell backgrounds). It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

param: int $col1 Gray level for single color, or Red color for RGB, or Cyan color for CMYK. Value between 0 and 255
param: int $col2 Green color for RGB, or Magenta color for CMYK. Value between 0 and 255
param: int $col3 Blue color for RGB, or Yellow color for CMYK. Value between 0 and 255
param: int $col4 Key (Black) color for CMYK. Value between 0 and 255

SetFillSpotColor($name, $tint=100)   X-Ref
Defines the spot color used for all filling operations (filled rectangles and cell backgrounds).

param: string $name name of the spot color
param: int $tint the intensity of the color (from 0 to 100 ; 100 = full intensity by default).

SetTextColorArray($color)   X-Ref
Defines the color used for text. It can be expressed in RGB components or gray scale.
The method can be called before the first page is created and the value is retained from page to page.

param: array $color array of colors

SetTextColor($col1=0, $col2=-1, $col3=-1, $col4=-1)   X-Ref
Defines the color used for text. It can be expressed in RGB components or gray scale. The method can be called before the first page is created and the value is retained from page to page.

param: int $col1 Gray level for single color, or Red color for RGB, or Cyan color for CMYK. Value between 0 and 255
param: int $col2 Green color for RGB, or Magenta color for CMYK. Value between 0 and 255
param: int $col3 Blue color for RGB, or Yellow color for CMYK. Value between 0 and 255
param: int $col4 Key (Black) color for CMYK. Value between 0 and 255

SetTextSpotColor($name, $tint=100)   X-Ref
Defines the spot color used for text.

param: string $name name of the spot color
param: int $tint the intensity of the color (from 0 to 100 ; 100 = full intensity by default).

GetStringWidth($s, $fontname='', $fontstyle='', $fontsize=0, $getarray=false)   X-Ref
Returns the length of a string in user unit. A font must be selected.<br>

author: Nicola Asuni
param: string $s The string whose length is to be computed
param: string $fontname Family font. It can be either a name defined by AddFont() or one of the standard families. It is also possible to pass an empty string, in that case, the current family is retained.
param: string $fontstyle Font style. Possible values are (case insensitive):<ul><li>empty string: regular</li><li>B: bold</li><li>I: italic</li><li>U: underline</li><li>D: line-trough</li><li>O: overline</li></ul> or any combination. The default value is regular.
param: float $fontsize Font size in points. The default value is the current size.
param: boolean $getarray if true returns an array of characters widths, if false returns the total length.
return: mixed int total string length or array of characted widths

GetArrStringWidth($sa, $fontname='', $fontstyle='', $fontsize=0, $getarray=false)   X-Ref
Returns the string length of an array of chars in user unit or an array of characters widths. A font must be selected.<br>

author: Nicola Asuni
param: string $sa The array of chars whose total length is to be computed
param: string $fontname Family font. It can be either a name defined by AddFont() or one of the standard families. It is also possible to pass an empty string, in that case, the current family is retained.
param: string $fontstyle Font style. Possible values are (case insensitive):<ul><li>empty string: regular</li><li>B: bold</li><li>I: italic</li><li>U: underline</li><li>D: line trough</li><li>O: overline</li></ul> or any combination. The default value is regular.
param: float $fontsize Font size in points. The default value is the current size.
param: boolean $getarray if true returns an array of characters widths, if false returns the total length.
return: mixed int total string length or array of characted widths

GetCharWidth($char)   X-Ref
Returns the length of the char in user unit for the current font.

author: Nicola Asuni
param: int $char The char code whose length is to be returned
return: int char width

GetNumChars($s)   X-Ref
Returns the numbero of characters in a string.

param: string $s The input string.
return: int number of characters

getFontsList()   X-Ref
Fill the list of available fonts ($this->fontlist).


AddFont($family, $style='', $fontfile='')   X-Ref
Imports a TrueType, Type1, core, or CID0 font and makes it available.
It is necessary to generate a font definition file first (read /fonts/utils/README.TXT).
The definition file (and the font file itself when embedding) must be present either in the current directory or in the one indicated by K_PATH_FONTS if the constant is defined. If it could not be found, the error "Could not include font definition file" is generated.

param: string $family Font family. The name can be chosen arbitrarily. If it is a standard family name, it will override the corresponding font.
param: string $style Font style. Possible values are (case insensitive):<ul><li>empty string: regular (default)</li><li>B: bold</li><li>I: italic</li><li>BI or IB: bold italic</li></ul>
param: string $fontfile The font definition file. By default, the name is built from the family and style, in lower case with no spaces.
return: array containing the font data, or false in case of error.

SetFont($family, $style='', $size=0, $fontfile='')   X-Ref
Sets the font used to print character strings.
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:<ul><li>They are in the current directory (the one where the running script lies)</li><li>They are in one of the directories defined by the include_path parameter</li><li>They are in the directory defined by the K_PATH_FONTS constant</li></ul><br />

param: string $family Family font. It can be either a name defined by AddFont() or one of the standard Type1 families (case insensitive):<ul><li>times (Times-Roman)</li><li>timesb (Times-Bold)</li><li>timesi (Times-Italic)</li><li>timesbi (Times-BoldItalic)</li><li>helvetica (Helvetica)</li><li>helveticab (Helvetica-Bold)</li><li>helveticai (Helvetica-Oblique)</li><li>helveticabi (Helvetica-BoldOblique)</li><li>courier (Courier)</li><li>courierb (Courier-Bold)</li><li>courieri (Courier-Oblique)</li><li>courierbi (Courier-BoldOblique)</li><li>symbol (Symbol)</li><li>zapfdingbats (ZapfDingbats)</li></ul> It is also possible to pass an empty string. In that case, the current family is retained.
param: string $style Font style. Possible values are (case insensitive):<ul><li>empty string: regular</li><li>B: bold</li><li>I: italic</li><li>U: underline</li><li>D: line trough</li><li>O: overline</li></ul> or any combination. The default value is regular. Bold and italic styles do not apply to Symbol and ZapfDingbats basic fonts or other fonts when not defined.
param: 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
param: string $fontfile The font definition file. By default, the name is built from the family and style, in lower case with no spaces.

SetFontSize($size)   X-Ref
Defines the size of the current font.

param: float $size The size (in points)

getFontDescent($font, $style='', $size=0)   X-Ref
Return the font descent value

param: string $font font name
param: string $style font style
param: float $size The size (in points)
return: int font descent

getFontAscent($font, $style='', $size=0)   X-Ref
Return the font ascent value

param: string $font font name
param: string $style font style
param: float $size The size (in points)
return: int font ascent

SetDefaultMonospacedFont($font)   X-Ref
Defines the default monospaced font.

param: string $font Font name.

AddLink()   X-Ref
Creates a new internal link and returns its identifier. An internal link is a clickable area which directs to another place within the document.<br />
The identifier can then be passed to Cell(), Write(), Image() or Link(). The destination is defined with SetLink().


SetLink($link, $y=0, $page=-1)   X-Ref
Defines the page and position a link points to.

param: int $link The link identifier returned by AddLink()
param: float $y Ordinate of target position; -1 indicates the current position. The default value is 0 (top of page)
param: int $page Number of target page; -1 indicates the current page. This is the default value

Link($x, $y, $w, $h, $link, $spaces=0)   X-Ref
Puts a link on a rectangular area of the page.
Text or image links are generally put via Cell(), Write() or Image(), but this method can be useful for instance to define a clickable area inside an image.

param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: float $w Width of the rectangle
param: float $h Height of the rectangle
param: mixed $link URL or identifier returned by AddLink()
param: int $spaces number of spaces on the text to link

Annotation($x, $y, $w, $h, $text, $opt=array('Subtype'=>'Text')   X-Ref
Puts a markup annotation on a rectangular area of the page.
!!!!THE ANNOTATION SUPPORT IS NOT YET FULLY IMPLEMENTED !!!!

param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: float $w Width of the rectangle
param: float $h Height of the rectangle
param: string $text annotation text or alternate content
param: array $opt array of options (see section 8.4 of PDF reference 1.7).
param: int $spaces number of spaces on the text to link

_putEmbeddedFiles()   X-Ref
Embedd the attached files.


Text($x, $y, $txt, $fstroke=false, $fclip=false, $ffill=true, $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M', $rtloff=false)   X-Ref
Prints a text cell at the specified position.
The origin is on the left of the first charcter, on the baseline.
This method allows to place a string precisely on the page.

param: float $x Abscissa of the cell origin
param: float $y Ordinate of the cell origin
param: string $txt String to print
param: int $fstroke outline size in user units (false = disable)
param: boolean $fclip if true activate clipping mode (you must call StartTransform() before this function and StopTransform() to stop the clipping tranformation).
param: boolean $ffill if true fills the text
param: mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: int $ln Indicates where the current position should go after the call. Possible values are:<ul><li>0: to the right (or left for RTL languages)</li><li>1: to the beginning of the next line</li><li>2: below</li></ul>Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0.
param: string $align Allows to center or align the text. Possible values are:<ul><li>L or empty string: left align (default value)</li><li>C: center</li><li>R: right align</li><li>J: justify</li></ul>
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: mixed $link URL or identifier returned by AddLink().
param: int $stretch stretch carachter mode: <ul><li>0 = disabled</li><li>1 = horizontal scaling only if necessary</li><li>2 = forced horizontal scaling</li><li>3 = character spacing only if necessary</li><li>4 = forced character spacing</li></ul>
param: boolean $ignore_min_height if true ignore automatic minimum height value.
param: string $calign cell vertical alignment relative to the specified Y value. Possible values are:<ul><li>T : cell top</li><li>A : font top</li><li>L : font baseline</li><li>D : font bottom</li><li>B : cell bottom</li></ul>
param: string $valign text vertical alignment inside the cell. Possible values are:<ul><li>T : top</li><li>C : center</li><li>B : bottom</li></ul>
param: boolean $rtloff if true uses the page top-left corner as origin of axis for $x and $y initial position.

AcceptPageBreak()   X-Ref
Whenever a page break condition is met, the method is called, and the break is issued or not depending on the returned value.
The default implementation returns a value according to the mode selected by SetAutoPageBreak().<br />
This method is called automatically and should not be called directly by the application.

return: boolean

checkPageBreak($h=0, $y='', $addpage=true)   X-Ref
Add page if needed.

param: float $h Cell height. Default value: 0.
param: mixed $y starting y position, leave empty for current position.
param: boolean $addpage if true add a page, otherwise only return the true/false state
return: boolean true in case of page break, false otherwise.

Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M')   X-Ref
Prints a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.<br />
If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.

param: float $w Cell width. If 0, the cell extends up to the right margin.
param: float $h Cell height. Default value: 0.
param: string $txt String to print. Default value: empty string.
param: mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: int $ln Indicates where the current position should go after the call. Possible values are:<ul><li>0: to the right (or left for RTL languages)</li><li>1: to the beginning of the next line</li><li>2: below</li></ul>
param: string $align Allows to center or align the text. Possible values are:<ul><li>L or empty string: left align (default value)</li><li>C: center</li><li>R: right align</li><li>J: justify</li></ul>
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: mixed $link URL or identifier returned by AddLink().
param: int $stretch stretch carachter mode: <ul><li>0 = disabled</li><li>1 = horizontal scaling only if necessary</li><li>2 = forced horizontal scaling</li><li>3 = character spacing only if necessary</li><li>4 = forced character spacing</li></ul>
param: boolean $ignore_min_height if true ignore automatic minimum height value.
param: string $calign cell vertical alignment relative to the specified Y value. Possible values are:<ul><li>T : cell top</li><li>C : center</li><li>B : cell bottom</li><li>A : font top</li><li>L : font baseline</li><li>D : font bottom</li></ul>
param: string $valign text vertical alignment inside the cell. Possible values are:<ul><li>T : top</li><li>C : center</li><li>B : bottom</li></ul>

removeSHY($txt='')   X-Ref
Removes SHY characters from text.

param: string $txt input string
return: string without SHY characters.

getCellCode($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=0, $link='', $stretch=0, $ignore_min_height=false, $calign='T', $valign='M')   X-Ref
Returns the PDF string code to print a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.<br />
If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.

param: float $w Cell width. If 0, the cell extends up to the right margin.
param: float $h Cell height. Default value: 0.
param: string $txt String to print. Default value: empty string.
param: mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: int $ln Indicates where the current position should go after the call. Possible values are:<ul><li>0: to the right (or left for RTL languages)</li><li>1: to the beginning of the next line</li><li>2: below</li></ul>Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0.
param: string $align Allows to center or align the text. Possible values are:<ul><li>L or empty string: left align (default value)</li><li>C: center</li><li>R: right align</li><li>J: justify</li></ul>
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: mixed $link URL or identifier returned by AddLink().
param: int $stretch stretch carachter mode: <ul><li>0 = disabled</li><li>1 = horizontal scaling only if necessary</li><li>2 = forced horizontal scaling</li><li>3 = character spacing only if necessary</li><li>4 = forced character spacing</li></ul>
param: boolean $ignore_min_height if true ignore automatic minimum height value.
param: string $calign cell vertical alignment relative to the specified Y value. Possible values are:<ul><li>T : cell top</li><li>C : center</li><li>B : cell bottom</li><li>A : font top</li><li>L : font baseline</li><li>D : font bottom</li></ul>
param: string $valign text vertical alignment inside the cell. Possible values are:<ul><li>T : top</li><li>C : center</li><li>B : bottom</li></ul>

MultiCell($w, $h, $txt, $border=0, $align='J', $fill=0, $ln=1, $x='', $y='', $reseth=true, $stretch=0, $ishtml=false, $autopadding=true, $maxh=0)   X-Ref
This method allows printing text with line breaks.
They can be automatic (as soon as the text reaches the right border of the cell) or explicit (via the \n character). As many cells as necessary are output, one below the other.<br />
Text can be aligned, centered or justified. The cell block can be framed and the background painted.

param: float $w Width of cells. If 0, they extend up to the right margin of the page.
param: float $h Cell minimum height. The cell extends automatically if needed.
param: string $txt String to print
param: mixed $border Indicates if borders must be drawn around the cell block. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: string $align Allows to center or align the text. Possible values are:<ul><li>L or empty string: left align</li><li>C: center</li><li>R: right align</li><li>J: justification (default value when $ishtml=false)</li></ul>
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: int $ln Indicates where the current position should go after the call. Possible values are:<ul><li>0: to the right</li><li>1: to the beginning of the next line [DEFAULT]</li><li>2: below</li></ul>
param: float $x x position in user units
param: float $y y position in user units
param: boolean $reseth if true reset the last cell height (default true).
param: int $stretch stretch carachter mode: <ul><li>0 = disabled</li><li>1 = horizontal scaling only if necessary</li><li>2 = forced horizontal scaling</li><li>3 = character spacing only if necessary</li><li>4 = forced character spacing</li></ul>
param: boolean $ishtml set to true if $txt is HTML content (default = false).
param: boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width.
param: float $maxh maximum height. It should be >= $h and less then remaining space to the bottom of the page, or 0 for disable this feature. This feature works only when $ishtml=false.
return: int Return the number of cells or 1 for html mode.

getBorderMode($border, $position='start')   X-Ref
Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages)

param: mixed $border Indicates if borders must be drawn around the cell block. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: string multicell position: 'start', 'middle', 'end'
return: border mode

getNumLines($txt, $w=0)   X-Ref
This method returns the estimated number of lines required to print the text (not the real number just a quick estimation).
If you want o know the exact number of lines you have to use the following technique:
<pre>
// store current object
$pdf->startTransaction();
// get the number of lines for multicell
$lines = $pdf->MultiCell($w, 0, $txt, 0, 'L', 0, 0, '', '', true, 0, false, true, 0);
// restore previous object
$pdf = $pdf->rollbackTransaction();
</pre>

param: string $txt text to print
param: float $w width of cell. If 0, they extend up to the right margin of the page.
return: int Return the estimated number of lines.

Write($h, $txt, $link='', $fill=0, $align='', $ln=false, $stretch=0, $firstline=false, $firstblock=false, $maxh=0)   X-Ref
This method prints text from the current position.<br />

param: float $h Line height
param: string $txt String to print
param: mixed $link URL or identifier returned by AddLink()
param: int $fill Indicates if the background must be painted (1) or transparent (0). Default value: 0.
param: string $align Allows to center or align the text. Possible values are:<ul><li>L or empty string: left align (default value)</li><li>C: center</li><li>R: right align</li><li>J: justify</li></ul>
param: boolean $ln if true set cursor at the bottom of the line, otherwise set cursor at the top of the line.
param: int $stretch stretch carachter mode: <ul><li>0 = disabled</li><li>1 = horizontal scaling only if necessary</li><li>2 = forced horizontal scaling</li><li>3 = character spacing only if necessary</li><li>4 = forced character spacing</li></ul>
param: boolean $firstline if true prints only the first line and return the remaining string.
param: boolean $firstblock if true the string is the starting of a line.
param: float $maxh maximum height. The remaining unprinted text will be returned. It should be >= $h and less then remaining space to the bottom of the page, or 0 for disable this feature.
return: mixed Return the number of cells or the remaining string if $firstline = true.

getRemainingWidth()   X-Ref
Returns the remaining width between the current position and margins.

return: int Return the remaining width

UTF8ArrSubString($strarr, $start='', $end='')   X-Ref
Extract a slice of the $strarr array and return it as string.

param: string $strarr The input array of characters.
param: int $start the starting element of $strarr.
param: int $end first element that will not be returned.
return: Return part of a string

UniArrSubString($uniarr, $start='', $end='')   X-Ref
Extract a slice of the $uniarr array and return it as string.

param: string $uniarr The input array of characters.
param: int $start the starting element of $strarr.
param: int $end first element that will not be returned.
return: Return part of a string

UTF8ArrayToUniArray($ta)   X-Ref
Convert an array of UTF8 values to array of unicode characters

param: string $ta The input array of UTF8 values.
return: Return array of unicode characters

unichr($c)   X-Ref
Returns the unicode caracter specified by UTF-8 value

author: Miguel Perez, Nicola Asuni
param: int $c UTF-8 value
return: Returns the specified character.

getImageFileType($imgfile, $iminfo=array()   X-Ref
Return the image type given the file name or array returned by getimagesize() function.

param: string $imgfile image file name
param: array $iminfo array of image information returned by getimagesize() function.
return: string image type

Image($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='', $ismask=false, $imgmask=false, $border=0, $fitbox=false, $hidden=false, $fitonpage=false)   X-Ref
Puts an image in the page.
The upper-left corner must be given.
The dimensions can be specified in different ways:<ul>
<li>explicit width and height (expressed in user unit)</li>
<li>one explicit dimension, the other being calculated automatically in order to keep the original proportions</li>
<li>no explicit dimension, in which case the image is put at 72 dpi</li></ul>
Supported formats are JPEG and PNG images whitout GD library and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;
The format can be specified explicitly or inferred from the file extension.<br />
It is possible to put a link on the image.<br />
Remark: if an image is used several times, only one copy will be embedded in the file.<br />

param: string $file Name of the file containing the image.
param: float $x Abscissa of the upper-left corner.
param: float $y Ordinate of the upper-left corner.
param: float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: string $type Image format. Possible values are (case insensitive): JPEG and PNG (whitout GD library) and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;. If not specified, the type is inferred from the file extension.
param: mixed $link URL or identifier returned by AddLink().
param: string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>
param: mixed $resize If true resize (reduce) the image to fit $w and $h (requires GD or ImageMagick library); if false do not resize; if 2 force resize in all cases (upscaling and downscaling).
param: int $dpi dot-per-inch resolution used on resize
param: string $palign Allows to center or align the image on the current line. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>
param: boolean $ismask true if this image is a mask, false otherwise
param: mixed $imgmask image object returned by this function or false
param: mixed $border Indicates if borders must be drawn around the image. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: boolean $fitbox If true scale image dimensions proportionally to fit within the ($w, $h) box.
param: boolean $hidden if true do not display the image.
param: boolean $fitonpage if true the image is resized to not exceed page dimensions.
return: image information

set_mqr($mqr)   X-Ref
Sets the current active configuration setting of magic_quotes_runtime (if the set_magic_quotes_runtime function exist)

param: boolean $mqr FALSE for off, TRUE for on.

get_mqr()   X-Ref
Gets the current active configuration setting of magic_quotes_runtime (if the get_magic_quotes_runtime function exist)

return: Returns 0 if magic quotes runtime is off or get_magic_quotes_runtime doesn't exist, 1 otherwise.

_toJPEG($image)   X-Ref
Convert the loaded image to a JPEG and then return a structure for the PDF creator.
This function requires GD library and write access to the directory defined on K_PATH_CACHE constant.

param: string $file Image file name.
param: image $image Image object.

_toPNG($image)   X-Ref
Convert the loaded image to a PNG and then return a structure for the PDF creator.
This function requires GD library and write access to the directory defined on K_PATH_CACHE constant.

param: string $file Image file name.
param: image $image Image object.

_setGDImageTransparency($new_image, $image)   X-Ref
Set the transparency for the given GD image.

param: image $new_image GD image object
param: image $image GD image object.

_parsejpeg($file)   X-Ref
Extract info from a JPEG file without using the GD library.

param: string $file image file to parse
return: array structure containing the image data

_parsepng($file)   X-Ref
Extract info from a PNG file without using the GD library.

param: string $file image file to parse
return: array structure containing the image data

rfread($handle, $length)   X-Ref
Binary-safe and URL-safe file read.
Reads up to length  bytes from the file pointer referenced by handle. Reading stops as soon as one of the following conditions is met: length bytes have been read; EOF (end of file) is reached.

author: Nicola Asuni
param: resource $handle
param: int $length
return: Returns the read string or FALSE in case of error.

ImagePngAlpha($file, $x='', $y='', $w=0, $h=0, $type='', $link='', $align='', $resize=false, $dpi=300, $palign='')   X-Ref
Extract info from a PNG image with alpha channel using the GD library.

author: Valentin Schmidt, Nicola Asuni
param: string $file Name of the file containing the image.
param: float $x Abscissa of the upper-left corner.
param: float $y Ordinate of the upper-left corner.
param: float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: string $type Image format. Possible values are (case insensitive): JPEG and PNG (whitout GD library) and all images supported by GD: GD, GD2, GD2PART, GIF, JPEG, PNG, BMP, XBM, XPM;. If not specified, the type is inferred from the file extension.
param: mixed $link URL or identifier returned by AddLink().
param: string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>
param: boolean $resize If true resize (reduce) the image to fit $w and $h (requires GD library).
param: int $dpi dot-per-inch resolution used on resize
param: string $palign Allows to center or align the image on the current line. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>

getGDgamma($v)   X-Ref
Correct the gamma value to be used with GD library

param: float $v the gamma value to be corrected

Ln($h='', $cell=false)   X-Ref
Performs a line break.
The current abscissa goes back to the left margin and the ordinate increases by the amount passed in parameter.

param: float $h The height of the break. By default, the value equals the height of the last printed cell.
param: boolean $cell if true add a cMargin to the x coordinate

GetX()   X-Ref
Returns the relative X value of current position.
The value is relative to the left border for LTR languages and to the right border for RTL languages.

return: float

GetAbsX()   X-Ref
Returns the absolute X value of current position.

return: float

GetY()   X-Ref
Returns the ordinate of the current position.

return: float

SetX($x, $rtloff=false)   X-Ref
Defines the abscissa of the current position.
If the passed value is negative, it is relative to the right of the page (or left if language is RTL).

param: float $x The value of the abscissa.
param: boolean $rtloff if true always uses the page top-left corner as origin of axis.

SetY($y, $resetx=true, $rtloff=false)   X-Ref
Moves the current abscissa back to the left margin and sets the ordinate.
If the passed value is negative, it is relative to the bottom of the page.

param: float $y The value of the ordinate.
param: bool $resetx if true (default) reset the X position.
param: boolean $rtloff if true always uses the page top-left corner as origin of axis.

SetXY($x, $y, $rtloff=false)   X-Ref
Defines the abscissa and ordinate of the current position.
If the passed values are negative, they are relative respectively to the right and bottom of the page.

param: float $x The value of the abscissa.
param: float $y The value of the ordinate.
param: boolean $rtloff if true always uses the page top-left corner as origin of axis.

Output($name='doc.pdf', $dest='I')   X-Ref
Send the document to a given destination: string, local file or browser.
In the last case, the plug-in may be used (if present) or a download ("Save as" dialog box) may be forced.<br />
The method first calls Close() if necessary to terminate the document.

param: string $name The name of the file when saved. Note that special characters are removed and blanks characters are replaced with the underscore character.
param: string $dest Destination where to send the document. It can take one of the following values:<ul><li>I: send the file inline to the browser (default). The plug-in is used if available. The name given by name is used when one selects the "Save as" option on the link generating the PDF.</li><li>D: send to the browser and force a file download with the name given by name.</li><li>F: save to a local server file with the name given by name.</li><li>S: return the document as a string. name is ignored.</li><li>FI: equivalent to F + I option</li><li>FD: equivalent to F + D option</li></ul>

_destroy($destroyall=false, $preserve_objcopy=false)   X-Ref
Unset all class variables except the following critical variables: internal_encoding, state, bufferlen, buffer and diskcache.

param: boolean $destroyall if true destroys all class variables, otherwise preserves critical variables.
param: boolean $preserve_objcopy if true preserves the objcopy variable

_dochecks()   X-Ref
Check for locale-related bug


_getfontpath()   X-Ref
Return fonts path

return: string

_putpages()   X-Ref
Output pages.


_putannotsrefs($n)   X-Ref
Output references to page annotations

author: Nicola Asuni
param: int $n page number

_putannotsobjs()   X-Ref
Output annotations objects for all pages.
!!! THIS METHOD IS NOT YET COMPLETED !!!
See section 12.5 of PDF 32000_2008 reference.

author: Nicola Asuni

_putAPXObject($w=0, $h=0, $stream='')   X-Ref
Put appearance streams XObject used to define annotation's appearance states

param: int $w annotation width
param: int $h annotation height
param: string $stream appearance stream
return: int object ID

_putfonts()   X-Ref
Output fonts.


_putfontwidths($font, $cidoffset=0)   X-Ref
Outputs font widths

author: Nicola Asuni
return: PDF command string for font widths

_puttruetypeunicode($font)   X-Ref
Adds unicode fonts.<br>
Based on PDF Reference 1.3 (section 5)

author: Nicola Asuni
return: int font object ID

_putcidfont0($font)   X-Ref
Output CID-0 fonts.
A Type 0 CIDFont contains glyph descriptions based on the Adobe Type 1 font format

author: Andrew Whitehead, Nicola Asuni, Yukihiro Nakadaira
param: array $font font data
return: int font object ID

_putimages()   X-Ref
Output images.


_putspotcolors()   X-Ref
Output Spot Colors Resources.


_putresourcedict()   X-Ref
Output Resources Dictionary.


_putresources()   X-Ref
Output Resources.


_putinfo()   X-Ref
Adds some Metadata information (Document Information Dictionary)
(see Chapter 14.3.3 Document Information Dictionary of PDF32000_2008.pdf Reference)


_putcatalog()   X-Ref
Output Catalog.


_putviewerpreferences()   X-Ref
Output viewer preferences.

author: Nicola asuni
return: string for viewer preferences

_puttrailer()   X-Ref
Output trailer.


_putheader()   X-Ref
Output PDF header.


_enddoc()   X-Ref
Output end of document (EOF).


_beginpage($orientation='', $format='')   X-Ref
Initialize a new page.

param: string $orientation page orientation. Possible values are (case insensitive):<ul><li>P or PORTRAIT (default)</li><li>L or LANDSCAPE</li></ul>
param: 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).<ul><li>4A0</li><li>2A0</li><li>A0</li><li>A1</li><li>A2</li><li>A3</li><li>A4 (default)</li><li>A5</li><li>A6</li><li>A7</li><li>A8</li><li>A9</li><li>A10</li><li>B0</li><li>B1</li><li>B2</li><li>B3</li><li>B4</li><li>B5</li><li>B6</li><li>B7</li><li>B8</li><li>B9</li><li>B10</li><li>C0</li><li>C1</li><li>C2</li><li>C3</li><li>C4</li><li>C5</li><li>C6</li><li>C7</li><li>C8</li><li>C9</li><li>C10</li><li>RA0</li><li>RA1</li><li>RA2</li><li>RA3</li><li>RA4</li><li>SRA0</li><li>SRA1</li><li>SRA2</li><li>SRA3</li><li>SRA4</li><li>LETTER</li><li>LEGAL</li><li>EXECUTIVE</li><li>FOLIO</li></ul>

_endpage()   X-Ref
Mark end of page.


_newobj()   X-Ref
Begin a new object and return the object number.

return: int object number

_dounderline($x, $y, $txt)   X-Ref
Underline text.

param: int $x X coordinate
param: int $y Y coordinate
param: string $txt text to underline

_dounderlinew($x, $y, $w)   X-Ref
Underline for rectangular text area.

param: int $x X coordinate
param: int $y Y coordinate
param: int $w width to underline

_dolinethrough($x, $y, $txt)   X-Ref
Line through text.

param: int $x X coordinate
param: int $y Y coordinate
param: string $txt text to linethrough

_dolinethroughw($x, $y, $w)   X-Ref
Line through for rectangular text area.

param: int $x X coordinate
param: int $y Y coordinate
param: string $txt text to linethrough

_dooverline($x, $y, $txt)   X-Ref
Overline text.

param: int $x X coordinate
param: int $y Y coordinate
param: string $txt text to overline

_dooverlinew($x, $y, $w)   X-Ref
Overline for rectangular text area.

param: int $x X coordinate
param: int $y Y coordinate
param: int $w width to overline

_freadint($f)   X-Ref
Read a 4-byte integer from file.

param: string $f file name.
return: 4-byte integer

_escape($s)   X-Ref
Add "\" before "\", "(" and ")"

param: string $s string to escape.
return: string escaped string.

_datastring($s)   X-Ref
Format a data string for meta information

param: string $s data string to escape.
return: string escaped string.

_dataannobjstring($s)   X-Ref
Format a data string for annotation objects

param: string $s data string to escape.
return: string escaped string.

_datestring()   X-Ref
Returns a formatted date for meta information

return: string escaped date string.

_textstring($s)   X-Ref
Format a text string for meta information

param: string $s string to escape.
return: string escaped string.

_textannobjstring($s)   X-Ref
Format a UTF-8 text string for meta information on annotations

param: string $s string to escape.
return: string escaped string.

_escapetext($s)   X-Ref
Format a text string

param: string $s string to escape.
return: string escaped string.

_getstream($s, $n=0)   X-Ref
Format output stream.

param: string $s string to output.
param: int $n object reference for encryption mode

_putstream($s, $n=0)   X-Ref
Output a stream.

param: string $s string to output.
param: int $n object reference for encryption mode

_out($s)   X-Ref
Output a string to the document.

param: string $s string to output.

UTF8StringToArray($str)   X-Ref
Converts UTF-8 strings to codepoints array.<br>
Invalid byte sequences will be replaced with 0xFFFD (replacement character)<br>
Based on: http://www.faqs.org/rfcs/rfc3629.html
<pre>
Char. number range  |        UTF-8 octet sequence
(hexadecimal)    |              (binary)
--------------------+-----------------------------------------------
0000 0000-0000 007F | 0xxxxxxx
0000 0080-0000 07FF | 110xxxxx 10xxxxxx
0000 0800-0000 FFFF | 1110xxxx 10xxxxxx 10xxxxxx
0001 0000-0010 FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
---------------------------------------------------------------------

ABFN notation:
---------------------------------------------------------------------
UTF8-octets = *( UTF8-char )
UTF8-char   = UTF8-1 / UTF8-2 / UTF8-3 / UTF8-4
UTF8-1      = %x00-7F
UTF8-2      = %xC2-DF UTF8-tail

UTF8-3      = %xE0 %xA0-BF UTF8-tail / %xE1-EC 2( UTF8-tail ) /
%xED %x80-9F UTF8-tail / %xEE-EF 2( UTF8-tail )
UTF8-4      = %xF0 %x90-BF 2( UTF8-tail ) / %xF1-F3 3( UTF8-tail ) /
%xF4 %x80-8F 2( UTF8-tail )
UTF8-tail   = %x80-BF
---------------------------------------------------------------------
</pre>
author: Nicola Asuni
param: string $str string to process.
return: array containing codepoints (UTF-8 characters values)

UTF8ToUTF16BE($str, $setbom=true)   X-Ref
Converts UTF-8 strings to UTF16-BE.<br>

author: Nicola Asuni
param: string $str string to process.
param: boolean $setbom if true set the Byte Order Mark (BOM = 0xFEFF)
return: string

UTF8ToLatin1($str)   X-Ref
Converts UTF-8 strings to Latin1 when using the standard 14 core fonts.<br>

author: Andrew Whitehead, Nicola Asuni
param: string $str string to process.
return: string

UTF8ArrToLatin1($unicode)   X-Ref
Converts UTF-8 characters array to array of Latin1 characters<br>

author: Nicola Asuni
param: array $unicode array containing UTF-8 unicode values
return: array

arrUTF8ToUTF16BE($unicode, $setbom=true)   X-Ref
Converts array of UTF-8 characters to UTF16-BE string.<br>
Based on: http://www.faqs.org/rfcs/rfc2781.html
<pre>
Encoding UTF-16:

Encoding of a single character from an ISO 10646 character value to
UTF-16 proceeds as follows. Let U be the character number, no greater
than 0x10FFFF.

1) If U < 0x10000, encode U as a 16-bit unsigned integer and
terminate.

2) Let U' = U - 0x10000. Because U is less than or equal to 0x10FFFF,
U' must be less than or equal to 0xFFFFF. That is, U' can be
represented in 20 bits.

3) Initialize two 16-bit unsigned integers, W1 and W2, to 0xD800 and
0xDC00, respectively. These integers each have 10 bits free to
encode the character value, for a total of 20 bits.

4) Assign the 10 high-order bits of the 20-bit U' to the 10 low-order
bits of W1 and the 10 low-order bits of U' to the 10 low-order
bits of W2. Terminate.

Graphically, steps 2 through 4 look like:
U' = yyyyyyyyyyxxxxxxxxxx
W1 = 110110yyyyyyyyyy
W2 = 110111xxxxxxxxxx
</pre>
author: Nicola Asuni
param: array $unicode array containing UTF-8 unicode values
param: boolean $setbom if true set the Byte Order Mark (BOM = 0xFEFF)
return: string

setHeaderFont($font)   X-Ref
Set header font.

param: array $font font

getHeaderFont()   X-Ref
Get header font.

return: array()

setFooterFont($font)   X-Ref
Set footer font.

param: array $font font

getFooterFont()   X-Ref
Get Footer font.

return: array()

setLanguageArray($language)   X-Ref
Set language array.

param: array $language

getPDFData()   X-Ref
Returns the PDF data.


addHtmlLink($url, $name, $fill=0, $firstline=false, $color='', $style=-1, $firstblock=false)   X-Ref
Output anchor link.

param: string $url link URL or internal link (i.e.: &lt;a href="#23"&gt;link to page 23&lt;/a&gt;)
param: string $name link name
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: boolean $firstline if true prints only the first line and return the remaining string.
param: array $color array of RGB text color
param: string $style font style (U, D, B, I)
param: boolean $firstblock if true the string is the starting of a line.
return: the number of cells used or the remaining text if $firstline = true;

convertHTMLColorToDec($color=')   X-Ref
Returns an associative array (keys: R,G,B) from an html color name or a six-digit or three-digit hexadecimal color representation (i.e. #3FE5AA or #7FF).

param: string $color html color
return: array RGB color or false in case of error.

pixelsToUnits($px)   X-Ref
Converts pixels to User's Units.

param: int $px pixels
return: float value in user's unit

unhtmlentities($text_to_convert)   X-Ref
Reverse function for htmlentities.
Convert entities in UTF-8.

param: $text_to_convert Text to convert.
return: string converted

_objectkey($n)   X-Ref
Compute encryption key depending on object number where the encrypted data is stored

param: int $n object number

_putencryption()   X-Ref
Put encryption on PDF document.


_RC4($key, $text)   X-Ref
Returns the input text exrypted using RC4 algorithm and the specified key.
RC4 is the standard encryption algorithm used in PDF format

author: Klemen Vodopivec
param: string $key encryption key
param: String $text input text to be encrypted
return: String encrypted text

_md5_16($str)   X-Ref
Encrypts a string using MD5 and returns it's value as a binary string.

author: Klemen Vodopivec
param: string $str input string
return: String MD5 encrypted binary string

_Ovalue($user_pass, $owner_pass)   X-Ref
Compute O value (used for RC4 encryption)

author: Klemen Vodopivec
param: String $user_pass user password
param: String $owner_pass user password
return: String O value

_Uvalue()   X-Ref
Compute U value (used for RC4 encryption)

author: Klemen Vodopivec
return: String U value

_generateencryptionkey($user_pass, $owner_pass, $protection)   X-Ref
Compute encryption key

author: Klemen Vodopivec
param: String $user_pass user password
param: String $owner_pass user password
param: String $protection protection type

SetProtection($permissions=array()   X-Ref
Set document protection
The permission array is composed of values taken from the following ones:
- copy: copy text and images to the clipboard
- print: print the document
- modify: modify it (except for annotations and forms)
- annot-forms: add annotations and forms
Remark: the protection against modification is for people who have the full Acrobat product.
If you don't set any password, the document will open as usual. If you set a user password, the PDF viewer will ask for it before displaying the document. The master password, if different from the user one, can be used to get full access.
Note: protecting a document requires to encrypt it, which increases the processing time a lot. This can cause a PHP time-out in some cases, especially if the document contains images or fonts.

author: Klemen Vodopivec
param: Array $permissions the set of permissions. Empty by default (only viewing is allowed). (print, modify, copy, annot-forms)
param: String $user_pass user password. Empty by default.
param: String $owner_pass owner password. If not specified, a random value is used.

StartTransform()   X-Ref
Starts a 2D tranformation saving current graphic state.
This function must be called before scaling, mirroring, translation, rotation and skewing.
Use StartTransform() before, and StopTransform() after the transformations to restore the normal behavior.


StopTransform()   X-Ref
Stops a 2D tranformation restoring previous graphic state.
This function must be called after scaling, mirroring, translation, rotation and skewing.
Use StartTransform() before, and StopTransform() after the transformations to restore the normal behavior.


ScaleX($s_x, $x='', $y='')   X-Ref
Horizontal Scaling.

param: float $s_x scaling factor for width as percent. 0 is not allowed.
param: int $x abscissa of the scaling center. Default is current x position
param: int $y ordinate of the scaling center. Default is current y position

ScaleY($s_y, $x='', $y='')   X-Ref
Vertical Scaling.

param: float $s_y scaling factor for height as percent. 0 is not allowed.
param: int $x abscissa of the scaling center. Default is current x position
param: int $y ordinate of the scaling center. Default is current y position

ScaleXY($s, $x='', $y='')   X-Ref
Vertical and horizontal proportional Scaling.

param: float $s scaling factor for width and height as percent. 0 is not allowed.
param: int $x abscissa of the scaling center. Default is current x position
param: int $y ordinate of the scaling center. Default is current y position

Scale($s_x, $s_y, $x='', $y='')   X-Ref
Vertical and horizontal non-proportional Scaling.

param: float $s_x scaling factor for width as percent. 0 is not allowed.
param: float $s_y scaling factor for height as percent. 0 is not allowed.
param: int $x abscissa of the scaling center. Default is current x position
param: int $y ordinate of the scaling center. Default is current y position

MirrorH($x='')   X-Ref
Horizontal Mirroring.

param: int $x abscissa of the point. Default is current x position

MirrorV($y='')   X-Ref
Verical Mirroring.

param: int $y ordinate of the point. Default is current y position

MirrorP($x='',$y='')   X-Ref
Point reflection mirroring.

param: int $x abscissa of the point. Default is current x position
param: int $y ordinate of the point. Default is current y position

MirrorL($angle=0, $x='',$y='')   X-Ref
Reflection against a straight line through point (x, y) with the gradient angle (angle).

param: float $angle gradient angle of the straight line. Default is 0 (horizontal line).
param: int $x abscissa of the point. Default is current x position
param: int $y ordinate of the point. Default is current y position

TranslateX($t_x)   X-Ref
Translate graphic object horizontally.

param: int $t_x movement to the right (or left for RTL)

TranslateY($t_y)   X-Ref
Translate graphic object vertically.

param: int $t_y movement to the bottom

Translate($t_x, $t_y)   X-Ref
Translate graphic object horizontally and vertically.

param: int $t_x movement to the right
param: int $t_y movement to the bottom

Rotate($angle, $x='', $y='')   X-Ref
Rotate object.

param: float $angle angle in degrees for counter-clockwise rotation
param: int $x abscissa of the rotation center. Default is current x position
param: int $y ordinate of the rotation center. Default is current y position

SkewX($angle_x, $x='', $y='')   X-Ref
Skew horizontally.

param: float $angle_x angle in degrees between -90 (skew to the left) and 90 (skew to the right)
param: int $x abscissa of the skewing center. default is current x position
param: int $y ordinate of the skewing center. default is current y position

SkewY($angle_y, $x='', $y='')   X-Ref
Skew vertically.

param: float $angle_y angle in degrees between -90 (skew to the bottom) and 90 (skew to the top)
param: int $x abscissa of the skewing center. default is current x position
param: int $y ordinate of the skewing center. default is current y position

Skew($angle_x, $angle_y, $x='', $y='')   X-Ref
Skew.

param: float $angle_x angle in degrees between -90 (skew to the left) and 90 (skew to the right)
param: float $angle_y angle in degrees between -90 (skew to the bottom) and 90 (skew to the top)
param: int $x abscissa of the skewing center. default is current x position
param: int $y ordinate of the skewing center. default is current y position

Transform($tm)   X-Ref
Apply graphic transformations.

param: array $tm transformation matrix

SetLineWidth($width)   X-Ref
Defines the line width. By default, the value equals 0.2 mm. The method can be called before the first page is created and the value is retained from page to page.

param: float $width The width.

GetLineWidth()   X-Ref
Returns the current the line width.

return: int Line width

SetLineStyle($style)   X-Ref
Set line style.

param: array $style Line style. Array with keys among the following:

_outPoint($x, $y)   X-Ref
Begin a new subpath by moving the current point to coordinates (x, y), omitting any connecting line segment.

param: float $x Abscissa of point.
param: float $y Ordinate of point.

_outLine($x, $y)   X-Ref
Append a straight line segment from the current point to the point (x, y).
The new current point shall be (x, y).

param: float $x Abscissa of end point.
param: float $y Ordinate of end point.

_outRect($x, $y, $w, $h, $op)   X-Ref
Append a rectangle to the current path as a complete subpath, with lower-left corner (x, y) and dimensions widthand height in user space.

param: float $x Abscissa of upper-left corner (or upper-right corner for RTL language).
param: float $y Ordinate of upper-left corner (or upper-right corner for RTL language).
param: float $w Width.
param: float $h Height.
param: string $op options

_outCurve($x1, $y1, $x2, $y2, $x3, $y3)   X-Ref
Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x2, y2) as the Bézier control points.
The new current point shall be (x3, y3).

param: float $x1 Abscissa of control point 1.
param: float $y1 Ordinate of control point 1.
param: float $x2 Abscissa of control point 2.
param: float $y2 Ordinate of control point 2.
param: float $x3 Abscissa of end point.
param: float $y3 Ordinate of end point.

_outCurveV($x2, $y2, $x3, $y3)   X-Ref
Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using the current point and (x2, y2) as the Bézier control points.
The new current point shall be (x3, y3).

param: float $x2 Abscissa of control point 2.
param: float $y2 Ordinate of control point 2.
param: float $x3 Abscissa of end point.
param: float $y3 Ordinate of end point.

_outCurveY($x1, $y1, $x3, $y3)   X-Ref
Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point (x3, y3), using (x1, y1) and (x3, y3) as the Bézier control points.
The new current point shall be (x3, y3).

param: float $x1 Abscissa of control point 1.
param: float $y1 Ordinate of control point 1.
param: float $x2 Abscissa of control point 2.
param: float $y2 Ordinate of control point 2.
param: float $x3 Abscissa of end point.
param: float $y3 Ordinate of end point.

Line($x1, $y1, $x2, $y2, $style=array()   X-Ref
Draws a line between two points.

param: float $x1 Abscissa of first point.
param: float $y1 Ordinate of first point.
param: float $x2 Abscissa of second point.
param: float $y2 Ordinate of second point.
param: array $style Line style. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).

Rect($x, $y, $w, $h, $style='', $border_style=array()   X-Ref
Draws a rectangle.

param: float $x Abscissa of upper-left corner (or upper-right corner for RTL language).
param: float $y Ordinate of upper-left corner (or upper-right corner for RTL language).
param: float $w Width.
param: float $h Height.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $border_style Border style of rectangle. Array with keys among the following:
param: array $border_style Border style of rectangle. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).

Curve($x0, $y0, $x1, $y1, $x2, $y2, $x3, $y3, $style='', $line_style=array()   X-Ref
Draws a Bezier curve.
The Bezier curve is a tangent to the line between the control points at
either end of the curve.

param: float $x0 Abscissa of start point.
param: float $y0 Ordinate of start point.
param: float $x1 Abscissa of control point 1.
param: float $y1 Ordinate of control point 1.
param: float $x2 Abscissa of control point 2.
param: float $y2 Ordinate of control point 2.
param: float $x3 Abscissa of end point.
param: float $y3 Ordinate of end point.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of curve. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).

Polycurve($x0, $y0, $segments, $style='', $line_style=array()   X-Ref
Draws a poly-Bezier curve.
Each Bezier curve segment is a tangent to the line between the control points at
either end of the curve.

param: float $x0 Abscissa of start point.
param: float $y0 Ordinate of start point.
param: float $segments An array of bezier descriptions. Format: array(x1, y1, x2, y2, x3, y3).
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of curve. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).

Ellipse($x0, $y0, $rx, $ry='', $angle=0, $astart=0, $afinish=360, $style='', $line_style=array()   X-Ref
Draws an ellipse.
An ellipse is formed from n Bezier curves.

author: Nicola Asuni
param: float $x0 Abscissa of center point.
param: float $y0 Ordinate of center point.
param: float $rx Horizontal radius.
param: float $ry Vertical radius (if ry = 0 then is a circle, see {@link Circle Circle}). Default value: 0.
param: float $angle: Angle oriented (anti-clockwise). Default value: 0.
param: float $astart: Angle start of draw line. Default value: 0.
param: float $afinish: Angle finish of draw line. Default value: 360.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of ellipse. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).
param: integer $nc Number of curves used to draw a 90 degrees portion of ellipse.

_outellipticalarc($xc, $yc, $rx, $ry, $xang=0, $angs=0, $angf=360, $pie=false, $nc=2)   X-Ref
Append an elliptical arc to the current path.
An ellipse is formed from n Bezier curves.

author: Nicola Asuni
param: float $xc Abscissa of center point.
param: float $yc Ordinate of center point.
param: float $rx Horizontal radius.
param: float $ry Vertical radius (if ry = 0 then is a circle, see {@link Circle Circle}). Default value: 0.
param: float $xang: Angle between the X-axis and the major axis of the ellipse. Default value: 0.
param: float $angs: Angle start of draw line. Default value: 0.
param: float $angf: Angle finish of draw line. Default value: 360.
param: boolean $pie if true do not mark the border point (used to draw pie sectors).
param: integer $nc Number of curves used to draw a 90 degrees portion of ellipse.

Circle($x0, $y0, $r, $angstr=0, $angend=360, $style='', $line_style=array()   X-Ref
Draws a circle.
A circle is formed from n Bezier curves.

param: float $x0 Abscissa of center point.
param: float $y0 Ordinate of center point.
param: float $r Radius.
param: float $angstr: Angle start of draw line. Default value: 0.
param: float $angend: Angle finish of draw line. Default value: 360.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of circle. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array).
param: integer $nc Number of curves used to draw a 90 degrees portion of circle.

PolyLine($p, $style='', $line_style=array()   X-Ref
Draws a polygonal line

param: array $p Points 0 to ($np - 1). Array with values (x0, y0, x1, y1,..., x(np-1), y(np - 1))
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of polygon. Array with keys among the following:
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).
param: boolean $closed if true the polygon is closes, otherwise will remain open

Polygon($p, $style='', $line_style=array()   X-Ref
Draws a polygon.

param: array $p Points 0 to ($np - 1). Array with values (x0, y0, x1, y1,..., x(np-1), y(np - 1))
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of polygon. Array with keys among the following:
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).
param: boolean $closed if true the polygon is closes, otherwise will remain open

RegularPolygon($x0, $y0, $r, $ns, $angle=0, $draw_circle=false, $style='', $line_style=array()   X-Ref
Draws a regular polygon.

param: float $x0 Abscissa of center point.
param: float $y0 Ordinate of center point.
param: float $r: Radius of inscribed circle.
param: integer $ns Number of sides.
param: float $angle Angle oriented (anti-clockwise). Default value: 0.
param: boolean $draw_circle Draw inscribed circle or not. Default value: false.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of polygon sides. Array with keys among the following:
param: array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array).
param: string $circle_style Style of rendering of inscribed circle (if draws). Possible values are:
param: array $circle_outLine_style Line style of inscribed circle (if draws). Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $circle_fill_color Fill color of inscribed circle (if draws). Format: array(red, green, blue). Default value: default color (empty array).

StarPolygon($x0, $y0, $r, $nv, $ng, $angle=0, $draw_circle=false, $style='', $line_style=array()   X-Ref
Draws a star polygon

param: float $x0 Abscissa of center point.
param: float $y0 Ordinate of center point.
param: float $r Radius of inscribed circle.
param: integer $nv Number of vertices.
param: integer $ng Number of gap (if ($ng % $nv = 1) then is a regular polygon).
param: float $angle: Angle oriented (anti-clockwise). Default value: 0.
param: boolean $draw_circle: Draw inscribed circle or not. Default value is false.
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $line_style Line style of polygon sides. Array with keys among the following:
param: array $fill_color Fill color. Format: array(red, green, blue). Default value: default color (empty array).
param: string $circle_style Style of rendering of inscribed circle (if draws). Possible values are:
param: array $circle_outLine_style Line style of inscribed circle (if draws). Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $circle_fill_color Fill color of inscribed circle (if draws). Format: array(red, green, blue). Default value: default color (empty array).

RoundedRect($x, $y, $w, $h, $r, $round_corner='1111', $style='', $border_style=array()   X-Ref
Draws a rounded rectangle.

param: float $x Abscissa of upper-left corner.
param: float $y Ordinate of upper-left corner.
param: float $w Width.
param: float $h Height.
param: float $r the radius of the circle used to round off the corners of the rectangle.
param: string $round_corner Draws rounded corner or not. String with a 0 (not rounded i-corner) or 1 (rounded i-corner) in i-position. Positions are, in order and begin to 0: top left, top right, bottom right and bottom left. Default value: all rounded corner ("1111").
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $border_style Border style of rectangle. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).

RoundedRectXY($x, $y, $w, $h, $rx, $ry, $round_corner='1111', $style='', $border_style=array()   X-Ref
Draws a rounded rectangle.

param: float $x Abscissa of upper-left corner.
param: float $y Ordinate of upper-left corner.
param: float $w Width.
param: float $h Height.
param: float $rx the x-axis radius of the ellipse used to round off the corners of the rectangle.
param: float $ry the y-axis radius of the ellipse used to round off the corners of the rectangle.
param: string $round_corner Draws rounded corner or not. String with a 0 (not rounded i-corner) or 1 (rounded i-corner) in i-position. Positions are, in order and begin to 0: top left, top right, bottom right and bottom left. Default value: all rounded corner ("1111").
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: array $border_style Border style of rectangle. Array like for {@link SetLineStyle SetLineStyle}. Default value: default line style (empty array).
param: array $fill_color Fill color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K). Default value: default color (empty array).

Arrow($x0, $y0, $x1, $y1, $head_style=0, $arm_size=5, $arm_angle=15)   X-Ref
Draws a grahic arrow.

author: Piotr Galecki, Nicola Asuni, Andy Meier

utf8StrRev($str, $setbom=false, $forcertl=false)   X-Ref
Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).

author: Nicola Asuni
param: string $str string to manipulate.
param: bool $setbom  if true set the Byte Order Mark (BOM = 0xFEFF)
param: bool $forcertl if true forces RTL text direction
return: string

utf8StrArrRev($arr, $str='', $setbom=false, $forcertl=false)   X-Ref
Reverse the RLT substrings array using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).

author: Nicola Asuni
param: array $arr array of unicode values.
param: string $str string to manipulate (or empty value).
param: bool $setbom  if true set the Byte Order Mark (BOM = 0xFEFF)
param: bool $forcertl if true forces RTL text direction
return: string

utf8Bidi($ta, $str='', $forcertl=false)   X-Ref
Reverse the RLT substrings using the Bidirectional Algorithm (http://unicode.org/reports/tr9/).

author: Nicola Asuni
param: array $ta array of characters composing the string.
param: string $str string to process
param: bool $forcertl if 'R' forces RTL, if 'L' forces LTR
return: array of unicode chars

Bookmark($txt, $level=0, $y=-1, $page='')   X-Ref
Adds a bookmark.

author: Olivier Plathey, Nicola Asuni
param: string $txt bookmark description.
param: int $level bookmark level (minimum value is 0).
param: float $y Ordinate of the boorkmark position (default = -1 = current position).
param: int $page target page number (leave empty for current page).

_putbookmarks()   X-Ref
Create a bookmark PDF string.

author: Olivier Plathey, Nicola Asuni

IncludeJS($script)   X-Ref
Adds a javascript

author: Johannes Güntert, Nicola Asuni
param: string $script Javascript code

addJavascriptObject($script, $onload=false)   X-Ref
Adds a javascript object and return object ID

author: Nicola Asuni
param: string $script Javascript code
param: boolean $onload if true executes this object when opening the document
return: int internal object ID

_putjavascript()   X-Ref
Create a javascript PDF string.

author: Johannes Güntert, Nicola Asuni

_JScolor($color)   X-Ref
Convert color to javascript color.

author: Denis Van Nuffelen, Nicola Asuni
param: string $color color name or #RRGGBB

_addfield($type, $name, $x, $y, $w, $h, $prop)   X-Ref
Adds a javascript form field.

author: Denis Van Nuffelen, Nicola Asuni
param: string $type field type
param: string $name field name
param: int $x horizontal position
param: int $y vertical position
param: int $w width
param: int $h height
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.

getAnnotOptFromJSProp($prop)   X-Ref
Convert JavaScript form fields properties array to Annotation Properties array.

author: Nicola Asuni
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
return: array of annotation properties

setFormDefaultProp($prop=array()   X-Ref
Set default properties for form fields.

author: Nicola Asuni
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.

getFormDefaultProp()   X-Ref
Return the default properties for form fields.

author: Nicola Asuni
return: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.

TextField($name, $w, $h, $prop=array()   X-Ref
Creates a text field

author: Nicola Asuni
param: string $name field name
param: float $w Width of the rectangle
param: float $h Height of the rectangle
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

RadioButton($name, $w, $prop=array()   X-Ref
Creates a RadioButton field

author: Nicola Asuni
param: string $name field name
param: int $w width
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: string $onvalue value to be returned if selected.
param: boolean $checked define the initial state.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

ListBox($name, $w, $h, $values, $prop=array()   X-Ref
Creates a List-box field

author: Nicola Asuni
param: string $name field name
param: int $w width
param: int $h height
param: array $values array containing the list of values.
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

ComboBox($name, $w, $h, $values, $prop=array()   X-Ref
Creates a Combo-box field

author: Nicola Asuni
param: string $name field name
param: int $w width
param: int $h height
param: array $values array containing the list of values.
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

CheckBox($name, $w, $checked=false, $prop=array()   X-Ref
Creates a CheckBox field

author: Nicola Asuni
param: string $name field name
param: int $w width
param: boolean $checked define the initial state.
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: string $onvalue value to be returned if selected.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

Button($name, $w, $h, $caption, $action, $prop=array()   X-Ref
Creates a button field

author: Nicola Asuni
param: string $name field name
param: int $w width
param: int $h height
param: string $caption caption.
param: mixed $action action triggered by pressing the button. Use a string to specify a javascript action. Use an array to specify a form action options as on section 12.7.5 of PDF32000_2008.
param: array $prop javascript field properties. Possible values are described on official Javascript for Acrobat API reference.
param: array $opt annotation parameters. Possible values are described on official PDF32000_2008 reference.
param: float $x Abscissa of the upper-left corner of the rectangle
param: float $y Ordinate of the upper-left corner of the rectangle
param: boolean $js if true put the field using JavaScript (requires Acrobat Writer to be rendered).

_putsignature()   X-Ref
Add certification signature (DocMDP or UR3)
You can set only one signature type

author: Nicola Asuni

setUserRights($enable=true,$document='/FullSave',$annots='/Create/Delete/Modify/Copy/Import/Export',$form='/Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate',$signature='/Modify')   X-Ref
Set User's Rights for PDF Reader
WARNING: This works only using the Adobe private key with the setSignature() method!.
Check the PDF Reference 8.7.1 Transform Methods,
Table 8.105 Entries in the UR transform parameters dictionary

author: Nicola Asuni
param: boolean $enable if true enable user's rights on PDF reader
param: string $document Names specifying additional document-wide usage rights for the document. The only defined value is "/FullSave", which permits a user to save the document along with modified form and/or annotation data.
param: string $annots Names specifying additional annotation-related usage rights for the document. Valid names in PDF 1.5 and later are /Create/Delete/Modify/Copy/Import/Export, which permit the user to perform the named operation on annotations.
param: string $form Names specifying additional form-field-related usage rights for the document. Valid names are: /Add/Delete/FillIn/Import/Export/SubmitStandalone/SpawnTemplate
param: string $signature Names specifying additional signature-related usage rights for the document. The only defined value is /Modify, which permits a user to apply a digital signature to an existing signature form field or clear a signed signature form field.

setSignature($signing_cert='', $private_key='', $private_key_password='', $extracerts='', $cert_type=2, $info=array()   X-Ref
Enable document signature (requires the OpenSSL Library).
The digital signature improve document authenticity and integrity and allows o enable extra features on Acrobat Reader.

author: Nicola Asuni
param: mixed $signing_cert signing certificate (string or filename prefixed with 'file://')
param: mixed $private_key private key (string or filename prefixed with 'file://')
param: string $private_key_password password
param: string $extracerts specifies the name of a file containing a bunch of extra certificates to include in the signature which can for example be used to help the recipient to verify the certificate that you used.
param: int $cert_type The access permissions granted for this document. Valid values shall be: 1 = No changes to the document shall be permitted; any change to the document shall invalidate the signature; 2 = Permitted changes shall be filling in forms, instantiating page templates, and signing; other changes shall invalidate the signature; 3 = Permitted changes shall be the same as for 2, as well as annotation creation, deletion, and modification; other changes shall invalidate the signature.
param: array $info array of option information: Name, Location, Reason, ContactInfo.

startPageGroup($page='')   X-Ref
Create a new page group.
NOTE: call this function before calling AddPage()

param: int $page starting group page (leave empty for next page).

AliasNbPages($alias='{nb}')   X-Ref
Defines an alias for the total number of pages.
It will be substituted as the document is closed.

param: string $alias The alias.

getAliasNbPages()   X-Ref
Returns the string alias used for the total number of pages.
If the current font is unicode type, the returned string is surrounded by additional curly braces.

return: string

AliasNumPage($alias='{pnb}')   X-Ref
Defines an alias for the page number.
It will be substituted as the document is closed.

param: string $alias The alias.

getAliasNumPage()   X-Ref
Returns the string alias used for the page number.
If the current font is unicode type, the returned string is surrounded by additional curly braces.

return: string

getGroupPageNo()   X-Ref
Return the current page in the group.

return: current page in the group

getGroupPageNoFormatted()   X-Ref
Returns the current group page number formatted as a string.


getPageGroupAlias()   X-Ref
Return the alias of the current page group
If the current font is unicode type, the returned string is surrounded by additional curly braces.
(will be replaced by the total number of pages in this group).

return: alias of the current page group

getPageNumGroupAlias()   X-Ref
Return the alias for the page number on the current page group
If the current font is unicode type, the returned string is surrounded by additional curly braces.
(will be replaced by the total number of pages in this group).

return: alias of the current page group

formatPageNumber($num)   X-Ref
Format the page numbers.
This method can be overriden for custom formats.

param: int $num page number

formatTOCPageNumber($num)   X-Ref
Format the page numbers on the Table Of Content.
This method can be overriden for custom formats.

param: int $num page number

PageNoFormatted()   X-Ref
Returns the current page number formatted as a string.


_putocg()   X-Ref
Put visibility settings.


setVisibility($v)   X-Ref
Set the visibility of the successive elements.
This can be useful, for instance, to put a background
image or color that will show on screen but won't print.

param: string $v visibility mode. Legal values are: all, print, screen.

addExtGState($parms)   X-Ref
Add transparency parameters to the current extgstate

param: array $params parameters
return: the number of extgstates

setExtGState($gs)   X-Ref
Add an extgstate

param: array $gs extgstate

_putextgstates()   X-Ref
Put extgstates for object transparency

param: array $gs extgstate

setAlpha($alpha, $bm='Normal')   X-Ref
Set alpha for stroking (CA) and non-stroking (ca) operations.

param: float $alpha real value from 0 (transparent) to 1 (opaque)
param: string $bm blend mode, one of the following: Normal, Multiply, Screen, Overlay, Darken, Lighten, ColorDodge, ColorBurn, HardLight, SoftLight, Difference, Exclusion, Hue, Saturation, Color, Luminosity

setJPEGQuality($quality)   X-Ref
Set the default JPEG compression quality (1-100)

param: int $quality JPEG quality, integer between 1 and 100

setDefaultTableColumns($cols=4)   X-Ref
Set the default number of columns in a row for HTML tables.

param: int $cols number of columns

setCellHeightRatio($h)   X-Ref
Set the height of the cell (line height) respect the font height.

param: int $h cell proportion respect font height (typical value = 1.25).

getCellHeightRatio()   X-Ref
return the height of cell repect font height.


setPDFVersion($version='1.7')   X-Ref
Set the PDF version (check PDF reference for valid values).
Default value is 1.t


setViewerPreferences($preferences)   X-Ref
Set the viewer preferences dictionary controlling the way the document is to be presented on the screen or in print.
(see Section 8.1 of PDF reference, "Viewer Preferences").
<ul><li>HideToolbar boolean (Optional) A flag specifying whether to hide the viewer application's tool bars when the document is active. Default value: false.</li><li>HideMenubar boolean (Optional) A flag specifying whether to hide the viewer application's menu bar when the document is active. Default value: false.</li><li>HideWindowUI boolean (Optional) A flag specifying whether to hide user interface elements in the document's window (such as scroll bars and navigation controls), leaving only the document's contents displayed. Default value: false.</li><li>FitWindow boolean (Optional) A flag specifying whether to resize the document's window to fit the size of the first displayed page. Default value: false.</li><li>CenterWindow boolean (Optional) A flag specifying whether to position the document's window in the center of the screen. Default value: false.</li><li>DisplayDocTitle boolean (Optional; PDF 1.4) A flag specifying whether the window's title bar should display the document title taken from the Title entry of the document information dictionary (see Section 10.2.1, "Document Information Dictionary"). If false, the title bar should instead display the name of the PDF file containing the document. Default value: false.</li><li>NonFullScreenPageMode name (Optional) The document's page mode, specifying how to display the document on exiting full-screen mode:<ul><li>UseNone Neither document outline nor thumbnail images visible</li><li>UseOutlines Document outline visible</li><li>UseThumbs Thumbnail images visible</li><li>UseOC Optional content group panel visible</li></ul>This entry is meaningful only if the value of the PageMode entry in the catalog dictionary (see Section 3.6.1, "Document Catalog") is FullScreen; it is ignored otherwise. Default value: UseNone.</li><li>ViewArea name (Optional; PDF 1.4) The name of the page boundary representing the area of a page to be displayed when viewing the document on the screen. Valid values are (see Section 10.10.1, "Page Boundaries").:<ul><li>MediaBox</li><li>CropBox (default)</li><li>BleedBox</li><li>TrimBox</li><li>ArtBox</li></ul></li><li>ViewClip name (Optional; PDF 1.4) The name of the page boundary to which the contents of a page are to be clipped when viewing the document on the screen. Valid values are (see Section 10.10.1, "Page Boundaries").:<ul><li>MediaBox</li><li>CropBox (default)</li><li>BleedBox</li><li>TrimBox</li><li>ArtBox</li></ul></li><li>PrintArea name (Optional; PDF 1.4) The name of the page boundary representing the area of a page to be rendered when printing the document. Valid values are (see Section 10.10.1, "Page Boundaries").:<ul><li>MediaBox</li><li>CropBox (default)</li><li>BleedBox</li><li>TrimBox</li><li>ArtBox</li></ul></li><li>PrintClip name (Optional; PDF 1.4) The name of the page boundary to which the contents of a page are to be clipped when printing the document. Valid values are (see Section 10.10.1, "Page Boundaries").:<ul><li>MediaBox</li><li>CropBox (default)</li><li>BleedBox</li><li>TrimBox</li><li>ArtBox</li></ul></li><li>PrintScaling name (Optional; PDF 1.6) The page scaling option to be selected when a print dialog is displayed for this document. Valid values are: <ul><li>None, which indicates that the print dialog should reflect no page scaling</li><li>AppDefault (default), which indicates that applications should use the current print scaling</li></ul></li><li>Duplex name (Optional; PDF 1.7) The paper handling option to use when printing the file from the print dialog. The following values are valid:<ul><li>Simplex - Print single-sided</li><li>DuplexFlipShortEdge - Duplex and flip on the short edge of the sheet</li><li>DuplexFlipLongEdge - Duplex and flip on the long edge of the sheet</li></ul>Default value: none</li><li>PickTrayByPDFSize boolean (Optional; PDF 1.7) A flag specifying whether the PDF page size is used to select the input paper tray. This setting influences only the preset values used to populate the print dialog presented by a PDF viewer application. If PickTrayByPDFSize is true, the check box in the print dialog associated with input paper tray is checked. Note: This setting has no effect on Mac OS systems, which do not provide the ability to pick the input tray by size.</li><li>PrintPageRange array (Optional; PDF 1.7) The page numbers used to initialize the print dialog box when the file is printed. The first page of the PDF file is denoted by 1. Each pair consists of the first and last pages in the sub-range. An odd number of integers causes this entry to be ignored. Negative numbers cause the entire array to be ignored. Default value: as defined by PDF viewer application</li><li>NumCopies integer (Optional; PDF 1.7) The number of copies to be printed when the print dialog is opened for this file. Supported values are the integers 2 through 5. Values outside this range are ignored. Default value: as defined by PDF viewer application, but typically 1</li></ul>

author: Nicola Asuni
param: array $preferences array of options.

colorRegistrationBar($x, $y, $w, $h, $transition=true, $vertical=false, $colors='A,R,G,B,C,M,Y,K')   X-Ref
Paints color transition registration bars

author: Nicola Asuni
param: float $x abscissa of the top left corner of the rectangle.
param: float $y ordinate of the top left corner of the rectangle.
param: float $w width of the rectangle.
param: float $h height of the rectangle.
param: boolean $transition if true prints tcolor transitions to white.
param: boolean $vertical if true prints bar vertically.
param: string $colors colors to print, one letter per color separated by comma (for example 'A,W,R,G,B,C,M,Y,K'): A=black, W=white, R=red, G=green, B=blue, C=cyan, M=magenta, Y=yellow, K=black.

cropMark($x, $y, $w, $h, $type='A,B,C,D', $color=array(0,0,0)   X-Ref
Paints crop mark

author: Nicola Asuni
param: float $x abscissa of the crop mark center.
param: float $y ordinate of the crop mark center.
param: float $w width of the crop mark.
param: float $h height of the crop mark.
param: string $type type of crop mark, one sybol per type separated by comma: A = top left, B = top right, C = bottom left, D = bottom right.
param: array $color crop mark color (default black).

registrationMark($x, $y, $r, $double=false, $cola=array(0,0,0)   X-Ref
Paints a registration mark

author: Nicola Asuni
param: float $x abscissa of the registration mark center.
param: float $y ordinate of the registration mark center.
param: float $r radius of the crop mark.
param: boolean $double if true print two concentric crop marks.
param: array $cola crop mark color (default black).
param: array $colb second crop mark color.

LinearGradient($x, $y, $w, $h, $col1=array()   X-Ref
Paints a linear colour gradient.

author: Andreas Würmser, Nicola Asuni
param: float $x abscissa of the top left corner of the rectangle.
param: float $y ordinate of the top left corner of the rectangle.
param: float $w width of the rectangle.
param: float $h height of the rectangle.
param: array $col1 first color (Grayscale, RGB or CMYK components).
param: array $col2 second color (Grayscale, RGB or CMYK components).
param: array $coords array of the form (x1, y1, x2, y2) which defines the gradient vector (see linear_gradient_coords.jpg). The default value is from left to right (x1=0, y1=0, x2=1, y2=0).

RadialGradient($x, $y, $w, $h, $col1=array()   X-Ref
Paints a radial colour gradient.

author: Andreas Würmser, Nicola Asuni
param: float $x abscissa of the top left corner of the rectangle.
param: float $y ordinate of the top left corner of the rectangle.
param: float $w width of the rectangle.
param: float $h height of the rectangle.
param: array $col1 first color (Grayscale, RGB or CMYK components).
param: array $col2 second color (Grayscale, RGB or CMYK components).
param: array $coords array of the form (fx, fy, cx, cy, r) where (fx, fy) is the starting point of the gradient with color1, (cx, cy) is the center of the circle with color2, and r is the radius of the circle (see radial_gradient_coords.jpg). (fx, fy) should be inside the circle, otherwise some areas will not be defined.

CoonsPatchMesh($x, $y, $w, $h, $col1=array()   X-Ref
Paints a coons patch mesh.

author: Andreas Würmser, Nicola Asuni
param: float $x abscissa of the top left corner of the rectangle.
param: float $y ordinate of the top left corner of the rectangle.
param: float $w width of the rectangle.
param: float $h height of the rectangle.
param: array $col1 first color (lower left corner) (RGB components).
param: array $col2 second color (lower right corner) (RGB components).
param: array $col3 third color (upper right corner) (RGB components).
param: array $col4 fourth color (upper left corner) (RGB components).
param: array $coords <ul><li>for one patch mesh: array(float x1, float y1, .... float x12, float y12): 12 pairs of coordinates (normally from 0 to 1) which specify the Bezier control points that define the patch. First pair is the lower left edge point, next is its right control point (control point 2). Then the other points are defined in the order: control point 1, edge point, control point 2 going counter-clockwise around the patch. Last (x12, y12) is the first edge point's left control point (control point 1).</li><li>for two or more patch meshes: array[number of patches]: arrays with the following keys for each patch: f: where to put that patch (0 = first patch, 1, 2, 3 = right, top and left of precedent patch - I didn't figure this out completely - just try and error ;-) points: 12 pairs of coordinates of the Bezier control points as above for the first patch, 8 pairs of coordinates for the following patches, ignoring the coordinates already defined by the precedent patch (I also didn't figure out the order of these - also: try and see what's happening) colors: must be 4 colors for the first patch, 2 colors for the following patches</li></ul>
param: array $coords_min minimum value used by the coordinates. If a coordinate's value is smaller than this it will be cut to coords_min. default: 0
param: array $coords_max maximum value used by the coordinates. If a coordinate's value is greater than this it will be cut to coords_max. default: 1
param: boolean $antialias A flag indicating whether to filter the shading function to prevent aliasing artifacts.

Clip($x, $y, $w, $h)   X-Ref
Set a rectangular clipping area.

author: Andreas Würmser, Nicola Asuni
param: float $x abscissa of the top left corner of the rectangle (or top right corner for RTL mode).
param: float $y ordinate of the top left corner of the rectangle.
param: float $w width of the rectangle.
param: float $h height of the rectangle.

Gradient($type, $coords, $stops, $background=array()   X-Ref
Output gradient.

author: Nicola Asuni
param: int $type type of gradient (1 Function-based shading; 2 Axial shading; 3 Radial shading; 4 Free-form Gouraud-shaded triangle mesh; 5 Lattice-form Gouraud-shaded triangle mesh; 6 Coons patch mesh; 7 Tensor-product patch mesh). (Not all types are currently supported)
param: array $coords array of coordinates.
param: array $stops array gradient color components: color = array of GRAY, RGB or CMYK color components; offset = (0 to 1) represents a location along the gradient vector; exponent = exponent of the exponential interpolation function (default = 1).
param: array $background An array of colour components appropriate to the colour space, specifying a single background colour value.
param: boolean $antialias A flag indicating whether to filter the shading function to prevent aliasing artifacts.

_putshaders()   X-Ref
Output gradient shaders.

author: Nicola Asuni

PieSector($xc, $yc, $r, $a, $b, $style='FD', $cw=true, $o=90)   X-Ref
Draw the sector of a circle.
It can be used for instance to render pie charts.

author: Maxime Delorme, Nicola Asuni
param: float $xc abscissa of the center.
param: float $yc ordinate of the center.
param: float $r radius.
param: float $a start angle (in degrees).
param: float $b end angle (in degrees).
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: float $cw: indicates whether to go clockwise (default: true).
param: float $o: origin of angles (0 for 3 o'clock, 90 for noon, 180 for 9 o'clock, 270 for 6 o'clock). Default: 90.

PieSectorXY($xc, $yc, $rx, $ry, $a, $b, $style='FD', $cw=false, $o=0, $nc=2)   X-Ref
Draw the sector of an ellipse.
It can be used for instance to render pie charts.

author: Maxime Delorme, Nicola Asuni
param: float $xc abscissa of the center.
param: float $yc ordinate of the center.
param: float $rx the x-axis radius.
param: float $ry the y-axis radius.
param: float $a start angle (in degrees).
param: float $b end angle (in degrees).
param: string $style Style of rendering. See the getPathPaintOperator() function for more information.
param: float $cw: indicates whether to go clockwise.
param: float $o: origin of angles (0 for 3 o'clock, 90 for noon, 180 for 9 o'clock, 270 for 6 o'clock).
param: integer $nc Number of curves used to draw a 90 degrees portion of arc.

ImageEps($file, $x='', $y='', $w=0, $h=0, $link='', $useBoundingBox=true, $align='', $palign='', $border=0, $fitonpage=false)   X-Ref
Embed vector-based Adobe Illustrator (AI) or AI-compatible EPS files.
NOTE: EPS is not yet fully implemented, use the setRasterizeVectorImages() method to enable/disable rasterization of SVG images using ImageMagick library.
Only vector drawing is supported, not text or bitmap.
Although the script was successfully tested with various AI format versions, best results are probably achieved with files that were exported in the AI3 format (tested with Illustrator CS2, Freehand MX and Photoshop CS2).

author: Valentin Schmidt, Nicola Asuni
param: string $file Name of the file containing the image.
param: float $x Abscissa of the upper-left corner.
param: float $y Ordinate of the upper-left corner.
param: float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: mixed $link URL or identifier returned by AddLink().
param: boolean useBoundingBox specifies whether to position the bounding box (true) or the complete canvas (false) at location (x,y). Default value is true.
param: string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>
param: string $palign Allows to center or align the image on the current line. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>
param: mixed $border Indicates if borders must be drawn around the image. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: boolean $fitonpage if true the image is resized to not exceed page dimensions.

setBarcode($bc='')   X-Ref
Set document barcode.

param: string $bc barcode

getBarcode()   X-Ref
Get current barcode.

return: string

write1DBarcode($code, $type, $x='', $y='', $w='', $h='', $xres=0.4, $style='', $align='')   X-Ref
Print a Linear Barcode.

author: Nicola Asuni
param: string $code code to print
param: string $type type of barcode (see barcodes.php for supported formats).
param: int $x x position in user units
param: int $y y position in user units
param: int $w width in user units
param: int $h height in user units
param: float $xres width of the smallest bar in user units
param: array $style array of options:<ul><li>string $style['position'] barcode position inside the specified width: L = left (default for LTR); C = center; R = right (default for RTL); S = stretch</li><li>boolean $style['border'] if true prints a border around the barcode</li><li>int $style['padding'] padding to leave around the barcode in user units (set to 'auto' for automatic padding)</li><li>array $style['fgcolor'] color array for bars and text</li><li>mixed $style['bgcolor'] color array for background or false for transparent</li><li>boolean $style["text"] boolean if true prints text below the barcode</li><li>string $style['font'] font name for text</li><li>int $style['fontsize'] font size for text</li><li>int $style['stretchtext']: 0 = disabled; 1 = horizontal scaling only if necessary; 2 = forced horizontal scaling; 3 = character spacing only if necessary; 4 = forced character spacing</li></ul>
param: string $align Indicates the alignment of the pointer next to barcode insertion relative to barcode height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>

writeBarcode($x, $y, $w, $h, $type, $style, $font, $xres, $code)   X-Ref
This function is DEPRECATED, please use the new write1DBarcode() function.

param: int $x x position in user units
param: int $y y position in user units
param: int $w width in user units
param: int $h height position in user units
param: string $type type of barcode (I25, C128A, C128B, C128C, C39)
param: string $style barcode style
param: string $font font for text
param: int $xres x resolution
param: string $code code to print

write2DBarcode($code, $type, $x='', $y='', $w='', $h='', $style='', $align='')   X-Ref
Print 2D Barcode.

author: Nicola Asuni
param: string $code code to print
param: string $type type of barcode (see 2dbarcodes.php for supported formats).
param: int $x x position in user units
param: int $y y position in user units
param: int $w width in user units
param: int $h height in user units
param: array $style array of options:<ul><li>boolean $style['border'] if true prints a border around the barcode</li><li>int $style['padding'] padding to leave around the barcode in user units (set to 'auto' for automatic padding)</li><li>array $style['fgcolor'] color array for bars and text</li><li>mixed $style['bgcolor'] color array for background or false for transparent</li></ul>
param: string $align Indicates the alignment of the pointer next to barcode insertion relative to barcode height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>

getMargins()   X-Ref
Returns an array containing current margins:
<ul>
</ul>

return: array containing all margins measures

getOriginalMargins()   X-Ref
Returns an array containing original margins:
<ul>
</ul>

return: array containing all margins measures

getFontSize()   X-Ref
Returns the current font size.

return: current font size

getFontSizePt()   X-Ref
Returns the current font size in points unit.

return: current font size in points unit

getFontFamily()   X-Ref
Returns the current font family name.

return: string current font family name

getFontStyle()   X-Ref
Returns the current font style.

return: string current font style

writeHTMLCell($w, $h, $x, $y, $html='', $border=0, $ln=0, $fill=0, $reseth=true, $align='', $autopadding=true)   X-Ref
Prints a cell (rectangular area) with optional borders, background color and html text string.
The upper-left corner of the cell corresponds to the current position. After the call, the current position moves to the right or to the next line.<br />
If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.

param: float $w Cell width. If 0, the cell extends up to the right margin.
param: float $h Cell minimum height. The cell extends automatically if needed.
param: float $x upper-left corner X coordinate
param: float $y upper-left corner Y coordinate
param: string $html html text to print. Default value: empty string.
param: mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: int $ln Indicates where the current position should go after the call. Possible values are:<ul><li>0: to the right (or left for RTL language)</li><li>1: to the beginning of the next line</li><li>2: below</li></ul>
param: int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0.
param: boolean $reseth if true reset the last cell height (default true).
param: string $align Allows to center or align the text. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>
param: boolean $autopadding if true, uses internal padding and automatically adjust it to account for line width.

getHtmlDomArray($html)   X-Ref
Returns the HTML DOM array.
<ul><li>$dom[$key]['tag'] = true if tag, false otherwise;</li><li>$dom[$key]['value'] = tag name or text;</li><li>$dom[$key]['opening'] = true if opening tag, false otherwise;</li><li>$dom[$key]['attribute'] = array of attributes (attribute name is the key);</li><li>$dom[$key]['style'] = array of style attributes (attribute name is the key);</li><li>$dom[$key]['parent'] = id of parent element;</li><li>$dom[$key]['fontname'] = font family name;</li><li>$dom[$key]['fontstyle'] = font style;</li><li>$dom[$key]['fontsize'] = font size in points;</li><li>$dom[$key]['bgcolor'] = RGB array of background color;</li><li>$dom[$key]['fgcolor'] = RGB array of foreground color;</li><li>$dom[$key]['width'] = width in pixels;</li><li>$dom[$key]['height'] = height in pixels;</li><li>$dom[$key]['align'] = text alignment;</li><li>$dom[$key]['cols'] = number of colums in table;</li><li>$dom[$key]['rows'] = number of rows in table;</li></ul>

param: string $html html code
return: array

getSpaceString()   X-Ref
Returns the string used to find spaces

author: Nicola Asuni
return: string

writeHTML($html, $ln=true, $fill=false, $reseth=false, $cell=false, $align='')   X-Ref
Allows to preserve some HTML formatting (limited support).<br />
IMPORTANT: The HTML must be well formatted - try to clean-up it using an application like HTML-Tidy before submitting.
Supported tags are: a, b, blockquote, br, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, img, li, ol, p, pre, small, span, strong, sub, sup, table, tcpdf, td, th, thead, tr, tt, u, ul

param: string $html text to display
param: boolean $ln if true add a new line after text (default = true)
param: int $fill Indicates if the background must be painted (true) or transparent (false).
param: boolean $reseth if true reset the last cell height (default false).
param: boolean $cell if true add the default cMargin space to each Write (default false).
param: string $align Allows to center or align the text. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>

openHTMLTagHandler(&$dom, $key, $cell)   X-Ref
Process opening tags.

param: array $dom html dom array
param: int $key current element id
param: boolean $cell if true add the default cMargin space to each new line (default false).

closeHTMLTagHandler(&$dom, $key, $cell, $maxbottomliney=0)   X-Ref
Process closing tags.

param: array $dom html dom array
param: int $key current element id
param: boolean $cell if true add the default cMargin space to each new line (default false).
param: int $maxbottomliney maximum y value of current line

addHTMLVertSpace($hbz=0, $hb=0, $cell=false, $firstorlast=false)   X-Ref
Add vertical spaces if needed.

param: string $hbz Distance between current y and line bottom.
param: string $hb The height of the break.
param: boolean $cell if true add the default cMargin space to each new line (default false).
param: boolean $firstorlast if true do not print additional empty lines.

setLIsymbol($symbol='!')   X-Ref
Set the default bullet to be used as LI bullet symbol

param: string $symbol character or string to be used (legal values are: '' = automatic, '!' = auto bullet, '#' = auto numbering, 'disc', 'disc', 'circle', 'square', '1', 'decimal', 'decimal-leading-zero', 'i', 'lower-roman', 'I', 'upper-roman', 'a', 'lower-alpha', 'lower-latin', 'A', 'upper-alpha', 'upper-latin', 'lower-greek')

SetBooklet($booklet=true, $inner=-1, $outer=-1)   X-Ref
Set the booklet mode for double-sided pages.

param: boolean $booklet true set the booklet mode on, fals eotherwise.
param: float $inner Inner page margin.
param: float $outer Outer page margin.

swapMargins($reverse=true)   X-Ref
Swap the left and right margins.

param: boolean $reverse if true swap left and right margins.

setHtmlVSpace($tagvs)   X-Ref
Set the vertical spaces for HTML tags.
The array must have the following structure (example):
$tagvs = array('h1' => array(0 => array('h' => '', 'n' => 2), 1 => array('h' => 1.3, 'n' => 1)));
The first array level contains the tag names,
the second level contains 0 for opening tags or 1 for closing tags,
the third level contains the vertical space unit (h) and the number spaces to add (n).
If the h parameter is not specified, default values are used.

param: array $tagvs array of tags and relative vertical spaces.

setListIndentWidth($width)   X-Ref
Set custom width for list indentation.

param: float $width width of the indentation. Use negative value to disable it.

setOpenCell($isopen)   X-Ref
Set the top/bottom cell sides to be open or closed when the cell cross the page.

param: boolean $isopen if true keeps the top/bottom border open for the cell sides that cross the page.

setHtmlLinksStyle($color=array(0,0,255)   X-Ref
Set the color and font style for HTML links.

param: array $color RGB array of colors
param: string $fontstyle additional font styles to add

getHTMLUnitToUnits($htmlval, $refsize=1, $defaultunit='px', $points=false)   X-Ref
Convert HTML string containing value and unit of measure to user's units or points.

param: string $htmlval string containing values and unit
param: string $refsize reference value in points
param: string $defaultunit default unit (can be one of the following: %, em, ex, px, in, mm, pc, pt).
param: boolean $point if true returns points, otherwise returns value in user's units
return: float value in user's unit or point if $points=true

intToRoman($number)   X-Ref
Returns the Roman representation of an integer number

param: int number to convert
return: string roman representation of the specified number

putHtmlListBullet($listdepth, $listtype='', $size=10)   X-Ref
Output an HTML list bullet or ordered item symbol

param: int $listdepth list nesting level
param: string $listtype type of list
param: float $size current font size

getGraphicVars()   X-Ref
Returns current graphic variables as array.

return: array graphic variables

setGraphicVars($gvars)   X-Ref
Set graphic variables.

param: $gvars array graphic variables

getObjFilename($name)   X-Ref
Returns a temporary filename for caching object on filesystem.

param: string $prefix prefix to add to filename

writeDiskCache($filename, $data, $append=false)   X-Ref
Writes data to a temporary file on filesystem.

param: string $file file name
param: mixed $data data to write on file
param: boolean $append if true append data, false replace.

readDiskCache($filename)   X-Ref
Read data from a temporary file on filesystem.

param: string $file file name
return: mixed retrieved data

setBuffer($data)   X-Ref
Set buffer content (always append data).

param: string $data data

getBuffer()   X-Ref
Get buffer content.

return: string buffer content

setPageBuffer($page, $data, $append=false)   X-Ref
Set page buffer content.

param: int $page page number
param: string $data page data
param: boolean $append if true append data, false replace.

getPageBuffer($page)   X-Ref
Get page buffer content.

param: int $page page number
return: string page buffer content or false in case of error

setImageBuffer($image, $data)   X-Ref
Set image buffer content.

param: string $image image key
param: array $data image data

setImageSubBuffer($image, $key, $data)   X-Ref
Set image buffer content for a specified sub-key.

param: string $image image key
param: string $key image sub-key
param: array $data image data

getImageBuffer($image)   X-Ref
Get image buffer content.

param: string $image image key
return: string image buffer content or false in case of error

setFontBuffer($font, $data)   X-Ref
Set font buffer content.

param: string $font font key
param: array $data font data

setFontSubBuffer($font, $key, $data)   X-Ref
Set font buffer content.

param: string $font font key
param: string $key font sub-key
param: array $data font data

getFontBuffer($font)   X-Ref
Get font buffer content.

param: string $font font key
return: string font buffer content or false in case of error

movePage($frompage, $topage)   X-Ref
Move a page to a previous position.

param: int $frompage number of the source page
param: int $topage number of the destination page (must be less than $frompage)
return: true in case of success, false in case of error.

deletePage($page)   X-Ref
Remove the specified page.

param: int $page page to remove
return: true in case of success, false in case of error.

copyPage($page=0)   X-Ref
Clone the specified page to a new page.

param: int $page number of page to copy (0 = current page)
return: true in case of success, false in case of error.

addTOC($page='', $numbersfont='', $filler='.', $toc_name='TOC')   X-Ref
Output a Table of Content Index (TOC).
Before calling this method you have to open the page using the addTOCPage() method.
After calling this method you have to call endTOCPage() to close the TOC page.
You can override this method to achieve different styles.

author: Nicola Asuni
param: int $page page number where this TOC should be inserted (leave empty for current page).
param: string $numbersfont set the font for page numbers (please use monospaced font for better alignment).
param: string $filler string used to fill the space between text and page number.
param: string $toc_name name to use for TOC bookmark.

addHTMLTOC($page='', $toc_name='TOC', $templates=array()   X-Ref
Output a Table Of Content Index (TOC) using HTML templates.
Before calling this method you have to open the page using the addTOCPage() method.
After calling this method you have to call endTOCPage() to close the TOC page.

author: Nicola Asuni
param: int $page page number where this TOC should be inserted (leave empty for current page).
param: string $toc_name name to use for TOC bookmark.
param: array $templates array of html templates. Use: #TOC_DESCRIPTION# for bookmark title, #TOC_PAGE_NUMBER# for page number.

startTransaction()   X-Ref
Stores a copy of the current TCPDF object used for undo operation.


commitTransaction()   X-Ref
Delete the copy of the current TCPDF object used for undo operation.


rollbackTransaction($self=false)   X-Ref
This method allows to undo the latest transaction by returning the latest saved TCPDF object with startTransaction().

param: boolean $self if true restores current class object to previous state without the need of reassignment via the returned value.
return: TCPDF object.

objclone($object)   X-Ref
Creates a copy of a class object

param: object $object class object to be cloned
return: cloned object

empty_string($str)   X-Ref
Determine whether a string is empty.

param: string $str string to be checked
return: boolean true if string is empty

revstrpos($haystack, $needle, $offset = 0)   X-Ref
Find position of last occurrence of a substring in a string

param: string $haystack The string to search in.
param: string $needle substring to search.
param: int $offset May be specified to begin searching an arbitrary number of characters into the string.
return: Returns the position where the needle exists. Returns FALSE if the needle was not found.

setEqualColumns($numcols=0, $width=0, $y='')   X-Ref
Set multiple columns of the same size

param: int $numcols number of columns (set to zero to disable columns mode)
param: int $width column width
param: int $y column starting Y position (leave empty for current Y position)

setColumnsArray($columns)   X-Ref
Set columns array.
Each column is represented by and array with the following keys: (w = width, s = space between columns, y = column top position).

param: array $columns

selectColumn($col='')   X-Ref
Set position at a given column

param: int $col column number (from 0 to getNumberOfColumns()-1); empty string = current column.

serializeTCPDFtagParameters($pararray)   X-Ref
Serialize an array of parameters to be used with TCPDF tag in HTML code.

param: array $pararray parameters array
return: sting containing serialized data

setTextRenderingMode($stroke=0, $fill=true, $clip=false)   X-Ref
Set Text rendering mode.

param: int $stroke outline size in user units (0 = disable).
param: boolean $fill if true fills the text (default).
param: boolean $clip if true activate clipping mode

hyphenateWord($word, $patterns, $dictionary=array()   X-Ref
Returns an array of chars containing soft hyphens.

author: Nicola Asuni
param: array $word array of chars
param: array $patterns Array of hypenation patterns.
param: array $dictionary Array of words to be returned without applying the hyphenation algoritm.
param: int $leftmin Minimum number of character to leave on the left of the word without applying the hyphens.
param: int $rightmin Minimum number of character to leave on the right of the word without applying the hyphens.
param: int $charmin Minimum word lenght to apply the hyphenation algoritm.
param: int $charmax Maximum lenght of broken piece of word.
return: array text with soft hyphens

getHyphenPatternsFromTEX($file)   X-Ref
Returns an array of hyphenation patterns.

author: Nicola Asuni
param: string $file TEX file containing hypenation patterns. TEX pattrns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/
return: array of hyphenation patterns

hyphenateText($text, $patterns, $dictionary=array()   X-Ref
Returns text with soft hyphens.

author: Nicola Asuni
param: string $text text to process
param: mixed $patterns Array of hypenation patterns or a TEX file containing hypenation patterns. TEX patterns can be downloaded from http://www.ctan.org/tex-archive/language/hyph-utf8/tex/generic/hyph-utf8/patterns/
param: array $dictionary Array of words to be returned without applying the hyphenation algoritm.
param: int $leftmin Minimum number of character to leave on the left of the word without applying the hyphens.
param: int $rightmin Minimum number of character to leave on the right of the word without applying the hyphens.
param: int $charmin Minimum word lenght to apply the hyphenation algoritm.
param: int $charmax Maximum lenght of broken piece of word.
return: array text with soft hyphens

setRasterizeVectorImages($mode)   X-Ref
Enable/disable rasterization of SVG images using ImageMagick library.

param: boolean $mode if true enable rasterization, false otherwise.

getPathPaintOperator($style, $default='S')   X-Ref
Get the Path-Painting Operators.

author: Nicola Asuni
param: string $style Style of rendering. Possible values are:
param: string $default default style
param: boolean $mode if true enable rasterization, false otherwise.

ImageSVG($file, $x='', $y='', $w=0, $h=0, $link='', $align='', $palign='', $border=0, $fitonpage=false)   X-Ref
Embedd a Scalable Vector Graphics (SVG) image.
NOTE: SVG standard is not yet fully implemented, use the setRasterizeVectorImages() method to enable/disable rasterization of SVG images using ImageMagick library.

author: Nicola Asuni
param: string $file Name of the SVG file.
param: float $x Abscissa of the upper-left corner.
param: float $y Ordinate of the upper-left corner.
param: float $w Width of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: float $h Height of the image in the page. If not specified or equal to zero, it is automatically calculated.
param: mixed $link URL or identifier returned by AddLink().
param: string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:<ul><li>T: top-right for LTR or top-left for RTL</li><li>M: middle-right for LTR or middle-left for RTL</li><li>B: bottom-right for LTR or bottom-left for RTL</li><li>N: next line</li></ul>
param: string $palign Allows to center or align the image on the current line. Possible values are:<ul><li>L : left align</li><li>C : center</li><li>R : right align</li><li>'' : empty string : left for LTR or right for RTL</li></ul>
param: mixed $border Indicates if borders must be drawn around the image. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
param: boolean $fitonpage if true the image is resized to not exceed page dimensions.

getSVGTransformMatrix($attribute)   X-Ref
Get the tranformation matrix from SVG transform attribute

author: Nicola Asuni
param: string transformation
return: array of transformations

getTransformationMatrixProduct($ta, $tb)   X-Ref
Get the product of two SVG tranformation matrices

author: Nicola Asuni
param: array $ta first SVG tranformation matrix
param: array $tb second SVG tranformation matrix
return: transformation array

convertSVGtMatrix($tm)   X-Ref
Convert SVG transformation matrix to PDF.

param: array $tm original SVG transformation matrix
return: array transformation matrix

SVGTransform($tm)   X-Ref
Apply SVG graphic transformation matrix.

param: array $tm original SVG transformation matrix

setSVGStyles($svgstyle, $prevsvgstyle, $x=0, $y=0, $w=1, $h=1, $clip_function='', $clip_params=array()   X-Ref
Apply the requested SVG styles (*** TO BE COMPLETED ***)

author: Nicola Asuni
param: array $svgstyle array of SVG styles to apply
param: array $prevsvgstyle array of previous SVG style
param: int $x X origin of the bounding box
param: int $y Y origin of the bounding box
param: int $w width of the bounding box
param: int $h height of the bounding box
param: string $clip_function clip function
param: array $clip_params array of parameters for clipping function
return: object style

SVGPath($d, $style='')   X-Ref
Draws an SVG path

author: Nicola Asuni
param: string $d attribute d of the path SVG element
param: string $style Style of rendering. Possible values are:
return: array of container box measures (x, y, w, h)

getVectorsAngle($x1, $y1, $x2, $y2)   X-Ref
Returns the angle in  radiants between two vectors

author: Nicola Asuni
param: int $x1 X coordiante of first vector point
param: int $y1 Y coordiante of first vector point
param: int $x2 X coordiante of second vector point
param: int $y2 Y coordiante of second vector point

startSVGElementHandler($parser, $name, $attribs)   X-Ref
Sets the opening SVG element handler function for the XML parser. (*** TO BE COMPLETED ***)

author: Nicola Asuni
param: resource $parser The first parameter, parser, is a reference to the XML parser calling the handler.
param: string $name The second parameter, name, contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.
param: array $attribs The third parameter, attribs, contains an associative array with the element's attributes (if any). The keys of this array are the attribute names, the values are the attribute values. Attribute names are case-folded on the same criteria as element names. Attribute values are not case-folded. The original order of the attributes can be retrieved by walking through attribs the normal way, using each(). The first key in the array was the first attribute, and so on.

endSVGElementHandler($parser, $name)   X-Ref
Sets the closing SVG element handler function for the XML parser.

author: Nicola Asuni
param: resource $parser The first parameter, parser, is a reference to the XML parser calling the handler.
param: string $name The second parameter, name, contains the name of the element for which this handler is called. If case-folding is in effect for this parser, the element name will be in uppercase letters.

segSVGContentHandler($parser, $data)   X-Ref
Sets the character data handler function for the XML parser.

author: Nicola Asuni
param: resource $parser The first parameter, parser, is a reference to the XML parser calling the handler.
param: string $data The second parameter, data, contains the character data as a string.



Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1