From 48c32bba77146cdb6ca3b1dac20ad8a6d2760fb2 Mon Sep 17 00:00:00 2001 From: nicolaasuni Date: Wed, 11 Aug 2010 23:48:36 +0200 Subject: [PATCH] 5.8.000 --- CHANGELOG.TXT | 10 + README.TXT | 4 +- doc/classtrees_com-tecnick-tcpdf.html | 2 +- doc/com-tecnick-tcpdf/PDF417.html | 2 +- doc/com-tecnick-tcpdf/QRcode.html | 2 +- doc/com-tecnick-tcpdf/TCPDF.html | 1022 ++++++++++------- doc/com-tecnick-tcpdf/TCPDF2DBarcode.html | 2 +- doc/com-tecnick-tcpdf/TCPDFBarcode.html | 2 +- doc/com-tecnick-tcpdf/_2dbarcodes.php.html | 2 +- doc/com-tecnick-tcpdf/_barcodes.php.html | 2 +- .../_config---tcpdf_config.php.html | 2 +- doc/com-tecnick-tcpdf/_htmlcolors.php.html | 2 +- doc/com-tecnick-tcpdf/_pdf417.php.html | 2 +- doc/com-tecnick-tcpdf/_qrcode.php.html | 2 +- doc/com-tecnick-tcpdf/_tcpdf.php.html | 6 +- doc/com-tecnick-tcpdf/_unicode_data.php.html | 2 +- doc/elementindex.html | 16 +- doc/elementindex_com-tecnick-tcpdf.html | 16 +- doc/errors.html | 2 +- doc/index.html | 2 +- doc/li_com-tecnick-tcpdf.html | 2 +- examples/example_010.php | 4 +- tcpdf.php | 629 ++++++---- 23 files changed, 1095 insertions(+), 642 deletions(-) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 734fbe2..a33d7a5 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,13 @@ +5.8.000 (2010-08-11) + - A control to avoid bookmarking page 0 was added. + - addTOC() method now includes support for multicolumn mode. + - Support for tables in multicolumn mode was improved. + - Example n.10 was updated. + - All trimming functions were replaced with stringLeftTrim(), stringRightTrim() and stringTrim(). + - HTML alignments were improved. + +------------------------------------------------------------ + 5.7.003 (2010-08-08) - Bug #3041263 "php source ending is bad" was fixed (all PHP files were updated, including fonts). diff --git a/README.TXT b/README.TXT index 3f7cbd7..cf3460b 100755 --- a/README.TXT +++ b/README.TXT @@ -8,8 +8,8 @@ http: sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.7.003 -Release date: 2010-08-08 +Version: 5.8.000 +Release date: 2010-08-11 Author: Nicola Asuni Copyright (c) 2002-2010: diff --git a/doc/classtrees_com-tecnick-tcpdf.html b/doc/classtrees_com-tecnick-tcpdf.html index 0d5f8a0..dd52fb3 100644 --- a/doc/classtrees_com-tecnick-tcpdf.html +++ b/doc/classtrees_com-tecnick-tcpdf.html @@ -60,7 +60,7 @@

- Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/PDF417.html b/doc/com-tecnick-tcpdf/PDF417.html index d196690..4d87db5 100644 --- a/doc/com-tecnick-tcpdf/PDF417.html +++ b/doc/com-tecnick-tcpdf/PDF417.html @@ -1003,7 +1003,7 @@ $code)

- Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/QRcode.html b/doc/com-tecnick-tcpdf/QRcode.html index 8f03d57..9175c68 100644 --- a/doc/com-tecnick-tcpdf/QRcode.html +++ b/doc/com-tecnick-tcpdf/QRcode.html @@ -5551,7 +5551,7 @@ $frame)

- Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/TCPDF.html b/doc/com-tecnick-tcpdf/TCPDF.html index 5b46d80..0b0f220 100644 --- a/doc/com-tecnick-tcpdf/TCPDF.html +++ b/doc/com-tecnick-tcpdf/TCPDF.html @@ -83,7 +83,7 @@ Source Location: /tcpdf.php

Version:

@@ -115,6 +115,7 @@ Source Location: /tcpdf.php

  • $ColorFlag
  • $columns
  • $column_start_page
  • +
  • $colxshift
  • $compress
  • $CoreFonts
  • $creator
  • @@ -213,6 +214,7 @@ Source Location: /tcpdf.php

  • $listordered
  • $lisymbol
  • $lMargin
  • +
  • $maxselcol
  • $n
  • $newline
  • $newpagegroup
  • @@ -600,6 +602,9 @@ Source Location: /tcpdf.php

  • startTransaction
  • StartTransform
  • StopTransform
  • +
  • stringLeftTrim
  • +
  • stringRightTrim
  • +
  • stringTrim
  • SVGPath
  • SVGTransform
  • swapMargins
  • @@ -733,7 +738,7 @@ This is a PHP class for generating PDF documents without requiring external exte author:  Nicola Asuni - info@tecnick.com - version:  5.7.003 + version:  5.8.000 link:  http://www.tcpdf.org @@ -1359,6 +1364,33 @@ This is a PHP class for generating PDF documents without requiring external exte access:  protected + + +
    +
    + + + + + +
    Type:  mixed
    +


    +
    [ Top ]

    + +

    +

    $colxshift = array('x' => 0, 's' => 0, 'p' => 0)

    +

    [line 1489]

    + Array of: X difference between table cell x start and starting page margin, cellspacing, cellpadding



    +

    Tags:

    +
    + + + + + + + +
    since:  5.8.000 (2010-08-11)
    access:  protected

    @@ -1617,7 +1649,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $default_graphic_vars = array()

    -

    [line 1530]

    +

    [line 1544]



    Tags:

    @@ -2466,7 +2498,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $font_subsetting =  true

    -

    [line 1523]

    +

    [line 1537]



    Tags:

    @@ -4052,6 +4084,33 @@ This is a PHP class for generating PDF documents without requiring external exte Type:   left + + +


    +
    [ Top ]

    + +

    +

    $maxselcol = array('page' => 0, 'column' => 0)

    +

    [line 1482]

    + Maximum page and column selected



    +

    Tags:

    +
    + + + + + + + +
    since:  5.8.000 (2010-08-11)
    access:  protected
    +
    + +
    +
    + + + +
    Type:  mixed


    @@ -4878,7 +4937,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $pdfunit =  'mm'

    -

    [line 1503]

    +

    [line 1517]



    Tags:

    @@ -5076,7 +5135,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $rasterize_vector_images =  false

    -

    [line 1516]

    +

    [line 1530]



    Tags:

    @@ -5487,7 +5546,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $strokecolor =

    -

    [line 1496]

    +

    [line 1510]



    Tags:

    @@ -5541,7 +5600,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclipid =  0

    -

    [line 1593]

    +

    [line 1607]



    Tags:

    @@ -5571,7 +5630,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclipmode =  false

    -

    [line 1579]

    +

    [line 1593]



    Tags:

    @@ -5601,7 +5660,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgclippaths = array()

    -

    [line 1586]

    +

    [line 1600]



    Tags:

    @@ -5631,7 +5690,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdefs = array()

    -

    [line 1572]

    +

    [line 1586]



    Tags:

    @@ -5661,7 +5720,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdefsmode =  false

    -

    [line 1565]

    +

    [line 1579]



    Tags:

    @@ -5691,7 +5750,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgdir =  ''

    -

    [line 1537]

    +

    [line 1551]



    Tags:

    @@ -5721,7 +5780,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svggradientid =  0

    -

    [line 1558]

    +

    [line 1572]



    Tags:

    @@ -5751,7 +5810,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svggradients = array()

    -

    [line 1551]

    +

    [line 1565]



    Tags:

    @@ -5781,7 +5840,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svginheritprop = array('clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cursor', 'direction', 'fill', 'fill-opacity', 'fill-rule', 'font', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'glyph-orientation-horizontal', 'glyph-orientation-vertical', 'image-rendering', 'kerning', 'letter-spacing', 'marker', 'marker-end', 'marker-mid', 'marker-start', 'pointer-events', 'shape-rendering', 'stroke', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke-width', 'text-anchor', 'text-rendering', 'visibility', 'word-spacing', 'writing-mode')

    -

    [line 1607]

    +

    [line 1621]



    Tags:

    @@ -5874,7 +5933,7 @@ This is a PHP class for generating PDF documents without requiring external exte          'writing-mode' => 'lr-tb',
             'text-color' => 'black',
             'transfmatrix' => array(1, 0, 0, 1, 0, 0))) -

    [line 1614]

    +

    [line 1628]



    Tags:

    @@ -5904,7 +5963,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgtext =  ''

    -

    [line 1600]

    +

    [line 1614]



    Tags:

    @@ -5934,7 +5993,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $svgunit =  'px'

    -

    [line 1544]

    +

    [line 1558]



    Tags:

    @@ -6072,7 +6131,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $textrendermode =  0

    -

    [line 1482]

    +

    [line 1496]

    Text rendering mode: 0 = Fill text; 1 = Stroke text; 2 = Fill, then stroke text; 3 = Neither fill nor stroke text (invisible); 4 = Fill text and add to path for clipping; 5 = Stroke text and add to path for clipping; 6 = Fill, then stroke text and add to path for clipping; 7 = Add text to path for clipping.



    Tags:

    @@ -6099,7 +6158,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $textstrokewidth =  0

    -

    [line 1489]

    +

    [line 1503]

    Text stroke width in doc units



    Tags:

    @@ -6261,7 +6320,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $tocpage =  false

    -

    [line 1509]

    +

    [line 1523]



    Tags:

    @@ -6726,7 +6785,7 @@ This is a PHP class for generating PDF documents without requiring external exte
    -

    constructor __construct [line 1698]

    +

    constructor __construct [line 1712]

    @@ -6798,7 +6857,7 @@ $diskcache = false])
    -

    destructor __destruct [line 1829]

    +

    destructor __destruct [line 1843]

    @@ -6826,7 +6885,7 @@ $diskcache = false])
    -

    method AcceptPageBreak [line 4825]

    +

    method AcceptPageBreak [line 4839]

    @@ -6857,7 +6916,7 @@ $diskcache = false])
    -

    method addExtGState [line 14660]

    +

    method addExtGState [line 14677]

    @@ -6905,7 +6964,7 @@ $params)
    -

    method AddFont [line 4302]

    +

    method AddFont [line 4316]

    @@ -6968,7 +7027,7 @@ $subset = 'default'])
    -

    method addHtmlLink [line 10696]

    +

    method addHtmlLink [line 10707]

    @@ -7043,7 +7102,7 @@ $firstblock = false])
    -

    method addHTMLTOC [line 21195]

    +

    method addHTMLTOC [line 21359]

    @@ -7106,7 +7165,7 @@ $correct_align = true])
    -

    method addHTMLVertSpace [line 19715]

    +

    method addHTMLVertSpace [line 19869]

    @@ -7160,7 +7219,7 @@ $firstorlast = false])
    -

    method addJavascriptObject [line 13257]

    +

    method addJavascriptObject [line 13274]

    @@ -7211,7 +7270,7 @@ $onload = false])
    -

    method AddLink [line 4625]

    +

    method AddLink [line 4639]

    @@ -7242,7 +7301,7 @@ $onload = false])
    -

    method AddPage [line 3464]

    +

    method AddPage [line 3478]

    @@ -7302,7 +7361,7 @@ $tocpage = false])
    -

    method AddSpotColor [line 3911]

    +

    method AddSpotColor [line 3925]

    @@ -7368,7 +7427,7 @@ $k)
    -

    method addTOC [line 21045]

    +

    method addTOC [line 21199]

    @@ -7431,7 +7490,7 @@ $toc_name = 'TOC'])
    -

    method addTOCPage [line 3439]

    +

    method addTOCPage [line 3453]

    @@ -7485,7 +7544,7 @@ $keepmargins = false])
    -

    method AliasNbPages [line 14474]

    +

    method AliasNbPages [line 14491]

    @@ -7527,7 +7586,7 @@ $alias = '{nb}'])
    -

    method AliasNumPage [line 14501]

    +

    method AliasNumPage [line 14518]

    @@ -7569,7 +7628,7 @@ $alias = '{pnb}'])
    -

    method Annotation [line 4681]

    +

    method Annotation [line 4695]

    @@ -7644,7 +7703,7 @@ $spaces = 0])
    -

    method Arrow [line 12467]

    +

    method Arrow [line 12478]

    @@ -7722,7 +7781,7 @@ $arm_angle = 15])
    -

    method arrUTF8ToUTF16BE [line 10591]

    +

    method arrUTF8ToUTF16BE [line 10602]

    @@ -7797,7 +7856,7 @@ $setbom = true])
    -

    method Bookmark [line 13135]

    +

    method Bookmark [line 13146]

    @@ -7857,7 +7916,7 @@ $page = ''])
    -

    method Button [line 14147]

    +

    method Button [line 14164]

    @@ -7953,7 +8012,7 @@ $js = false])
    -

    method Cell [line 4932]

    +

    method Cell [line 4946]

    @@ -8061,7 +8120,7 @@ $valign = 'M'])
    -

    method CheckBox [line 14077]

    +

    method CheckBox [line 14094]

    @@ -8151,7 +8210,7 @@ $js = false])
    -

    method checkPageBreak [line 4852]

    +

    method checkPageBreak [line 4866]

    @@ -8205,7 +8264,7 @@ $addpage = true])
    -

    method Circle [line 12155]

    +

    method Circle [line 12166]

    @@ -8304,7 +8363,7 @@ $angend:)
    -

    method Clip [line 15121]

    +

    method Clip [line 15138]

    @@ -8364,7 +8423,7 @@ $h)
    -

    method Close [line 3316]

    +

    method Close [line 3330]

    @@ -8395,7 +8454,7 @@ $h)
    -

    method closeHTMLTagHandler [line 19268]

    +

    method closeHTMLTagHandler [line 19368]

    @@ -8455,7 +8514,7 @@ $dom)
    -

    method colorRegistrationBar [line 14796]

    +

    method colorRegistrationBar [line 14813]

    @@ -8533,7 +8592,7 @@ $colors = 'A,R,G,B,C,M,Y,K'])
    -

    method ComboBox [line 14016]

    +

    method ComboBox [line 14033]

    @@ -8623,7 +8682,7 @@ $js = false])
    -

    method commitTransaction [line 21307]

    +

    method commitTransaction [line 21471]

    @@ -8651,7 +8710,7 @@ $js = false])
    -

    method convertHexStringToString [line 11318]

    +

    method convertHexStringToString [line 11329]

    @@ -8693,7 +8752,7 @@ $bs)
    -

    method convertHTMLColorToDec [line 10729]

    +

    method convertHTMLColorToDec [line 10740]

    @@ -8732,7 +8791,7 @@ $color = '#FFFFFF'])
    -

    method convertStringToHexString [line 11340]

    +

    method convertStringToHexString [line 11351]

    @@ -8777,7 +8836,7 @@ $s)
    -

    method convertSVGtMatrix [line 22263]

    +

    method convertSVGtMatrix [line 22492]

    @@ -8819,7 +8878,7 @@ $tm)
    -

    method CoonsPatchMesh [line 15036]

    +

    method CoonsPatchMesh [line 15053]

    @@ -8927,7 +8986,7 @@ $antialias = false])
    -

    method copyPage [line 20975]

    +

    method copyPage [line 21129]

    @@ -8969,7 +9028,7 @@ $page = 0])
    -

    method cropMark [line 14894]

    +

    method cropMark [line 14911]

    @@ -9041,7 +9100,7 @@ $color = array(0,0,0)])
    -

    method Curve [line 11960]

    +

    method Curve [line 11971]

    @@ -9143,7 +9202,7 @@ $fill_color = array()])
    -

    method deletePage [line 20832]

    +

    method deletePage [line 20986]

    @@ -9185,7 +9244,7 @@ $page)
    -

    method drawHTMLTagBorder [line 19752]

    +

    method drawHTMLTagBorder [line 19906]

    @@ -9230,7 +9289,7 @@ $xmax)
    -

    method Ellipse [line 12024]

    +

    method Ellipse [line 12035]

    @@ -9350,7 +9409,7 @@ $afinish:)
    -

    method empty_string [line 21361]

    +

    method empty_string [line 21525]

    @@ -9392,7 +9451,7 @@ $str)
    -

    method endPage [line 3484]

    +

    method endPage [line 3498]

    @@ -9434,7 +9493,7 @@ $tocpage = false])
    -

    method endSVGElementHandler [line 23289]

    +

    method endSVGElementHandler [line 23518]

    @@ -9482,7 +9541,7 @@ $name)
    -

    method endTOCPage [line 3449]

    +

    method endTOCPage [line 3463]

    @@ -9513,7 +9572,7 @@ $name)
    -

    method Error [line 3288]

    +

    method Error [line 3302]

    @@ -9552,7 +9611,7 @@ $msg)
    -

    method extractCSSproperties [line 16309]

    +

    method extractCSSproperties [line 16326]

    @@ -9597,7 +9656,7 @@ $cssdata)
    -

    method fitBlock [line 6495]

    +

    method fitBlock [line 6506]

    @@ -9684,7 +9743,7 @@ $y)
    -

    method Footer [line 3732]

    +

    method Footer [line 3746]

    @@ -9709,7 +9768,7 @@ $y)
    -

    method formatPageNumber [line 14578]

    +

    method formatPageNumber [line 14595]

    @@ -9748,7 +9807,7 @@ $num)
    -

    method formatTOCPageNumber [line 14590]

    +

    method formatTOCPageNumber [line 14607]

    @@ -9790,7 +9849,7 @@ $num)
    -

    method GetAbsX [line 7226]

    +

    method GetAbsX [line 7237]

    @@ -9821,7 +9880,7 @@ $num)
    -

    method getAliasNbPages [line 14486]

    +

    method getAliasNbPages [line 14503]

    @@ -9852,7 +9911,7 @@ $num)
    -

    method getAliasNumPage [line 14514]

    +

    method getAliasNumPage [line 14531]

    @@ -9883,7 +9942,7 @@ $num)
    -

    method getAnnotOptFromJSProp [line 13383]

    +

    method getAnnotOptFromJSProp [line 13400]

    @@ -9928,7 +9987,7 @@ $prop)
    -

    method GetArrStringWidth [line 4204]

    +

    method GetArrStringWidth [line 4218]

    @@ -9997,7 +10056,7 @@ $getarray = false])
    -

    method getBarcode [line 15758]

    +

    method getBarcode [line 15775]

    @@ -10025,7 +10084,7 @@ $getarray = false])
    -

    method getBorderMode [line 5803]

    +

    method getBorderMode [line 5817]

    @@ -10073,7 +10132,7 @@ $position = 'start'])
    -

    method getBorderStartPosition [line 19736]

    +

    method getBorderStartPosition [line 19890]

    @@ -10104,7 +10163,7 @@ $position = 'start'])
    -

    method getBreakMargin [line 3013]

    +

    method getBreakMargin [line 3027]

    @@ -10152,7 +10211,7 @@ $pagenum = ''])
    -

    method getBuffer [line 20512]

    +

    method getBuffer [line 20666]

    @@ -10183,7 +10242,7 @@ $pagenum = ''])
    -

    method getCellBorder [line 5330]

    +

    method getCellBorder [line 5344]

    @@ -10258,7 +10317,7 @@ $mode)
    -

    method getCellCode [line 4963]

    +

    method getCellCode [line 4977]

    @@ -10369,7 +10428,7 @@ $valign = 'M'])
    -

    method getCellHeightRatio [line 14756]

    +

    method getCellHeightRatio [line 14773]

    @@ -10397,7 +10456,7 @@ $valign = 'M'])
    -

    method GetCharWidth [line 4240]

    +

    method GetCharWidth [line 4254]

    @@ -10442,7 +10501,7 @@ $char)
    -

    method getColumn [line 21489]

    +

    method getColumn [line 21680]

    @@ -10473,7 +10532,7 @@ $char)
    -

    method getCSSBorderDashStyle [line 16604]

    +

    method getCSSBorderDashStyle [line 16621]

    @@ -10515,7 +10574,7 @@ $style)
    -

    method getCSSBorderStyle [line 16640]

    +

    method getCSSBorderStyle [line 16657]

    @@ -10557,7 +10616,7 @@ $cssborder)
    -

    method getCSSBorderWidth [line 16584]

    +

    method getCSSBorderWidth [line 16601]

    @@ -10599,7 +10658,7 @@ $width)
    -

    method getEncPermissionsString [line 11357]

    +

    method getEncPermissionsString [line 11368]

    @@ -10641,7 +10700,7 @@ $protection)
    -

    method getFontAscent [line 4595]

    +

    method getFontAscent [line 4609]

    @@ -10698,7 +10757,7 @@ $size = 0])
    -

    method getFontBuffer [line 20672]

    +

    method getFontBuffer [line 20826]

    @@ -10740,7 +10799,7 @@ $font)
    -

    method getFontDescent [line 4572]

    +

    method getFontDescent [line 4586]

    @@ -10797,7 +10856,7 @@ $size = 0])
    -

    method getFontFamily [line 16287]

    +

    method getFontFamily [line 16304]

    @@ -10828,7 +10887,7 @@ $size = 0])
    -

    method getFontSize [line 16267]

    +

    method getFontSize [line 16284]

    @@ -10859,7 +10918,7 @@ $size = 0])
    -

    method getFontSizePt [line 16277]

    +

    method getFontSizePt [line 16294]

    @@ -10890,7 +10949,7 @@ $size = 0])
    -

    method getFontsList [line 4279]

    +

    method getFontsList [line 4293]

    @@ -10918,7 +10977,7 @@ $size = 0])
    -

    method getFontStyle [line 16297]

    +

    method getFontStyle [line 16314]

    @@ -10949,7 +11008,7 @@ $size = 0])
    -

    method getFontSubsetting [line 21845]

    +

    method getFontSubsetting [line 22036]

    @@ -10983,7 +11042,7 @@ $size = 0])
    -

    method getFooterFont [line 10654]

    +

    method getFooterFont [line 10665]

    @@ -11011,7 +11070,7 @@ $size = 0])
    -

    method getFooterMargin [line 3646]

    +

    method getFooterMargin [line 3660]

    @@ -11039,7 +11098,7 @@ $size = 0])
    -

    method getFormDefaultProp [line 13758]

    +

    method getFormDefaultProp [line 13775]

    @@ -11073,7 +11132,7 @@ $size = 0])
    -

    method getGDgamma [line 7166]

    +

    method getGDgamma [line 7177]

    @@ -11112,7 +11171,7 @@ $v)
    -

    method getGraphicVars [line 20344]

    +

    method getGraphicVars [line 20498]

    @@ -11143,7 +11202,7 @@ $v)
    -

    method getGroupPageNo [line 14527]

    +

    method getGroupPageNo [line 14544]

    @@ -11174,7 +11233,7 @@ $v)
    -

    method getGroupPageNoFormatted [line 14537]

    +

    method getGroupPageNoFormatted [line 14554]

    @@ -11205,7 +11264,7 @@ $v)
    -

    method getHeaderData [line 3601]

    +

    method getHeaderData [line 3615]

    @@ -11233,7 +11292,7 @@ $v)
    -

    method getHeaderFont [line 10634]

    +

    method getHeaderFont [line 10645]

    @@ -11261,7 +11320,7 @@ $v)
    -

    method getHeaderMargin [line 3626]

    +

    method getHeaderMargin [line 3640]

    @@ -11289,7 +11348,7 @@ $v)
    -

    method getHtmlDomArray [line 16688]

    +

    method getHtmlDomArray [line 16705]

    @@ -11328,7 +11387,7 @@ $html)
    -

    method getHTMLUnitToUnits [line 20055]

    +

    method getHTMLUnitToUnits [line 20209]

    @@ -11394,7 +11453,7 @@ $point)
    -

    method getHyphenPatternsFromTEX [line 21645]

    +

    method getHyphenPatternsFromTEX [line 21836]

    @@ -11439,7 +11498,7 @@ $file)
    -

    method getImageBuffer [line 20614]

    +

    method getImageBuffer [line 20768]

    @@ -11481,7 +11540,7 @@ $image)
    -

    method getImageFileType [line 6465]

    +

    method getImageFileType [line 6476]

    @@ -11529,7 +11588,7 @@ $iminfo = array()])
    -

    method getImageRBX [line 3672]

    +

    method getImageRBX [line 3686]

    @@ -11554,7 +11613,7 @@ $iminfo = array()])
    -

    method getImageRBY [line 3681]

    +

    method getImageRBY [line 3695]

    @@ -11579,7 +11638,7 @@ $iminfo = array()])
    -

    method getImageScale [line 2952]

    +

    method getImageScale [line 2966]

    @@ -11613,7 +11672,7 @@ $iminfo = array()])
    -

    method getLastH [line 2930]

    +

    method getLastH [line 2944]

    @@ -11644,7 +11703,7 @@ $iminfo = array()])
    -

    method GetLineWidth [line 11700]

    +

    method GetLineWidth [line 11711]

    @@ -11678,7 +11737,7 @@ $iminfo = array()])
    -

    method getMargins [line 16230]

    +

    method getMargins [line 16247]

    @@ -11709,7 +11768,7 @@ $iminfo = array()])
    -

    method GetNumChars [line 4267]

    +

    method GetNumChars [line 4281]

    @@ -11751,7 +11810,7 @@ $s)
    -

    method getNumLines [line 5881]

    +

    method getNumLines [line 5895]

    @@ -11826,7 +11885,7 @@ $lineWidth = ''])
    -

    method getNumPages [line 3427]

    +

    method getNumPages [line 3441]

    @@ -11860,7 +11919,7 @@ $lineWidth = ''])
    -

    method getObjFilename [line 20426]

    +

    method getObjFilename [line 20580]

    @@ -11905,7 +11964,7 @@ $prefix)
    -

    method getOriginalMargins [line 16253]

    +

    method getOriginalMargins [line 16270]

    @@ -11936,7 +11995,7 @@ $prefix)
    -

    method getPage [line 3415]

    +

    method getPage [line 3429]

    @@ -11970,7 +12029,7 @@ $prefix)
    -

    method getPageBuffer [line 20555]

    +

    method getPageBuffer [line 20709]

    @@ -12012,7 +12071,7 @@ $page)
    -

    method getPageDimensions [line 2965]

    +

    method getPageDimensions [line 2979]

    @@ -12057,7 +12116,7 @@ $pagenum = ''])
    -

    method getPageGroupAlias [line 14549]

    +

    method getPageGroupAlias [line 14566]

    @@ -12088,7 +12147,7 @@ $pagenum = ''])
    -

    method getPageHeight [line 2997]

    +

    method getPageHeight [line 3011]

    @@ -12136,7 +12195,7 @@ $pagenum = ''])
    -

    method getPageNumGroupAlias [line 14564]

    +

    method getPageNumGroupAlias [line 14581]

    @@ -12167,7 +12226,7 @@ $pagenum = ''])
    -

    method getPageSizeFromFormat [line 2195]

    +

    method getPageSizeFromFormat [line 2209]

    @@ -12209,7 +12268,7 @@ $format)
    -

    method getPageWidth [line 2981]

    +

    method getPageWidth [line 2995]

    @@ -12257,7 +12316,7 @@ $pagenum = ''])
    -

    method getPathPaintOperator [line 21757]

    +

    method getPathPaintOperator [line 21948]

    @@ -12311,7 +12370,7 @@ $mode)
    -

    method getPDFData [line 10677]

    +

    method getPDFData [line 10688]

    @@ -12336,7 +12395,7 @@ $mode)
    -

    method getRemainingWidth [line 6366]

    +

    method getRemainingWidth [line 6377]

    @@ -12364,7 +12423,7 @@ $mode)
    -

    method getRTL [line 2865]

    +

    method getRTL [line 2879]

    @@ -12392,7 +12451,7 @@ $mode)
    -

    method getScaleFactor [line 3027]

    +

    method getScaleFactor [line 3041]

    @@ -12426,7 +12485,7 @@ $mode)
    -

    method getSpaceString [line 17392]

    +

    method getSpaceString [line 17408]

    @@ -12457,7 +12516,7 @@ $mode)
    -

    method getStringHeight [line 5982]

    +

    method getStringHeight [line 5996]

    @@ -12560,7 +12619,7 @@ $lineWidth = ''])
    -

    method GetStringWidth [line 4188]

    +

    method GetStringWidth [line 4202]

    @@ -12629,7 +12688,7 @@ $getarray = false])
    -

    method getSVGTransformMatrix [line 22141]

    +

    method getSVGTransformMatrix [line 22370]

    @@ -12674,7 +12733,7 @@ $attribute)
    -

    method getTagStyleFromCSS [line 16556]

    +

    method getTagStyleFromCSS [line 16573]

    @@ -12728,7 +12787,7 @@ $css)
    -

    method getTransformationMatrixProduct [line 22245]

    +

    method getTransformationMatrixProduct [line 22474]

    @@ -12779,7 +12838,7 @@ $tb)
    -

    method getUserPermissionCode [line 11197]

    +

    method getUserPermissionCode [line 11208]

    @@ -12827,7 +12886,7 @@ $mode = 0])
    -

    method getVectorsAngle [line 22875]

    +

    method getVectorsAngle [line 23104]

    @@ -12887,7 +12946,7 @@ $y2)
    -

    method GetX [line 7210]

    +

    method GetX [line 7221]

    @@ -12918,7 +12977,7 @@ $y2)
    -

    method GetY [line 7237]

    +

    method GetY [line 7248]

    @@ -12949,7 +13008,7 @@ $y2)
    -

    method get_mqr [line 6882]

    +

    method get_mqr [line 6893]

    @@ -12980,7 +13039,7 @@ $y2)
    -

    method Gradient [line 15145]

    +

    method Gradient [line 15162]

    @@ -13046,7 +13105,7 @@ $antialias = false])
    -

    method Header [line 3690]

    +

    method Header [line 3704]

    @@ -13071,7 +13130,7 @@ $antialias = false])
    -

    method hyphenateText [line 21684]

    +

    method hyphenateText [line 21875]

    @@ -13152,7 +13211,7 @@ $charmax = 8])
    -

    method hyphenateWord [line 21575]

    +

    method hyphenateWord [line 21766]

    @@ -13233,7 +13292,7 @@ $charmax = 8])
    -

    method Image [line 6572]

    +

    method Image [line 6583]

    @@ -13371,7 +13430,7 @@ $fitonpage = false])
    -

    method ImageEps [line 15491]

    +

    method ImageEps [line 15508]

    @@ -13473,7 +13532,7 @@ $fitonpage = false])
    -

    method ImagePngAlpha [line 7122]

    +

    method ImagePngAlpha [line 7133]

    @@ -13590,7 +13649,7 @@ $palign)
    -

    method ImageSVG [line 21870]

    +

    method ImageSVG [line 22099]

    @@ -13686,7 +13745,7 @@ $fitonpage = false])
    -

    method IncludeJS [line 13244]

    +

    method IncludeJS [line 13261]

    @@ -13728,7 +13787,7 @@ $script)
    -

    method intToRoman [line 20134]

    +

    method intToRoman [line 20288]

    @@ -13770,7 +13829,7 @@ $number)
    -

    method isRTLTextDir [line 2909]

    +

    method isRTLTextDir [line 2923]

    @@ -13798,7 +13857,7 @@ $number)
    -

    method isValidCSSSelectorForTag [line 16397]

    +

    method isValidCSSSelectorForTag [line 16414]

    @@ -13852,7 +13911,7 @@ $selector)
    -

    method lastPage [line 3404]

    +

    method lastPage [line 3418]

    @@ -13894,7 +13953,7 @@ $resetmargins = false])
    -

    method Line [line 11877]

    +

    method Line [line 11888]

    @@ -13960,7 +14019,7 @@ $style = array()])
    -

    method LinearGradient [line 14995]

    +

    method LinearGradient [line 15012]

    @@ -14038,7 +14097,7 @@ $coords = array(0,0,1,0)])
    -

    method Link [line 4664]

    +

    method Link [line 4678]

    @@ -14110,7 +14169,7 @@ $spaces = 0])
    -

    method ListBox [line 13956]

    +

    method ListBox [line 13973]

    @@ -14200,7 +14259,7 @@ $js = false])
    -

    method Ln [line 7179]

    +

    method Ln [line 7190]

    @@ -14248,7 +14307,7 @@ $cell = false])
    -

    method MirrorH [line 11482]

    +

    method MirrorH [line 11493]

    @@ -14290,7 +14349,7 @@ $x = ''])
    -

    method MirrorL [line 11518]

    +

    method MirrorL [line 11529]

    @@ -14344,7 +14403,7 @@ $y = ''])
    -

    method MirrorP [line 11505]

    +

    method MirrorP [line 11516]

    @@ -14392,7 +14451,7 @@ $y = ''])
    -

    method MirrorV [line 11493]

    +

    method MirrorV [line 11504]

    @@ -14434,7 +14493,7 @@ $y = ''])
    -

    method movePage [line 20689]

    +

    method movePage [line 20843]

    @@ -14482,7 +14541,7 @@ $topage)
    -

    method MultiCell [line 5533]

    +

    method MultiCell [line 5547]

    @@ -14620,7 +14679,7 @@ $fitcell = false])
    -

    method objclone [line 21350]

    +

    method objclone [line 21514]

    @@ -14662,7 +14721,7 @@ $object)
    -

    method Open [line 3303]

    +

    method Open [line 3317]

    @@ -14693,7 +14752,7 @@ $object)
    -

    method openHTMLTagHandler [line 18667]

    +

    method openHTMLTagHandler [line 18767]

    @@ -14747,7 +14806,7 @@ $dom)
    -

    method Output [line 7329]

    +

    method Output [line 7340]

    @@ -14795,7 +14854,7 @@ $dest = 'I'])
    -

    method PageNo [line 3895]

    +

    method PageNo [line 3909]

    @@ -14829,7 +14888,7 @@ $dest = 'I'])
    -

    method PageNoFormatted [line 14600]

    +

    method PageNoFormatted [line 14617]

    @@ -14860,7 +14919,7 @@ $dest = 'I'])
    -

    method PieSector [line 15430]

    +

    method PieSector [line 15447]

    @@ -14956,7 +15015,7 @@ $o:)
    -

    method PieSectorXY [line 15451]

    +

    method PieSectorXY [line 15468]

    @@ -15064,7 +15123,7 @@ $o:)
    -

    method pixelsToUnits [line 10796]

    +

    method pixelsToUnits [line 10807]

    @@ -15106,7 +15165,7 @@ $px)
    -

    method Polycurve [line 11987]

    +

    method Polycurve [line 11998]

    @@ -15178,7 +15237,7 @@ $fill_color = array()])
    -

    method Polygon [line 12193]

    +

    method Polygon [line 12204]

    @@ -15241,7 +15300,7 @@ $closed = true])
    -

    method PolyLine [line 12174]

    +

    method PolyLine [line 12185]

    @@ -15304,7 +15363,7 @@ $closed)
    -

    method putHtmlListBullet [line 20199]

    +

    method putHtmlListBullet [line 20353]

    @@ -15355,7 +15414,7 @@ $size = 10])
    -

    method RadialGradient [line 15013]

    +

    method RadialGradient [line 15030]

    @@ -15433,7 +15492,7 @@ $coords = array(0.5,0.5,0.5,0.5,1)])
    -

    method RadioButton [line 13867]

    +

    method RadioButton [line 13884]

    @@ -15523,7 +15582,7 @@ $js = false])
    -

    method readDiskCache [line 20466]

    +

    method readDiskCache [line 20620]

    @@ -15571,7 +15630,7 @@ $file)
    -

    method Rect [line 11905]

    +

    method Rect [line 11916]

    @@ -15649,7 +15708,7 @@ $fill_color = array()])
    -

    method registrationMark [line 14964]

    +

    method registrationMark [line 14981]

    @@ -15721,7 +15780,7 @@ $colb = array(255,255,255)])
    -

    method RegularPolygon [line 12291]

    +

    method RegularPolygon [line 12302]

    @@ -15832,7 +15891,7 @@ $r:)
    -

    method removeSHY [line 4905]

    +

    method removeSHY [line 4919]

    @@ -15874,7 +15933,7 @@ $txt = ''])
    -

    method replaceBuffer [line 20494]

    +

    method replaceBuffer [line 20648]

    @@ -15913,7 +15972,7 @@ $data)
    -

    method revstrpos [line 21374]

    +

    method revstrpos [line 21538]

    @@ -15967,7 +16026,7 @@ $offset = 0])
    -

    method rfread [line 7090]

    +

    method rfread [line 7101]

    @@ -16018,7 +16077,7 @@ $length)
    -

    method rollbackTransaction [line 21321]

    +

    method rollbackTransaction [line 21485]

    @@ -16060,7 +16119,7 @@ $self = false])
    -

    method Rotate [line 11574]

    +

    method Rotate [line 11585]

    @@ -16114,7 +16173,7 @@ $y = ''])
    -

    method RoundedRect [line 12381]

    +

    method RoundedRect [line 12392]

    @@ -16201,7 +16260,7 @@ $fill_color = array()])
    -

    method RoundedRectXY [line 12400]

    +

    method RoundedRectXY [line 12411]

    @@ -16294,7 +16353,7 @@ $fill_color = array()])
    -

    method Scale [line 11450]

    +

    method Scale [line 11461]

    @@ -16354,7 +16413,7 @@ $y = ''])
    -

    method ScaleX [line 11410]

    +

    method ScaleX [line 11421]

    @@ -16408,7 +16467,7 @@ $y = ''])
    -

    method ScaleXY [line 11436]

    +

    method ScaleXY [line 11447]

    @@ -16462,7 +16521,7 @@ $y = ''])
    -

    method ScaleY [line 11423]

    +

    method ScaleY [line 11434]

    @@ -16516,7 +16575,7 @@ $y = ''])
    -

    method segSVGContentHandler [line 23328]

    +

    method segSVGContentHandler [line 23557]

    @@ -16564,7 +16623,7 @@ $data)
    -

    method selectColumn [line 21437]

    +

    method selectColumn [line 21601]

    @@ -16603,7 +16662,7 @@ $col = ''])
    -

    method serializeTCPDFtagParameters [line 21500]

    +

    method serializeTCPDFtagParameters [line 21691]

    @@ -16645,7 +16704,7 @@ $pararray)
    -

    method setAlpha [line 14713]

    +

    method setAlpha [line 14730]

    @@ -16690,7 +16749,7 @@ $bm = 'Normal'])
    -

    method SetAuthor [line 3252]

    +

    method SetAuthor [line 3266]

    @@ -16732,7 +16791,7 @@ $author)
    -

    method SetAutoPageBreak [line 3119]

    +

    method SetAutoPageBreak [line 3133]

    @@ -16780,7 +16839,7 @@ $margin = 0])
    -

    method setBarcode [line 15748]

    +

    method setBarcode [line 15765]

    @@ -16816,7 +16875,7 @@ $bc = ''])
    -

    method SetBooklet [line 19969]

    +

    method SetBooklet [line 20123]

    @@ -16867,7 +16926,7 @@ $outer = -1])
    -

    method setBuffer [line 20476]

    +

    method setBuffer [line 20630]

    @@ -16906,7 +16965,7 @@ $data)
    -

    method setCellHeightRatio [line 14747]

    +

    method setCellHeightRatio [line 14764]

    @@ -16945,7 +17004,7 @@ $h)
    -

    method SetCellPadding [line 3107]

    +

    method SetCellPadding [line 3121]

    @@ -16987,7 +17046,7 @@ $pad)
    -

    method setColumnsArray [line 21424]

    +

    method setColumnsArray [line 21588]

    @@ -17026,7 +17085,7 @@ $columns)
    -

    method SetCompression [line 3212]

    +

    method SetCompression [line 3226]

    @@ -17065,7 +17124,7 @@ $compress)
    -

    method setContentMark [line 3568]

    +

    method setContentMark [line 3582]

    @@ -17104,7 +17163,7 @@ $page = 0])
    -

    method SetCreator [line 3276]

    +

    method SetCreator [line 3290]

    @@ -17146,7 +17205,7 @@ $creator)
    -

    method SetDefaultMonospacedFont [line 4614]

    +

    method SetDefaultMonospacedFont [line 4628]

    @@ -17185,7 +17244,7 @@ $font)
    -

    method setDefaultTableColumns [line 14737]

    +

    method setDefaultTableColumns [line 14754]

    @@ -17224,7 +17283,7 @@ $cols = 4])
    -

    method SetDisplayMode [line 3134]

    +

    method SetDisplayMode [line 3148]

    @@ -17275,7 +17334,7 @@ $mode = 'UseNone'])
    -

    method SetDrawColor [line 3955]

    +

    method SetDrawColor [line 3969]

    @@ -17344,7 +17403,7 @@ $ret = false])
    -

    method SetDrawColorArray [line 3929]

    +

    method SetDrawColorArray [line 3943]

    @@ -17395,7 +17454,7 @@ $ret = false])
    -

    method SetDrawSpotColor [line 4000]

    +

    method SetDrawSpotColor [line 4014]

    @@ -17443,7 +17502,7 @@ $tint = 100])
    -

    method setEqualColumns [line 21391]

    +

    method setEqualColumns [line 21555]

    @@ -17494,7 +17553,7 @@ $y = ''])
    -

    method setExtGState [line 14679]

    +

    method setExtGState [line 14696]

    @@ -17533,7 +17592,7 @@ $gs)
    -

    method SetFillColor [line 4042]

    +

    method SetFillColor [line 4056]

    @@ -17593,7 +17652,7 @@ $col4 = -1])
    -

    method SetFillColorArray [line 4019]

    +

    method SetFillColorArray [line 4033]

    @@ -17635,7 +17694,7 @@ $color)
    -

    method SetFillSpotColor [line 4084]

    +

    method SetFillSpotColor [line 4098]

    @@ -17683,7 +17742,7 @@ $tint = 100])
    -

    method SetFont [line 4522]

    +

    method SetFont [line 4536]

    @@ -17752,7 +17811,7 @@ $subset = 'default'])
    -

    method setFontBuffer [line 20630]

    +

    method setFontBuffer [line 20784]

    @@ -17797,7 +17856,7 @@ $data)
    -

    method SetFontSize [line 4543]

    +

    method SetFontSize [line 4557]

    @@ -17845,7 +17904,7 @@ $out = true])
    -

    method setFontSubBuffer [line 20652]

    +

    method setFontSubBuffer [line 20806]

    @@ -17896,7 +17955,7 @@ $data)
    -

    method setFontSubsetting [line 21834]

    +

    method setFontSubsetting [line 22025]

    @@ -17938,7 +17997,7 @@ $enable = true])
    -

    method setFooter [line 3804]

    +

    method setFooter [line 3818]

    @@ -17966,7 +18025,7 @@ $enable = true])
    -

    method setFooterFont [line 10644]

    +

    method setFooterFont [line 10655]

    @@ -18005,7 +18064,7 @@ $font)
    -

    method setFooterMargin [line 3636]

    +

    method setFooterMargin [line 3650]

    @@ -18041,7 +18100,7 @@ $fm = 10])
    -

    method setFormDefaultProp [line 13747]

    +

    method setFormDefaultProp [line 13764]

    @@ -18083,7 +18142,7 @@ $prop = array()])
    -

    method setGraphicVars [line 20384]

    +

    method setGraphicVars [line 20538]

    @@ -18122,7 +18181,7 @@ $gvars)
    -

    method setHeader [line 3767]

    +

    method setHeader [line 3781]

    @@ -18150,7 +18209,7 @@ $gvars)
    -

    method setHeaderData [line 3587]

    +

    method setHeaderData [line 3601]

    @@ -18204,7 +18263,7 @@ $hs = ''])
    -

    method setHeaderFont [line 10624]

    +

    method setHeaderFont [line 10635]

    @@ -18243,7 +18302,7 @@ $font)
    -

    method setHeaderMargin [line 3616]

    +

    method setHeaderMargin [line 3630]

    @@ -18279,7 +18338,7 @@ $hm = 10])
    -

    method setHtmlLinksStyle [line 20040]

    +

    method setHtmlLinksStyle [line 20194]

    @@ -18324,7 +18383,7 @@ $fontstyle = 'U'])
    -

    method setHtmlVSpace [line 20009]

    +

    method setHtmlVSpace [line 20163]

    @@ -18363,7 +18422,7 @@ $tagvs)
    -

    method setImageBuffer [line 20571]

    +

    method setImageBuffer [line 20725]

    @@ -18408,7 +18467,7 @@ $data)
    -

    method setImageScale [line 2941]

    +

    method setImageScale [line 2955]

    @@ -18450,7 +18509,7 @@ $scale)
    -

    method setImageSubBuffer [line 20594]

    +

    method setImageSubBuffer [line 20748]

    @@ -18501,7 +18560,7 @@ $data)
    -

    method setJPEGQuality [line 14724]

    +

    method setJPEGQuality [line 14741]

    @@ -18540,7 +18599,7 @@ $quality)
    -

    method SetKeywords [line 3264]

    +

    method SetKeywords [line 3278]

    @@ -18582,7 +18641,7 @@ $keywords)
    -

    method setLanguageArray [line 10664]

    +

    method setLanguageArray [line 10675]

    @@ -18621,7 +18680,7 @@ $language)
    -

    method setLastH [line 2920]

    +

    method setLastH [line 2934]

    @@ -18663,7 +18722,7 @@ $h)
    -

    method SetLeftMargin [line 3063]

    +

    method SetLeftMargin [line 3077]

    @@ -18705,7 +18764,7 @@ $margin)
    -

    method SetLineStyle [line 11727]

    +

    method SetLineStyle [line 11738]

    @@ -18760,7 +18819,7 @@ $ret = false])
    -

    method SetLineWidth [line 11684]

    +

    method SetLineWidth [line 11695]

    @@ -18802,7 +18861,7 @@ $width)
    -

    method SetLink [line 4641]

    +

    method SetLink [line 4655]

    @@ -18856,7 +18915,7 @@ $page = -1])
    -

    method setListIndentWidth [line 20019]

    +

    method setListIndentWidth [line 20173]

    @@ -18895,7 +18954,7 @@ $width)
    -

    method setLIsymbol [line 19930]

    +

    method setLIsymbol [line 20084]

    @@ -18934,7 +18993,7 @@ $symbol = '!'])
    -

    method SetMargins [line 3041]

    +

    method SetMargins [line 3055]

    @@ -18994,7 +19053,7 @@ $keepmargins = false])
    -

    method setOpenCell [line 20029]

    +

    method setOpenCell [line 20183]

    @@ -19033,7 +19092,7 @@ $isopen)
    -

    method setPage [line 3357]

    +

    method setPage [line 3371]

    @@ -19081,7 +19140,7 @@ $resetmargins = false])
    -

    method setPageBoxes [line 2674]

    +

    method setPageBoxes [line 2688]

    @@ -19156,7 +19215,7 @@ $points = false])
    -

    method setPageBuffer [line 20528]

    +

    method setPageBuffer [line 20682]

    @@ -19207,7 +19266,7 @@ $append = false])
    -

    method setPageFormat [line 2556]

    +

    method setPageFormat [line 2570]

    @@ -19255,7 +19314,7 @@ $orientation = 'P'])
    -

    method setPageMark [line 3555]

    +

    method setPageMark [line 3569]

    @@ -19283,7 +19342,7 @@ $orientation = 'P'])
    -

    method setPageOrientation [line 2723]

    +

    method setPageOrientation [line 2737]

    @@ -19334,7 +19393,7 @@ $bottommargin = ''])
    -

    method setPageUnit [line 1844]

    +

    method setPageUnit [line 1858]

    @@ -19373,7 +19432,7 @@ $unit)
    -

    method setPDFVersion [line 14766]

    +

    method setPDFVersion [line 14783]

    @@ -19412,7 +19471,7 @@ $version = '1.7'])
    -

    method setPrintFooter [line 3663]

    +

    method setPrintFooter [line 3677]

    @@ -19454,7 +19513,7 @@ $value)
    -

    method setPrintHeader [line 3654]

    +

    method setPrintHeader [line 3668]

    @@ -19490,7 +19549,7 @@ $val = true])
    -

    method SetProtection [line 11241]

    +

    method SetProtection [line 11252]

    @@ -19556,7 +19615,7 @@ $pubkeys = null])
    -

    method setRasterizeVectorImages [line 21731]

    +

    method setRasterizeVectorImages [line 21922]

    @@ -19595,7 +19654,7 @@ $mode)
    -

    method SetRightMargin [line 3093]

    +

    method SetRightMargin [line 3107]

    @@ -19637,7 +19696,7 @@ $margin)
    -

    method setRTL [line 2849]

    +

    method setRTL [line 2863]

    @@ -19682,7 +19741,7 @@ $resetx = true])
    -

    method setSignature [line 14406]

    +

    method setSignature [line 14423]

    @@ -19754,7 +19813,7 @@ $info = array()])
    -

    method setSignatureAppearance [line 14439]

    +

    method setSignatureAppearance [line 14456]

    @@ -19820,7 +19879,7 @@ $page = -1])
    -

    method setSpacesRE [line 2824]

    +

    method setSpacesRE [line 2838]

    @@ -19862,7 +19921,7 @@ $re = '/[\s]/'])
    -

    method SetSubject [line 3240]

    +

    method SetSubject [line 3254]

    @@ -19904,7 +19963,7 @@ $subject)
    -

    method setSVGStyles [line 22302]

    +

    method setSVGStyles [line 22531]

    @@ -19988,7 +20047,7 @@ $clip_params = array()])
    -

    method setTableHeader [line 3851]

    +

    method setTableHeader [line 3865]

    @@ -20016,7 +20075,7 @@ $clip_params = array()])
    -

    method setTempRTL [line 2875]

    +

    method setTempRTL [line 2889]

    @@ -20055,7 +20114,7 @@ $mode)
    -

    method SetTextColor [line 4126]

    +

    method SetTextColor [line 4140]

    @@ -20115,7 +20174,7 @@ $col4 = -1])
    -

    method SetTextColorArray [line 4103]

    +

    method SetTextColorArray [line 4117]

    @@ -20157,7 +20216,7 @@ $color)
    -

    method setTextRenderingMode [line 21512]

    +

    method setTextRenderingMode [line 21703]

    @@ -20208,7 +20267,7 @@ $clip = false])
    -

    method SetTextSpotColor [line 4165]

    +

    method SetTextSpotColor [line 4179]

    @@ -20256,7 +20315,7 @@ $tint = 100])
    -

    method SetTitle [line 3228]

    +

    method SetTitle [line 3242]

    @@ -20298,7 +20357,7 @@ $title)
    -

    method SetTopMargin [line 3078]

    +

    method SetTopMargin [line 3092]

    @@ -20340,7 +20399,7 @@ $margin)
    -

    method setUserRights [line 14373]

    +

    method setUserRights [line 14390]

    @@ -20406,7 +20465,7 @@ $signature = '/Modify'])
    -

    method setViewerPreferences [line 14779]

    +

    method setViewerPreferences [line 14796]

    @@ -20448,7 +20507,7 @@ $preferences)
    -

    method setVisibility [line 14624]

    +

    method setVisibility [line 14641]

    @@ -20487,7 +20546,7 @@ $v)
    -

    method SetX [line 7250]

    +

    method SetX [line 7261]

    @@ -20535,7 +20594,7 @@ $rtloff = false])
    -

    method SetXY [line 7314]

    +

    method SetXY [line 7325]

    @@ -20589,7 +20648,7 @@ $rtloff = false])
    -

    method SetY [line 7282]

    +

    method SetY [line 7293]

    @@ -20643,7 +20702,7 @@ $rtloff = false])
    -

    method set_mqr [line 6867]

    +

    method set_mqr [line 6878]

    @@ -20682,7 +20741,7 @@ $mqr)
    -

    method Skew [line 11630]

    +

    method Skew [line 11641]

    @@ -20742,7 +20801,7 @@ $y = ''])
    -

    method SkewX [line 11603]

    +

    method SkewX [line 11614]

    @@ -20796,7 +20855,7 @@ $y = ''])
    -

    method SkewY [line 11616]

    +

    method SkewY [line 11627]

    @@ -20850,7 +20909,7 @@ $y = ''])
    -

    method StarPolygon [line 12339]

    +

    method StarPolygon [line 12350]

    @@ -20974,7 +21033,7 @@ $draw_circle:)
    -

    method startPage [line 3511]

    +

    method startPage [line 3525]

    @@ -21028,7 +21087,7 @@ $tocpage = false])
    -

    method startPageGroup [line 14459]

    +

    method startPageGroup [line 14476]

    @@ -21067,7 +21126,7 @@ $page = ''])
    -

    method startSVGElementHandler [line 22898]

    +

    method startSVGElementHandler [line 23127]

    @@ -21121,7 +21180,7 @@ $attribs)
    -

    method startTransaction [line 21290]

    +

    method startTransaction [line 21454]

    @@ -21149,7 +21208,7 @@ $attribs)
    -

    method StartTransform [line 11378]

    +

    method StartTransform [line 11389]

    @@ -21180,7 +21239,7 @@ $attribs)
    -

    method StopTransform [line 11393]

    +

    method StopTransform [line 11404]

    @@ -21209,9 +21268,144 @@ $attribs)
    [ Top ]
    +
    + +

    method stringLeftTrim [line 22048]

    +
    +
    +
    + left stringLeftTrim( +string +$str) +
    +

    + + Left trim the input string



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  trimmed string
    author:  Nicola Asuni
    since:  5.8.000 (2010-08-11)
    access:  public
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $str  string to trim
    +

    +
    [ Top ]
    +
    +
    + +

    method stringRightTrim [line 22060]

    +
    +
    +
    + right stringRightTrim( +string +$str) +
    +

    + + Right trim the input string



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  trimmed string
    author:  Nicola Asuni
    since:  5.8.000 (2010-08-11)
    access:  public
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $str  string to trim
    +

    +
    [ Top ]
    +
    +
    + +

    method stringTrim [line 22072]

    +
    +
    +
    + trimmed stringTrim( +string +$str) +
    +

    + + Trim the input string



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  string
    author:  Nicola Asuni
    since:  5.8.000 (2010-08-11)
    access:  public
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $str  string to trim
    +

    +
    [ Top ]
    +

    -

    method SVGPath [line 22557]

    +

    method SVGPath [line 22786]

    @@ -21262,7 +21456,7 @@ $style = ''])
    -

    method SVGTransform [line 22283]

    +

    method SVGTransform [line 22512]

    @@ -21301,7 +21495,7 @@ $tm)
    -

    method swapMargins [line 19985]

    +

    method swapMargins [line 20139]

    @@ -21340,7 +21534,7 @@ $reverse = true])
    -

    method swapPageBoxCoordinates [line 2700]

    +

    method swapPageBoxCoordinates [line 2714]

    @@ -21379,7 +21573,7 @@ $page)
    -

    method Text [line 4805]

    +

    method Text [line 4819]

    @@ -21511,7 +21705,7 @@ $rtloff = false])
    -

    method TextField [line 13776]

    +

    method TextField [line 13793]

    @@ -21595,7 +21789,7 @@ $js = false])
    -

    method Transform [line 11660]

    +

    method Transform [line 11671]

    @@ -21637,7 +21831,7 @@ $tm)
    -

    method Translate [line 11553]

    +

    method Translate [line 11564]

    @@ -21685,7 +21879,7 @@ $t_y)
    -

    method TranslateX [line 11530]

    +

    method TranslateX [line 11541]

    @@ -21727,7 +21921,7 @@ $t_x)
    -

    method TranslateY [line 11541]

    +

    method TranslateY [line 11552]

    @@ -21769,7 +21963,7 @@ $t_y)
    -

    method unhtmlentities [line 10807]

    +

    method unhtmlentities [line 10818]

    @@ -21808,7 +22002,7 @@ $text_to_convert)
    -

    method UniArrSubString [line 6405]

    +

    method UniArrSubString [line 6416]

    @@ -21862,7 +22056,7 @@ $end = ''])
    -

    method unichr [line 6438]

    +

    method unichr [line 6449]

    @@ -21907,7 +22101,7 @@ $c)
    -

    method UTF8ArrayToUniArray [line 6426]

    +

    method UTF8ArrayToUniArray [line 6437]

    @@ -21949,7 +22143,7 @@ $ta)
    -

    method UTF8ArrSubString [line 6382]

    +

    method UTF8ArrSubString [line 6393]

    @@ -22000,7 +22194,7 @@ $end = ''])
    -

    method UTF8ArrToLatin1 [line 10532]

    +

    method UTF8ArrToLatin1 [line 10543]

    @@ -22042,7 +22236,7 @@ $unicode)
    -

    method utf8Bidi [line 12561]

    +

    method utf8Bidi [line 12572]

    @@ -22099,7 +22293,7 @@ $forcertl = false])
    -

    method utf8StrArrRev [line 12547]

    +

    method utf8StrArrRev [line 12558]

    @@ -22159,7 +22353,7 @@ $forcertl = false])
    -

    method UTF8StringToArray [line 10385]

    +

    method UTF8StringToArray [line 10396]

    @@ -22225,7 +22419,7 @@ $str)
    -

    method utf8StrRev [line 12532]

    +

    method utf8StrRev [line 12543]

    @@ -22279,7 +22473,7 @@ $forcertl = false])
    -

    method UTF8ToLatin1 [line 10502]

    +

    method UTF8ToLatin1 [line 10513]

    @@ -22321,7 +22515,7 @@ $str)
    -

    method UTF8ToUTF16BE [line 10486]

    +

    method UTF8ToUTF16BE [line 10497]

    @@ -22372,7 +22566,7 @@ $setbom = true])
    -

    method Write [line 6022]

    +

    method Write [line 6036]

    @@ -22468,7 +22662,7 @@ $maxh = 0])
    -

    method write1DBarcode [line 15777]

    +

    method write1DBarcode [line 15794]

    @@ -22558,7 +22752,7 @@ $align = ''])
    -

    method write2DBarcode [line 16013]

    +

    method write2DBarcode [line 16030]

    @@ -22648,7 +22842,7 @@ $distort = false])
    -

    method writeBarcode [line 15962]

    +

    method writeBarcode [line 15979]

    @@ -22738,7 +22932,7 @@ $code)
    -

    method writeDiskCache [line 20438]

    +

    method writeDiskCache [line 20592]

    @@ -22795,7 +22989,7 @@ $file)
    -

    method writeHTML [line 17436]

    +

    method writeHTML [line 17452]

    @@ -22861,7 +23055,7 @@ $align = ''])
    -

    method writeHTMLCell [line 17420]

    +

    method writeHTMLCell [line 17436]

    @@ -22963,7 +23157,7 @@ $autopadding = true])
    -

    method _addfield [line 13348]

    +

    method _addfield [line 13365]

    @@ -23041,7 +23235,7 @@ $prop)
    -

    method _AES [line 11029]

    +

    method _AES [line 11040]

    @@ -23092,7 +23286,7 @@ $text)
    -

    method _beginpage [line 10071]

    +

    method _beginpage [line 10082]

    @@ -23137,7 +23331,7 @@ $format = ''])
    -

    method _datastring [line 10238]

    +

    method _datastring [line 10249]

    @@ -23182,7 +23376,7 @@ $n = 0])
    -

    method _datestring [line 10252]

    +

    method _datestring [line 10263]

    @@ -23213,7 +23407,7 @@ $n = 0])
    -

    method _destroy [line 7523]

    +

    method _destroy [line 7534]

    @@ -23258,7 +23452,7 @@ $preserve_objcopy = false])
    -

    method _dochecks [line 7551]

    +

    method _dochecks [line 7562]

    @@ -23283,7 +23477,7 @@ $preserve_objcopy = false])
    -

    method _dolinethrough [line 10164]

    +

    method _dolinethrough [line 10175]

    @@ -23331,7 +23525,7 @@ $txt)
    -

    method _dolinethroughw [line 10177]

    +

    method _dolinethroughw [line 10188]

    @@ -23388,7 +23582,7 @@ $txt)
    -

    method _dooverline [line 10190]

    +

    method _dooverline [line 10201]

    @@ -23439,7 +23633,7 @@ $txt)
    -

    method _dooverlinew [line 10203]

    +

    method _dooverlinew [line 10214]

    @@ -23490,7 +23684,7 @@ $w)
    -

    method _dounderline [line 10139]

    +

    method _dounderline [line 10150]

    @@ -23538,7 +23732,7 @@ $txt)
    -

    method _dounderlinew [line 10152]

    +

    method _dounderlinew [line 10163]

    @@ -23589,7 +23783,7 @@ $w)
    -

    method _encrypt_data [line 10840]

    +

    method _encrypt_data [line 10851]

    @@ -23637,7 +23831,7 @@ $s)
    -

    method _enddoc [line 9983]

    +

    method _enddoc [line 9994]

    @@ -23662,7 +23856,7 @@ $s)
    -

    method _endpage [line 10115]

    +

    method _endpage [line 10126]

    @@ -23687,7 +23881,7 @@ $s)
    -

    method _escape [line 10226]

    +

    method _escape [line 10237]

    @@ -23726,7 +23920,7 @@ $s)
    -

    method _escapetext [line 10278]

    +

    method _escapetext [line 10289]

    @@ -23765,7 +23959,7 @@ $s)
    -

    method _freadint [line 10215]

    +

    method _freadint [line 10226]

    @@ -23804,7 +23998,7 @@ $f)
    -

    method _generateencryptionkey [line 11116]

    +

    method _generateencryptionkey [line 11127]

    @@ -23858,7 +24052,7 @@ $protection)
    -

    method _getannotsrefs [line 7800]

    +

    method _getannotsrefs [line 7811]

    @@ -23900,7 +24094,7 @@ $n)
    -

    method _getBYTE [line 8521]

    +

    method _getBYTE [line 8532]

    @@ -23963,7 +24157,7 @@ $offset)
    -

    method _getfontpath [line 7567]

    +

    method _getfontpath [line 7578]

    @@ -23988,7 +24182,7 @@ $offset)
    -

    method _getrawstream [line 10298]

    +

    method _getrawstream [line 10309]

    @@ -24036,7 +24230,7 @@ $n = 0])
    -

    method _getSHORT [line 8506]

    +

    method _getSHORT [line 8517]

    @@ -24099,7 +24293,7 @@ $offset)
    -

    method _getstream [line 10313]

    +

    method _getstream [line 10324]

    @@ -24144,7 +24338,7 @@ $n = 0])
    -

    method _getTrueTypeFontSubset [line 8536]

    +

    method _getTrueTypeFontSubset [line 8547]

    @@ -24195,7 +24389,7 @@ $subsetchars)
    -

    method _getTTFtableChecksum [line 8867]

    +

    method _getTTFtableChecksum [line 8878]

    @@ -24246,7 +24440,7 @@ $length)
    -

    method _getULONG [line 8476]

    +

    method _getULONG [line 8487]

    @@ -24309,7 +24503,7 @@ $offset)
    -

    method _getUSHORT [line 8491]

    +

    method _getUSHORT [line 8502]

    @@ -24372,7 +24566,7 @@ $offset)
    -

    method _JScolor [line 13324]

    +

    method _JScolor [line 13341]

    @@ -24414,7 +24608,7 @@ $color)
    -

    method _md5_16 [line 11047]

    +

    method _md5_16 [line 11058]

    @@ -24459,7 +24653,7 @@ $str)
    -

    method _newobj [line 10125]

    +

    method _newobj [line 10136]

    @@ -24487,7 +24681,7 @@ $str)
    -

    method _objectkey [line 10821]

    +

    method _objectkey [line 10832]

    @@ -24529,7 +24723,7 @@ $n)
    -

    method _out [line 10333]

    +

    method _out [line 10344]

    @@ -24565,7 +24759,7 @@ $s)
    -

    method _outCurve [line 11832]

    +

    method _outCurve [line 11843]

    @@ -24634,7 +24828,7 @@ $y3)
    -

    method _outCurveV [line 11846]

    +

    method _outCurveV [line 11857]

    @@ -24691,7 +24885,7 @@ $y3)
    -

    method _outCurveY [line 11862]

    +

    method _outCurveY [line 11873]

    @@ -24760,7 +24954,7 @@ $y2)
    -

    method _outellipticalarc [line 12058]

    +

    method _outellipticalarc [line 12069]

    @@ -24868,7 +25062,7 @@ $angf:)
    -

    method _outLine [line 11802]

    +

    method _outLine [line 11813]

    @@ -24913,7 +25107,7 @@ $y)
    -

    method _outPoint [line 11790]

    +

    method _outPoint [line 11801]

    @@ -24958,7 +25152,7 @@ $y)
    -

    method _outRect [line 11816]

    +

    method _outRect [line 11827]

    @@ -25021,7 +25215,7 @@ $op)
    -

    method _Ovalue [line 11060]

    +

    method _Ovalue [line 11071]

    @@ -25072,7 +25266,7 @@ $owner_pass)
    -

    method _parsejpeg [line 6959]

    +

    method _parsejpeg [line 6970]

    @@ -25111,7 +25305,7 @@ $file)
    -

    method _parsepng [line 6985]

    +

    method _parsepng [line 6996]

    @@ -25150,7 +25344,7 @@ $file)
    -

    method _putannotsobjs [line 7828]

    +

    method _putannotsobjs [line 7839]

    @@ -25181,7 +25375,7 @@ $file)
    -

    method _putannotsrefs [line 7788]

    +

    method _putannotsrefs [line 7799]

    @@ -25226,7 +25420,7 @@ $n)
    -

    method _putAPXObject [line 8441]

    +

    method _putAPXObject [line 8452]

    @@ -25280,7 +25474,7 @@ $stream = ''])
    -

    method _putbookmarks [line 13163]

    +

    method _putbookmarks [line 13177]

    @@ -25311,7 +25505,7 @@ $stream = ''])
    -

    method _putcatalog [line 9814]

    +

    method _putcatalog [line 9825]

    @@ -25339,7 +25533,7 @@ $stream = ''])
    -

    method _putcidfont0 [line 9537]

    +

    method _putcidfont0 [line 9548]

    @@ -25384,7 +25578,7 @@ $font)
    -

    method _putEmbeddedFiles [line 4762]

    +

    method _putEmbeddedFiles [line 4776]

    @@ -25415,7 +25609,7 @@ $font)
    -

    method _putencryption [line 10864]

    +

    method _putencryption [line 10875]

    @@ -25446,7 +25640,7 @@ $font)
    -

    method _putextgstates [line 14689]

    +

    method _putextgstates [line 14706]

    @@ -25485,7 +25679,7 @@ $gs)
    -

    method _putfonts [line 8988]

    +

    method _putfonts [line 8999]

    @@ -25513,7 +25707,7 @@ $gs)
    -

    method _putfontwidths [line 8889]

    +

    method _putfontwidths [line 8900]

    @@ -25564,7 +25758,7 @@ $cidoffset = 0])
    -

    method _putheader [line 9975]

    +

    method _putheader [line 9986]

    @@ -25589,7 +25783,7 @@ $cidoffset = 0])
    -

    method _putimages [line 9608]

    +

    method _putimages [line 9619]

    @@ -25614,7 +25808,7 @@ $cidoffset = 0])
    -

    method _putinfo [line 9767]

    +

    method _putinfo [line 9778]

    @@ -25642,7 +25836,7 @@ $cidoffset = 0])
    -

    method _putjavascript [line 13269]

    +

    method _putjavascript [line 13286]

    @@ -25673,7 +25867,7 @@ $cidoffset = 0])
    -

    method _putocg [line 14609]

    +

    method _putocg [line 14626]

    @@ -25701,7 +25895,7 @@ $cidoffset = 0])
    -

    method _putpages [line 7578]

    +

    method _putpages [line 7589]

    @@ -25726,7 +25920,7 @@ $cidoffset = 0])
    -

    method _putresourcedict [line 9682]

    +

    method _putresourcedict [line 9693]

    @@ -25751,7 +25945,7 @@ $cidoffset = 0])
    -

    method _putresources [line 9743]

    +

    method _putresources [line 9754]

    @@ -25776,7 +25970,7 @@ $cidoffset = 0])
    -

    method _putshaders [line 15243]

    +

    method _putshaders [line 15260]

    @@ -25807,7 +26001,7 @@ $cidoffset = 0])
    -

    method _putsignature [line 14297]

    +

    method _putsignature [line 14314]

    @@ -25838,7 +26032,7 @@ $cidoffset = 0])
    -

    method _putspotcolors [line 9664]

    +

    method _putspotcolors [line 9675]

    @@ -25866,7 +26060,7 @@ $cidoffset = 0])
    -

    method _putstream [line 10324]

    +

    method _putstream [line 10335]

    diff --git a/examples/example_010.php b/examples/example_010.php index 73a5202..b0c2454 100755 --- a/examples/example_010.php +++ b/examples/example_010.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_010.php // Begin : 2008-03-04 -// Last Update : 2010-08-08 +// Last Update : 2010-08-11 // // Description : Example 010 for TCPDF class // Text on multiple columns @@ -94,7 +94,7 @@ class MC_TCPDF extends TCPDF { $this->writeHTML($content, true, false, true, false, 'J'); } else { // ------ TEXT MODE ------ - $this->Write(0, $content, '', 0, 'J', true, 0, false, false, 0); + $this->Write(0, $content, '', 0, 'J', true, 0, false, true, 0); } $this->Ln(); } diff --git a/tcpdf.php b/tcpdf.php index c89e8ed..f4a6c53 100755 --- a/tcpdf.php +++ b/tcpdf.php @@ -1,9 +1,9 @@ * 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.
    * @name TCPDF * @package com.tecnick.tcpdf - * @version 5.7.003 + * @version 5.8.000 * @author Nicola Asuni - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL @@ -1474,6 +1474,20 @@ if (!class_exists('TCPDF', false)) { */ protected $column_start_page = 0; + /** + * Maximum page and column selected + * @access protected + * @since 5.8.000 (2010-08-11) + */ + protected $maxselcol = array('page' => 0, 'column' => 0); + + /** + * Array of: X difference between table cell x start and starting page margin, cellspacing, cellpadding + * @access protected + * @since 5.8.000 (2010-08-11) + */ + protected $colxshift = array('x' => 0, 's' => 0, 'p' => 0); + /** * Text rendering mode: 0 = Fill text; 1 = Stroke text; 2 = Fill, then stroke text; 3 = Neither fill nor stroke text (invisible); 4 = Fill text and add to path for clipping; 5 = Stroke text and add to path for clipping; 6 = Fill, then stroke text and add to path for clipping; 7 = Add text to path for clipping. * @access protected @@ -6032,7 +6046,7 @@ if (!class_exists('TCPDF', false)) { $arabic = false; } // check if string contains RTL text - if ($arabic OR ($this->tmprtl == 'R') OR preg_match(K_RE_PATTERN_RTL, $txt)) { + if ($arabic OR ($this->tmprtl == 'R') OR preg_match(K_RE_PATTERN_RTL, $s)) { $rtlmode = true; } else { $rtlmode = false; @@ -6050,9 +6064,6 @@ if (!class_exists('TCPDF', false)) { $shy_replacement_char = $this->unichr($shy_replacement); // widht for SHY replacement $shy_replacement_width = $this->GetCharWidth($shy_replacement); - // store current position - //$prevx = $this->x; - //$prevy = $this->y; // max Y $maxy = $this->y + $maxh - $h - (2 * $this->cMargin); // calculate remaining line width ($w) @@ -6117,7 +6128,7 @@ if (!class_exists('TCPDF', false)) { } } if ($firstblock AND $this->isRTLTextDir()) { - $tmpstr = rtrim($tmpstr); + $tmpstr = $this->stringRightTrim($tmpstr); } // Skip newlines at the begining of a page or column if (!empty($tmpstr) OR ($this->y < ($this->PageBreakTrigger - $row_height))) { @@ -6205,7 +6216,7 @@ if (!class_exists('TCPDF', false)) { } } if ($firstblock AND $this->isRTLTextDir()) { - $tmpstr = rtrim($tmpstr); + $tmpstr = $this->stringRightTrim($tmpstr); } $this->Cell($w, $h, $tmpstr, 0, 1, $align, $fill, $link, $stretch); unset($tmpstr); @@ -6260,7 +6271,7 @@ if (!class_exists('TCPDF', false)) { } // print the line if ($firstblock AND $this->isRTLTextDir()) { - $tmpstr = rtrim($tmpstr); + $tmpstr = $this->stringRightTrim($tmpstr); } $this->Cell($w, $h, $shy_char_left.$tmpstr.$shy_char_right, 0, 1, $align, $fill, $link, $stretch); unset($tmpstr); @@ -6342,7 +6353,7 @@ if (!class_exists('TCPDF', false)) { } } if ($firstblock AND $this->isRTLTextDir()) { - $tmpstr = rtrim($tmpstr); + $tmpstr = $this->stringRightTrim($tmpstr); } $this->Cell($w, $h, $tmpstr, 0, $ln, $align, $fill, $link, $stretch); unset($tmpstr); @@ -13150,6 +13161,9 @@ if (!class_exists('TCPDF', false)) { } if (empty($page)) { $page = $this->PageNo(); + if (empty($page)) { + return; + } } $this->outlines[] = array('t' => $txt, 'l' => $level, 'y' => $y, 'p' => $page); } @@ -13200,32 +13214,35 @@ if (!class_exists('TCPDF', false)) { } //Outline items $n = $this->n + 1; + $nltags = '/|<\/(blockquote|dd|dl|div|dt|h1|h2|h3|h4|h5|h6|hr|li|ol|p|pre|ul|tcpdf|table|tr|td)>/si'; foreach ($this->outlines as $i => $o) { - $this->_newobj(); - // covert HTML title to string - $nltags = '/|<\/(blockquote|dd|dl|div|dt|h1|h2|h3|h4|h5|h6|hr|li|ol|p|pre|ul|tcpdf|table|tr|td)>/si'; - $title = preg_replace($nltags, "\n", $o['t']); - $title = preg_replace("/[\r]+/si", '', $title); - $title = preg_replace("/[\n]+/si", "\n", $title); - $title = strip_tags(trim($title)); - $out = '<_textstring($title); - $out .= ' /Parent '.($n + $o['parent']).' 0 R'; - if (isset($o['prev'])) { - $out .= ' /Prev '.($n + $o['prev']).' 0 R'; + if (isset($this->page_obj_id[($o['p'])])) { + $this->_newobj(); + // covert HTML title to string + $title = preg_replace($nltags, "\n", $o['t']); + $title = preg_replace("/[\r]+/si", '', $title); + $title = preg_replace("/[\n]+/si", "\n", $title); + $title = strip_tags($title); + $title = $this->stringTrim($title); + $out = '<_textstring($title); + $out .= ' /Parent '.($n + $o['parent']).' 0 R'; + if (isset($o['prev'])) { + $out .= ' /Prev '.($n + $o['prev']).' 0 R'; + } + if (isset($o['next'])) { + $out .= ' /Next '.($n + $o['next']).' 0 R'; + } + if (isset($o['first'])) { + $out .= ' /First '.($n + $o['first']).' 0 R'; + } + if (isset($o['last'])) { + $out .= ' /Last '.($n + $o['last']).' 0 R'; + } + $out .= ' '.sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]', $this->page_obj_id[($o['p'])], ($this->pagedim[$o['p']]['h'] - ($o['y'] * $this->k))); + $out .= ' /Count 0 >>'; + $out .= "\n".'endobj'; + $this->_out($out); } - if (isset($o['next'])) { - $out .= ' /Next '.($n + $o['next']).' 0 R'; - } - if (isset($o['first'])) { - $out .= ' /First '.($n + $o['first']).' 0 R'; - } - if (isset($o['last'])) { - $out .= ' /Last '.($n + $o['last']).' 0 R'; - } - $out .= ' '.sprintf('/Dest [%d 0 R /XYZ 0 %.2F null]', $this->page_obj_id[($o['p'])], ($this->pagedim[$o['p']]['h'] - ($o['y'] * $this->k))); - $out .= ' /Count 0 >>'; - $out .= "\n".'endobj'; - $this->_out($out); } //Outline root $this->OutlineRoot = $this->_newobj(); @@ -16794,8 +16811,7 @@ if (!class_exists('TCPDF', false)) { $html = preg_replace('/<\/textarea>/', '" />', $html); $html = preg_replace('/]*)><\/li>/', ' ', $html); // trim string - $html = preg_replace('/^'.$this->re_space['p'].'+/'.$this->re_space['m'], '', $html); - $html = preg_replace('/'.$this->re_space['p'].'+$/'.$this->re_space['m'], '', $html); + $html = $this->stringTrim($html); // pattern for generic tag $tagpattern = '/(<[^>]+>)/'; // explodes the string @@ -17836,7 +17852,7 @@ if (!class_exists('TCPDF', false)) { $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos); $pend = ''; } - if ((isset($plalign) AND ((($plalign == 'C') OR ($plalign == 'J') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl))))) OR ($yshift < 0)) { + if ((isset($plalign) AND ((($plalign == 'C') OR ($plalign == 'J') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl)))))) { // calculate shifting amount $tw = $w; if (($plalign == 'J') AND $this->isRTLTextDir() AND ($this->num_columns > 1)) { @@ -17850,42 +17866,88 @@ if (!class_exists('TCPDF', false)) { } $one_space_width = $this->GetStringWidth(chr(32)); $mdiff = abs($tw - $linew); + if ($this->rtl) { // RTL + // remove left space if exist + $pos1 = $this->revstrpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval($this->revstrpos($pmid, '[('.chr(32))); + $pos3 = intval($this->revstrpos($pmid, '[('.chr(0).chr(32))); + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 4)); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 3)); + } + } + // remove right space if exist + $pos1 = strpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval(strpos($pmid, chr(32).')]')) + 1; + $pos3 = intval(strpos($pmid, chr(0).chr(32).')]')) + 2; + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 - 2)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - 1)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + } else { // LTR + // remove left space if exist + $pos1 = strpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval(strpos($pmid, '[('.chr(32))); + $pos3 = intval(strpos($pmid, '[('.chr(0).chr(32))); + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 4)); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 3)); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + // remove right space if exist + $pos1 = $this->revstrpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval($this->revstrpos($pmid, chr(32).')]')) + 1; + $pos3 = intval($this->revstrpos($pmid, chr(0).chr(32).')]')) + 2; + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 - 2)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - 1)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + } if ($plalign == 'C') { if ($this->rtl) { $t_x = -($mdiff / 2); } else { $t_x = ($mdiff / 2); } - } elseif (($plalign == 'R') AND (!$this->rtl)) { + } elseif ($plalign == 'R') { // right alignment on LTR document - if (intval($this->revstrpos($pmid, ')]')) == (intval($this->revstrpos($pmid, ' )]')) + 1)) { - // remove last space (if any) - $linew -= $one_space_width; - $mdiff = abs($tw - $linew); - } $t_x = $mdiff; - } elseif (($plalign == 'L') AND ($this->rtl)) { + } elseif ($plalign == 'L') { // left alignment on RTL document - if (($this->revstrpos($pmid, '[(') > 0) AND ((intval($this->revstrpos($pmid, '[( ')) == intval($this->revstrpos($pmid, '[('))) OR (intval($this->revstrpos($pmid, '[('.chr(0).chr(32))) == intval($this->revstrpos($pmid, '[('))))) { - // remove first space (if any) - $linew -= $one_space_width; - } - if ((strpos($pmid, '[(') > 0) AND (intval(strpos($pmid, '[(')) == (intval($this->revstrpos($pmid, '[('))))) { - // remove last space (if any) - $linew -= $one_space_width; - if (($this->CurrentFont['type'] == 'TrueTypeUnicode') OR ($this->CurrentFont['type'] == 'cidfont0')) { - $linew -= $one_space_width; - } - } - $mdiff = abs($tw - $linew); $t_x = -$mdiff; } elseif (($plalign == 'J') AND ($plalign == $lalign)) { // Justification if ($this->isRTLTextDir()) { - $t_x = $this->lMargin - $this->endlinex + $this->cMargin; + // align text on the left + $t_x = -$mdiff; } - $no = 0; // spaces without trim - $ns = 0; // spaces with trim + $ns = 0; // spaces $pmidtemp = $pmid; // escape special characters $pmidtemp = preg_replace('/[\\\][\(]/x', '\\#!#OP#!#', $pmidtemp); @@ -17898,31 +17960,15 @@ if (!class_exists('TCPDF', false)) { // restore special characters $lnstring[1][$kk] = str_replace('#!#OP#!#', '(', $lnstring[1][$kk]); $lnstring[1][$kk] = str_replace('#!#CP#!#', ')', $lnstring[1][$kk]); - if ($kk == $maxkk) { - if ($this->isRTLTextDir()) { - $tvalue = ltrim($lnstring[1][$kk]); - } else { - $tvalue = rtrim($lnstring[1][$kk]); - } - } else { - $tvalue = $lnstring[1][$kk]; - } // store number of spaces on the strings $lnstring[2][$kk] = substr_count($lnstring[1][$kk], $spacestr); - $lnstring[3][$kk] = substr_count($tvalue, $spacestr); // count total spaces on line - $no += $lnstring[2][$kk]; - $ns += $lnstring[3][$kk]; - $lnstring[4][$kk] = $no; - $lnstring[5][$kk] = $ns; + $ns += $lnstring[2][$kk]; + $lnstring[3][$kk] = $ns; } - if ($this->isRTLTextDir()) { - $t_x = $this->lMargin - $this->endlinex + $this->cMargin - (($no - $ns) * $one_space_width); - } - // calculate additional space to add to each space - $spacelen = $one_space_width; - $spacewidth = ((($tw - $linew) + (($no - $ns) * $spacelen)) / ($ns?$ns:1)) * $this->k; - $spacewidthu = -1000 * (($tw - $linew) + ($no * $spacelen)) / ($ns?$ns:1) / $this->FontSize; + // calculate additional space to add to each existing space + $spacewidth = (($tw - $linew) / ($ns?$ns:1)) * $this->k; + $spacewidthu = -1000 * (($tw - $linew) + ($ns * $one_space_width)) / ($ns?$ns:1) / $this->FontSize; $nsmax = $ns; $ns = 0; reset($lnstring); @@ -17982,21 +18028,12 @@ if (!class_exists('TCPDF', false)) { $currentxpos = $xmatches[1]; $textpos = $currentxpos; if (($strcount <= $maxkk) AND ($strpiece[2][0] == 'Td')) { - if ($strcount == $maxkk) { - if ($this->isRTLTextDir()) { - $tvalue = $lnstring[1][$strcount]; - } else { - $tvalue = rtrim($lnstring[1][$strcount]); - } - } else { - $tvalue = $lnstring[1][$strcount]; + $ns += substr_count($lnstring[1][$strcount], $spacestr); + if ($this->isRTLTextDir()) { + $spacew = ($spacewidth * ($nsmax - $ns)); } - $ns += substr_count($tvalue, $spacestr); ++$strcount; } - if ($this->isRTLTextDir()) { - $spacew = ($spacewidth * ($nsmax - $ns)); - } // justify block $pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', create_function('$matches', 'global $spacew; @@ -18017,26 +18054,26 @@ if (!class_exists('TCPDF', false)) { $w_diff = 0; if ($this->isRTLTextDir()) { // RTL if ($currentxpos < $textpos) { - $x_diff = ($spacewidth * ($nsmax - $lnstring[5][$strcount])); - $w_diff = ($spacewidth * $lnstring[3][$strcount]); + $x_diff = ($spacewidth * ($nsmax - $lnstring[3][$strcount])); + $w_diff = ($spacewidth * $lnstring[2][$strcount]); } else { if ($strcount > 0) { - $x_diff = ($spacewidth * ($nsmax - $lnstring[5][($strcount - 1)])); - $w_diff = ($spacewidth * $lnstring[3][($strcount - 1)]); + $x_diff = ($spacewidth * ($nsmax - $lnstring[3][($strcount - 1)])); + $w_diff = ($spacewidth * $lnstring[2][($strcount - 1)]); } } } else { // LTR if ($currentxpos > $textpos) { if ($strcount > 0) { - $x_diff = ($spacewidth * $lnstring[4][($strcount - 1)]); + $x_diff = ($spacewidth * $lnstring[3][($strcount - 1)]); } - $w_diff = ($spacewidth * $lnstring[3][$strcount]); + $w_diff = ($spacewidth * $lnstring[2][$strcount]); } else { if ($strcount > 1) { - $x_diff = ($spacewidth * $lnstring[4][($strcount - 2)]); + $x_diff = ($spacewidth * $lnstring[3][($strcount - 2)]); } if ($strcount > 0) { - $w_diff = ($spacewidth * $lnstring[3][($strcount - 1)]); + $w_diff = ($spacewidth * $lnstring[2][($strcount - 1)]); } } } @@ -18068,10 +18105,10 @@ if (!class_exists('TCPDF', false)) { foreach ($this->PageAnnots[$this->page] as $pak => $pac) { if (($pac['y'] >= $minstartliney) AND (($pac['x'] * $this->k) >= ($currentxpos - $this->feps)) AND (($pac['x'] * $this->k) <= ($currentxpos + $this->feps))) { if ($cxpos > $lmpos) { - $this->PageAnnots[$this->page][$pak]['x'] += (($spacew - $one_space_width) / $this->k); + $this->PageAnnots[$this->page][$pak]['x'] += ($spacew / $this->k); $this->PageAnnots[$this->page][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); } else { - $this->PageAnnots[$this->page][$pak]['w'] += ((($spacewidth * $pac['numspaces']) - $one_space_width) / $this->k); + $this->PageAnnots[$this->page][$pak]['w'] += (($spacewidth * $pac['numspaces']) / $this->k); } break; } @@ -18183,10 +18220,6 @@ if (!class_exists('TCPDF', false)) { } else { $cellspacing = 0; } - if (isset($dom[$key]['attribute']['nested']) AND ($dom[$key]['attribute']['nested'] == 'true')) { - // add margin for nested tables - $wtmp -= ($dom[$key]['attribute']['pcellpadding'] + (2 * $cellspacing)); - } // table width if (isset($dom[$key]['width'])) { $table_width = $this->getHTMLUnitToUnits($dom[$key]['width'], $wtmp, 'px'); @@ -18270,9 +18303,12 @@ if (!class_exists('TCPDF', false)) { } if (!isset($dom[$trid]['startpage'])) { $dom[$trid]['startpage'] = $this->page; - $dom[$trid]['startcolumn'] = $this->current_column; } else { $this->setPage($dom[$trid]['startpage']); + } + if (!isset($dom[$trid]['startcolumn'])) { + $dom[$trid]['startcolumn'] = $this->current_column; + } elseif ($this->current_column != $dom[$trid]['startcolumn']) { $tmpx = $this->x; $this->selectColumn($dom[$trid]['startcolumn']); $this->x = $tmpx; @@ -18316,13 +18352,15 @@ if (!class_exists('TCPDF', false)) { if (($trwsp['rowspan'] > 0) AND ($rsstartx > ($this->x - $cellspacing - $currentcmargin - $this->feps)) AND ($rsstartx < ($this->x + $cellspacing + $currentcmargin + $this->feps)) - AND (($trwsp['starty'] < ($this->y - $this->feps)) OR ($trwsp['startpage'] < $this->page))) { + AND (($trwsp['starty'] < ($this->y - $this->feps)) OR ($trwsp['startpage'] < $this->page) OR ($trwsp['startcolumn'] < $this->current_column))) { // set the starting X position of the current cell $this->x = $rsendx + $cellspacingx; if (($trwsp['rowspan'] == 1) AND (isset($dom[$trid]['endy'])) AND (isset($dom[$trid]['endpage'])) - AND ($trwsp['endpage'] == $dom[$trid]['endpage'])) { + AND (isset($dom[$trid]['endcolumn'])) + AND ($trwsp['endpage'] == $dom[$trid]['endpage']) + AND ($trwsp['endcolumn'] == $dom[$trid]['endcolumn'])) { // set ending Y position for row $dom[$table_el]['rowspans'][$rsk]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']); $dom[$trid]['endy'] = $dom[$table_el]['rowspans'][$rsk]['endy']; @@ -18335,7 +18373,7 @@ if (!class_exists('TCPDF', false)) { } // add rowspan information to table element if ($rowspan > 1) { - $trsid = array_push($dom[$table_el]['rowspans'], array('trid' => $trid, 'rowspan' => $rowspan, 'mrowspan' => $rowspan, 'colspan' => $colspan, 'startpage' => $this->page, 'startx' => $this->x, 'starty' => $this->y)); + $trsid = array_push($dom[$table_el]['rowspans'], array('trid' => $trid, 'rowspan' => $rowspan, 'mrowspan' => $rowspan, 'colspan' => $colspan, 'startpage' => $this->page, 'startcolumn' => $this->current_column, 'startx' => $this->x, 'starty' => $this->y)); } $cellid = array_push($dom[$trid]['cellpos'], array('startx' => $this->x)); if ($rowspan > 1) { @@ -18350,17 +18388,27 @@ if (!class_exists('TCPDF', false)) { $dom[$trid]['cellpos'][($cellid - 1)]['border'] = $tdborder; } $prevLastH = $this->lasth; + // store some info for multicolumn mode + if ($this->rtl) { + $this->colxshift['x'] = $this->w - $this->x - $this->rMargin; + } else { + $this->colxshift['x'] = $this->x - $this->lMargin; + } + $this->colxshift['s'] = $cellspacing; + $this->colxshift['p'] = $currentcmargin; // ****** write the cell content ****** $this->MultiCell($cellw, $cellh, $cell_content, false, $lalign, false, 2, '', '', true, 0, true); + // restore some values + $this->colxshift = array('x' => 0, 's' => 0, 'p' => 0); $this->lasth = $prevLastH; $this->cMargin = $oldmargin; $dom[$trid]['cellpos'][($cellid - 1)]['endx'] = $this->x; // update the end of row position if ($rowspan <= 1) { if (isset($dom[$trid]['endy'])) { - if ($this->page == $dom[$trid]['endpage']) { + if (($this->page == $dom[$trid]['endpage']) AND ($this->current_column == $dom[$trid]['endcolumn'])) { $dom[$trid]['endy'] = max($this->y, $dom[$trid]['endy']); - } elseif ($this->page > $dom[$trid]['endpage']) { + } elseif (($this->page > $dom[$trid]['endpage']) OR ($this->current_column > $dom[$trid]['endcolumn'])) { $dom[$trid]['endy'] = $this->y; } } else { @@ -18371,23 +18419,29 @@ if (!class_exists('TCPDF', false)) { } else { $dom[$trid]['endpage'] = $this->page; } - $dom[$trid]['endcolumn'] = $this->current_column; + if (isset($dom[$trid]['endcolumn'])) { + $dom[$trid]['endcolumn'] = max($this->current_column, $dom[$trid]['endcolumn']); + } else { + $dom[$trid]['endcolumn'] = $this->current_column; + } } else { // account for row-spanned cells $dom[$table_el]['rowspans'][($trsid - 1)]['endx'] = $this->x; $dom[$table_el]['rowspans'][($trsid - 1)]['endy'] = $this->y; $dom[$table_el]['rowspans'][($trsid - 1)]['endpage'] = $this->page; + $dom[$table_el]['rowspans'][($trsid - 1)]['endcolumn'] = $this->current_column; } if (isset($dom[$table_el]['rowspans'])) { // update endy and endpage on rowspanned cells foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { if ($trwsp['rowspan'] > 0) { if (isset($dom[$trid]['endpage'])) { - if ($trwsp['endpage'] == $dom[$trid]['endpage']) { + if (($trwsp['endpage'] == $dom[$trid]['endpage']) AND ($trwsp['endcolumn'] == $dom[$trid]['endcolumn'])) { $dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']); - } elseif ($trwsp['endpage'] < $dom[$trid]['endpage']) { + } elseif (($trwsp['endpage'] < $dom[$trid]['endpage']) OR ($trwsp['endcolumn'] < $dom[$trid]['endcolumn'])) { $dom[$table_el]['rowspans'][$k]['endy'] = $dom[$trid]['endy']; $dom[$table_el]['rowspans'][$k]['endpage'] = $dom[$trid]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = $dom[$trid]['endcolumn']; } else { $dom[$trid]['endy'] = $this->pagedim[$dom[$trid]['endpage']]['hk'] - $this->pagedim[$dom[$trid]['endpage']]['bm']; } @@ -18445,13 +18499,13 @@ if (!class_exists('TCPDF', false)) { if ((!$this->premode) AND $this->isRTLTextDir()) { // reverse spaces order $len1 = strlen($dom[$key]['value']); - $lsp = $len1 - strlen(ltrim($dom[$key]['value'])); - $rsp = $len1 - strlen(rtrim($dom[$key]['value'])); + $lsp = $len1 - strlen($this->stringLeftTrim($dom[$key]['value'])); + $rsp = $len1 - strlen($this->stringRightTrim($dom[$key]['value'])); $tmpstr = ''; if ($rsp > 0) { $tmpstr .= substr($dom[$key]['value'], -$rsp); } - $tmpstr .= trim($dom[$key]['value']); + $tmpstr .= $this->stringTrim($dom[$key]['value']); if ($lsp > 0) { $tmpstr .= substr($dom[$key]['value'], 0, $lsp); } @@ -18461,9 +18515,9 @@ if (!class_exists('TCPDF', false)) { if (!$this->premode) { $prelen = strlen($dom[$key]['value']); if ($this->isRTLTextDir()) { - $dom[$key]['value'] = rtrim($dom[$key]['value']).chr(0); + $dom[$key]['value'] = $this->stringRightTrim($dom[$key]['value']); } else { - $dom[$key]['value'] = ltrim($dom[$key]['value']); + $dom[$key]['value'] = $this->stringLeftTrim($dom[$key]['value']); } $postlen = strlen($dom[$key]['value']); if (($postlen == 0) AND ($prelen > 0)) { @@ -18500,13 +18554,6 @@ if (!class_exists('TCPDF', false)) { if (strlen($strrest) > 0) { // store the remaining string on the previous $key position $this->newline = true; - if ($cell) { - if ($this->rtl) { - $this->x -= $this->cMargin; - } else { - $this->x += $this->cMargin; - } - } if ($strrest == $dom[$key]['value']) { // used to avoid infinite loop ++$loop; @@ -18514,13 +18561,13 @@ if (!class_exists('TCPDF', false)) { $loop = 0; } if (!empty($this->HREF) AND (isset($this->HREF['url']))) { - $dom[$key]['value'] = trim($strrest); + $dom[$key]['value'] = $this->stringTrim($strrest); } elseif ($this->premode) { $dom[$key]['value'] = $strrest; } elseif ($this->isRTLTextDir()) { - $dom[$key]['value'] = rtrim($strrest); + $dom[$key]['value'] = $this->stringRightTrim($strrest); } else { - $dom[$key]['value'] = ltrim($strrest); + $dom[$key]['value'] = $this->stringLeftTrim($strrest); } if ($loop < 3) { --$key; @@ -18528,6 +18575,13 @@ if (!class_exists('TCPDF', false)) { } else { $loop = 0; } + if ($cell) { + if ($this->rtl) { + $this->x -= $this->cMargin; + } else { + $this->x += $this->cMargin; + } + } } ++$key; if (isset($dom[$key]['tag']) AND $dom[$key]['tag'] AND (!isset($dom[$key]['opening']) OR !$dom[$key]['opening']) AND isset($dom[($dom[$key]['parent'])]['attribute']['nobr']) AND ($dom[($dom[$key]['parent'])]['attribute']['nobr'] == 'true')) { @@ -18577,7 +18631,7 @@ if (!class_exists('TCPDF', false)) { $pmid = substr($this->getPageBuffer($startlinepage), $startlinepos); $pend = ''; } - if ((isset($plalign) AND ((($plalign == 'C') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl))))) OR ($yshift < 0)) { + if ((isset($plalign) AND ((($plalign == 'C') OR (($plalign == 'R') AND (!$this->rtl)) OR (($plalign == 'L') AND ($this->rtl)))))) { // calculate shifting amount $tw = $w; if ($this->lMargin != $prevlMargin) { @@ -18588,34 +18642,80 @@ if (!class_exists('TCPDF', false)) { } $one_space_width = $this->GetStringWidth(chr(32)); $mdiff = abs($tw - $linew); + if ($this->rtl) { // RTL + // remove left space if exist + $pos1 = $this->revstrpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval($this->revstrpos($pmid, '[('.chr(32))); + $pos3 = intval($this->revstrpos($pmid, '[('.chr(0).chr(32))); + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 4)); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 3)); + } + } + // remove right space if exist + $pos1 = strpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval(strpos($pmid, chr(32).')]')) + 1; + $pos3 = intval(strpos($pmid, chr(0).chr(32).')]')) + 2; + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 - 2)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - 1)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + } else { // LTR + // remove left space if exist + $pos1 = strpos($pmid, '[('); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval(strpos($pmid, '[('.chr(32))); + $pos3 = intval(strpos($pmid, '[('.chr(0).chr(32))); + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 4)); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 + 2)).substr($pmid, ($pos1 + 3)); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + // remove right space if exist + $pos1 = $this->revstrpos($pmid, ')]'); + if ($pos1 > 0) { + $pos1 = intval($pos1); + $pos2 = intval($this->revstrpos($pmid, chr(32).')]')) + 1; + $pos3 = intval($this->revstrpos($pmid, chr(0).chr(32).')]')) + 2; + if ($pos1 == $pos3) { + $pmid = substr($pmid, 0, ($pos1 - 2)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } elseif ($pos1 == $pos2) { + $pmid = substr($pmid, 0, ($pos1 - 1)).substr($pmid, $pos1); + $linew -= $one_space_width; + $mdiff = abs($tw - $linew); + } + } + } if ($plalign == 'C') { if ($this->rtl) { $t_x = -($mdiff / 2); } else { $t_x = ($mdiff / 2); } - } elseif (($plalign == 'R') AND (!$this->rtl)) { + } elseif ($plalign == 'R') { // right alignment on LTR document - if (intval($this->revstrpos($pmid, ')]')) == (intval($this->revstrpos($pmid, ' )]')) + 1)) { - // remove last space (if any) - $linew -= $one_space_width; - $mdiff = abs($tw - $linew); - } $t_x = $mdiff; - } elseif (($plalign == 'L') AND ($this->rtl)) { + } elseif ($plalign == 'L') { // left alignment on RTL document - if (($this->revstrpos($pmid, '[(') > 0) AND ((intval($this->revstrpos($pmid, '[( ')) == intval($this->revstrpos($pmid, '[('))) OR (intval($this->revstrpos($pmid, '[('.chr(0).chr(32))) == intval($this->revstrpos($pmid, '[('))))) { - // remove first space (if any) - $linew -= $one_space_width; - } - if ((strpos($pmid, '[(') > 0) AND (intval(strpos($pmid, '[(')) == (intval($this->revstrpos($pmid, '[('))))) { - // remove last space (if any) - $linew -= $one_space_width; - if (($this->CurrentFont['type'] == 'TrueTypeUnicode') OR ($this->CurrentFont['type'] == 'cidfont0')) { - $linew -= $one_space_width; - } - } - $mdiff = abs($tw - $linew); $t_x = -$mdiff; } } // end if startlinex @@ -18701,7 +18801,7 @@ if (!class_exists('TCPDF', false)) { } } } - //Opening tag + // Opening tag switch($tag['value']) { case 'table': { $cp = 0; @@ -19299,7 +19399,7 @@ if (!class_exists('TCPDF', false)) { $hbz = ($maxbottomliney - $this->y); } } - //Closing tag + // Closing tag switch($tag['value']) { case 'tr': { $table_el = $dom[($dom[$key]['parent'])]['parent']; @@ -19311,16 +19411,21 @@ if (!class_exists('TCPDF', false)) { $dom[($dom[$key]['parent'])]['endpage'] = $this->page; $parent['endpage'] = $this->page; } + if (!isset($parent['endcolumn'])) { + $dom[($dom[$key]['parent'])]['endcolumn'] = $this->current_column; + $parent['endcolumn'] = $this->current_column; + } // update row-spanned cells if (isset($dom[$table_el]['rowspans'])) { foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { $dom[$table_el]['rowspans'][$k]['rowspan'] -= 1; if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { - if ($dom[$table_el]['rowspans'][$k]['endpage'] == $parent['endpage']) { + if (($dom[$table_el]['rowspans'][$k]['endpage'] == $parent['endpage']) AND ($dom[$table_el]['rowspans'][$k]['endcolumn'] == $parent['endcolumn'])) { $dom[($dom[$key]['parent'])]['endy'] = max($dom[$table_el]['rowspans'][$k]['endy'], $parent['endy']); - } elseif ($dom[$table_el]['rowspans'][$k]['endpage'] > $parent['endpage']) { + } elseif (($dom[$table_el]['rowspans'][$k]['endpage'] > $parent['endpage']) OR ($dom[$table_el]['rowspans'][$k]['endcolumn'] > $parent['endcolumn'])) { $dom[($dom[$key]['parent'])]['endy'] = $dom[$table_el]['rowspans'][$k]['endy']; $dom[($dom[$key]['parent'])]['endpage'] = $dom[$table_el]['rowspans'][$k]['endpage']; + $dom[($dom[$key]['parent'])]['endcolumn'] = $dom[$table_el]['rowspans'][$k]['endcolumn']; } } } @@ -19329,6 +19434,8 @@ if (!class_exists('TCPDF', false)) { if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { $dom[$table_el]['rowspans'][$k]['endpage'] = max($dom[$table_el]['rowspans'][$k]['endpage'], $dom[($dom[$key]['parent'])]['endpage']); $dom[($dom[$key]['parent'])]['endpage'] = $dom[$table_el]['rowspans'][$k]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = max($dom[$table_el]['rowspans'][$k]['endcolumn'], $dom[($dom[$key]['parent'])]['endcolumn']); + $dom[($dom[$key]['parent'])]['endcolumn'] = $dom[$table_el]['rowspans'][$k]['endcolumn']; $dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$table_el]['rowspans'][$k]['endy'], $dom[($dom[$key]['parent'])]['endy']); $dom[($dom[$key]['parent'])]['endy'] = $dom[$table_el]['rowspans'][$k]['endy']; } @@ -19337,28 +19444,28 @@ if (!class_exists('TCPDF', false)) { foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) { if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) { $dom[$table_el]['rowspans'][$k]['endpage'] = $dom[($dom[$key]['parent'])]['endpage']; + $dom[$table_el]['rowspans'][$k]['endcolumn'] = $dom[($dom[$key]['parent'])]['endcolumn']; $dom[$table_el]['rowspans'][$k]['endy'] = $dom[($dom[$key]['parent'])]['endy']; } } } - if (($this->num_columns > 1) AND ($dom[($dom[$key]['parent'])]['endy'] >= ($this->PageBreakTrigger - $this->lasth)) AND ($this->y < $dom[($dom[$key]['parent'])]['endy'])) { - $this->Ln(0, $cell); - } else { - $this->setPage($dom[($dom[$key]['parent'])]['endpage']); - $this->y = $dom[($dom[$key]['parent'])]['endy']; - if (isset($dom[$table_el]['attribute']['cellspacing'])) { - $cellspacing = $this->getHTMLUnitToUnits($dom[$table_el]['attribute']['cellspacing'], 1, 'px'); - $this->y += $cellspacing; - } - $this->Ln(0, $cell); + $this->setPage($dom[($dom[$key]['parent'])]['endpage']); + $this->selectColumn($dom[($dom[$key]['parent'])]['endcolumn']); + $this->y = $dom[($dom[$key]['parent'])]['endy']; + if (isset($dom[$table_el]['attribute']['cellspacing'])) { + $cellspacing = $this->getHTMLUnitToUnits($dom[$table_el]['attribute']['cellspacing'], 1, 'px'); + $this->y += $cellspacing; + } + $this->Ln(0, $cell); + if ($this->current_column == $parent['startcolumn']) { $this->x = $parent['startx']; - // account for booklet mode - if ($this->page > $parent['startpage']) { - if (($this->rtl) AND ($this->pagedim[$this->page]['orm'] != $this->pagedim[$parent['startpage']]['orm'])) { - $this->x -= ($this->pagedim[$this->page]['orm'] - $this->pagedim[$parent['startpage']]['orm']); - } elseif ((!$this->rtl) AND ($this->pagedim[$this->page]['olm'] != $this->pagedim[$parent['startpage']]['olm'])) { - $this->x += ($this->pagedim[$this->page]['olm'] - $this->pagedim[$parent['startpage']]['olm']); - } + } + // account for booklet mode + if ($this->page > $parent['startpage']) { + if (($this->rtl) AND ($this->pagedim[$this->page]['orm'] != $this->pagedim[$parent['startpage']]['orm'])) { + $this->x -= ($this->pagedim[$this->page]['orm'] - $this->pagedim[$parent['startpage']]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$this->page]['olm'] != $this->pagedim[$parent['startpage']]['olm'])) { + $this->x += ($this->pagedim[$this->page]['olm'] - $this->pagedim[$parent['startpage']]['olm']); } } break; @@ -19377,6 +19484,11 @@ if (!class_exists('TCPDF', false)) { $border = 0; } $default_border = $border; + if (isset($table_el['attribute']['cellspacing'])) { + $cellspacing = $this->getHTMLUnitToUnits($table_el['attribute']['cellspacing'], 1, 'px'); + } else { + $cellspacing = 0; + } // fix bottom line alignment of last line before page break foreach ($dom[($dom[$key]['parent'])]['trids'] as $j => $trkey) { // update row-spanned cells @@ -19421,10 +19533,17 @@ if (!class_exists('TCPDF', false)) { $endy = $table_el['rowspans'][($cellpos['rowspanid'])]['endy']; $startpage = $table_el['rowspans'][($cellpos['rowspanid'])]['startpage']; $endpage = $table_el['rowspans'][($cellpos['rowspanid'])]['endpage']; + $startcolumn = $table_el['rowspans'][($cellpos['rowspanid'])]['startcolumn']; + $endcolumn = $table_el['rowspans'][($cellpos['rowspanid'])]['endcolumn']; } else { $endy = $parent['endy']; $startpage = $parent['startpage']; $endpage = $parent['endpage']; + $startcolumn = $parent['startcolumn']; + $endcolumn = $parent['endcolumn']; + } + if ($this->num_columns == 0) { + $this->num_columns = 1; } if (isset($cellpos['border'])) { $border = $cellpos['border']; @@ -19435,12 +19554,6 @@ if (!class_exists('TCPDF', false)) { } else { $fill = false; } - // get latest column - $startcolumn = $parent['startcolumn']; - $endcolumn = $parent['endcolumn']; - if ($this->num_columns == 0) { - $this->num_columns = 1; - } $x = $cellpos['startx']; $y = $parent['starty']; $starty = $y; @@ -19466,8 +19579,9 @@ if (!class_exists('TCPDF', false)) { $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); } } - if ($startpage == $endpage) { - // single page + if ($startpage == $endpage) { // single page + $deltacol = 0; + $deltath = 0; for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column $this->selectColumn($column); if ($startcolumn == $endcolumn) { // single column @@ -19478,47 +19592,87 @@ if (!class_exists('TCPDF', false)) { } elseif ($column == $startcolumn) { // first column $cborder = $border_start; $this->y = $starty; + $this->x = $x; $h = $this->h - $this->y - $this->bMargin; + if ($this->rtl) { + $deltacol = $this->x + $this->rMargin - $this->w; + } else { + $deltacol = $this->x - $this->lMargin; + } } elseif ($column == $endcolumn) { // end column $cborder = $border_end; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $endy - $this->y; } else { // middle column $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $this->h - $this->y - $this->bMargin; } $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; } // end for each column } elseif ($page == $startpage) { // first page + $deltacol = 0; + $deltath = 0; for ($column = $startcolumn; $column < $this->num_columns; ++$column) { // for each column $this->selectColumn($column); if ($column == $startcolumn) { // first column $cborder = $border_start; $this->y = $starty; + $this->x = $x; $h = $this->h - $this->y - $this->bMargin; + if ($this->rtl) { + $deltacol = $this->x + $this->rMargin - $this->w; + } else { + $deltacol = $this->x - $this->lMargin; + } } else { // middle column $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $this->h - $this->y - $this->bMargin; } $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; } // end for each column } elseif ($page == $endpage) { // last page + $deltacol = 0; + $deltath = 0; for ($column = 0; $column <= $endcolumn; ++$column) { // for each column $this->selectColumn($column); - if ($column == $endcolumn) { - // end column + if ($column == $endcolumn) { // end column $cborder = $border_end; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $endy - $this->y; - } else { - // middle column + } else { // middle column $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $this->h - $this->y - $this->bMargin; } $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; } // end for each column } else { // middle page + $deltacol = 0; + $deltath = 0; for ($column = 0; $column < $this->num_columns; ++$column) { // for each column $this->selectColumn($column); $cborder = $border_middle; + if (isset($this->columns[$column]['th']['\''.$page.'\''])) { + $this->y = $this->columns[$column]['th']['\''.$page.'\'']; + } + $this->x += $deltacol; $h = $this->h - $this->y - $this->bMargin; $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; } // end for each column @@ -21052,6 +21206,8 @@ if (!class_exists('TCPDF', false)) { $lmargin = $this->lMargin; $rmargin = $this->rMargin; $x_start = $this->GetX(); + $current_page = $this->page; + $current_column = $this->current_column; if ($this->empty_string($numbersfont)) { $numbersfont = $this->default_monospaced_font; } @@ -21118,9 +21274,17 @@ if (!class_exists('TCPDF', false)) { } // write the number $this->Cell($tw, 0, $pagenum, 0, 1, $alignnum, 0, $link, 0); - $this->SetX($x_start); - $this->lMargin = $lmargin; - $this->rMargin = $rmargin; + if (($this->page == $current_page) AND ($this->current_column == $current_column)) { + $this->SetX($x_start); + $this->lMargin = $lmargin; + $this->rMargin = $rmargin; + } else { + $current_page = $this->page; + $current_column = $this->current_column; + $lmargin = $this->lMargin; + $rmargin = $this->rMargin; + $x_start = $this->GetX(); + } } $page_last = $this->getPage(); $numpages = $page_last - $page_first + 1; @@ -21440,28 +21604,36 @@ if (!class_exists('TCPDF', false)) { } elseif($col >= $this->num_columns) { $col = 0; } + $xshift = 0; $enable_thead = false; if ($this->num_columns > 1) { if ($col != $this->current_column) { - // move pointer at column top on the first page + // move Y pointer at the top of the column if ($this->column_start_page == $this->page) { $this->y = $this->columns[$col]['y']; } else { $this->y = $this->tMargin; } - $enable_thead = true; + // Avoid to write table headers more than once + if (($this->page > $this->maxselcol['page']) OR (($this->page == $this->maxselcol['page']) AND ($col > $this->maxselcol['column']))) { + $enable_thead = true; + $this->maxselcol['page'] = $this->page; + $this->maxselcol['column'] = $col; + } } + $xshift = $this->colxshift; // set X position of the current column by case $listindent = ($this->listindentlevel * $this->listindent); + $colpos = ($col * ($this->columns[$col]['w'] + $this->columns[$col]['s'])); if ($this->rtl) { - $x = $this->w - $this->original_rMargin - ($col * ($this->columns[$col]['w'] + $this->columns[$col]['s'])); - $this->SetRightMargin($this->w - $x + $listindent); - $this->SetLeftMargin($x - $this->columns[$col]['w']); + $x = $this->w - $this->original_rMargin - $colpos; + $this->rMargin = ($this->w - $x + $listindent); + $this->lMargin = ($x - $this->columns[$col]['w']); $this->x = $x - $listindent; } else { - $x = $this->original_lMargin + ($col * ($this->columns[$col]['w'] + $this->columns[$col]['s'])); - $this->SetLeftMargin($x + $listindent); - $this->SetRightMargin($this->w - $x - $this->columns[$col]['w']); + $x = $this->original_lMargin + $colpos; + $this->lMargin = ($x + $listindent); + $this->rMargin = ($this->w - $x - $this->columns[$col]['w']); $this->x = $x + $listindent; } $this->columns[$col]['x'] = $x; @@ -21474,9 +21646,28 @@ if (!class_exists('TCPDF', false)) { // fix for HTML mode $this->newline = true; // print HTML table header (if any) - if ($enable_thead AND (!$this->empty_string($this->thead)) AND (!$this->inthead)) { - // print table header - $this->writeHTML($this->thead, false, false, false, false, ''); + if ((!$this->empty_string($this->thead)) AND (!$this->inthead)) { + if ($enable_thead) { + // print table header + $this->writeHTML($this->thead, false, false, false, false, ''); + $this->y += $xshift['s']; + // store end of header position + if (!isset($this->columns[$col]['th'])) { + $this->columns[$col]['th'] = array(); + } + $this->columns[$col]['th']['\''.$this->page.'\''] = $this->y; + $this->lasth = 0; + } elseif (isset($this->columns[$col]['th']['\''.$this->page.'\''])) { + $this->y = $this->columns[$col]['th']['\''.$this->page.'\'']; + } + } + // account for an html table cell over multiple columns + if ($this->rtl) { + $this->rMargin += $xshift['x']; + $this->x -= ($xshift['x'] + $xshift['p']); + } else { + $this->lMargin += $xshift['x']; + $this->x += $xshift['x'] + $xshift['p']; } } @@ -21846,6 +22037,44 @@ if (!class_exists('TCPDF', false)) { return $this->font_subsetting; } + /** + * Left trim the input string + * @param string $str string to trim + * @return left trimmed string + * @author Nicola Asuni + * @access public + * @since 5.8.000 (2010-08-11) + */ + public function stringLeftTrim($str) { + return preg_replace('/^'.$this->re_space['p'].'+/'.$this->re_space['m'], '', $str); + } + + /** + * Right trim the input string + * @param string $str string to trim + * @return right trimmed string + * @author Nicola Asuni + * @access public + * @since 5.8.000 (2010-08-11) + */ + public function stringRightTrim($str) { + return preg_replace('/'.$this->re_space['p'].'+$/'.$this->re_space['m'], '', $str); + } + + /** + * Trim the input string + * @param string $str string to trim + * @return trimmed string + * @author Nicola Asuni + * @access public + * @since 5.8.000 (2010-08-11) + */ + public function stringTrim($str) { + $str = $this->stringLeftTrim($str); + $str = $this->stringRightTrim($str); + return $str; + } + // -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- // SVG METHODS // -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
    diff --git a/doc/li_com-tecnick-tcpdf.html b/doc/li_com-tecnick-tcpdf.html index c5001b3..1cee9c7 100644 --- a/doc/li_com-tecnick-tcpdf.html +++ b/doc/li_com-tecnick-tcpdf.html @@ -67,7 +67,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Sun, 08 Aug 2010 12:32:53 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:23 +0200 by phpDocumentor 1.4.3
    @@ -25911,7 +26105,7 @@ $n = 0])
    -

    method _puttruetypeunicode [line 9148]

    +

    method _puttruetypeunicode [line 9159]

    diff --git a/doc/index.html b/doc/index.html index 956835f..1cee9c7 100644 --- a/doc/index.html +++ b/doc/index.html @@ -67,7 +67,7 @@ This documentation was generated by phpDocumentor v1.4.3

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:23 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/errors.html b/doc/errors.html index 1c3ff50..3384a08 100644 --- a/doc/errors.html +++ b/doc/errors.html @@ -35,7 +35,7 @@ Post-parsing

    - Documentation generated on Sun, 08 Aug 2010 12:32:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:29 +0200 by phpDocumentor 1.4.3
    @@ -25956,7 +26150,7 @@ $font)
    -

    method _putviewerpreferences [line 9904]

    +

    method _putviewerpreferences [line 9915]

    diff --git a/doc/elementindex_com-tecnick-tcpdf.html b/doc/elementindex_com-tecnick-tcpdf.html index 33e3b77..531a2ad 100644 --- a/doc/elementindex_com-tecnick-tcpdf.html +++ b/doc/elementindex_com-tecnick-tcpdf.html @@ -443,6 +443,8 @@
    in file tcpdf.php, variable TCPDF::$columns
        Array of column measures (width, space, starting Y position)
    $column_start_page
    in file tcpdf.php, variable TCPDF::$column_start_page
        Starting page for columns
    +
    $colxshift
    +
    in file tcpdf.php, variable TCPDF::$colxshift
        Array of: X difference between table cell x start and starting page margin, cellspacing, cellpadding
    $compress
    in file tcpdf.php, variable TCPDF::$compress
    $CoreFonts
    @@ -1191,6 +1193,8 @@

    m

    +
    $maxselcol
    +
    in file tcpdf.php, variable TCPDF::$maxselcol
        Maximum page and column selected
    makeMask
    in file qrcode.php, method QRcode::makeMask()
        makeMask
    makeMaskNo
    @@ -1644,10 +1648,10 @@
    SetAutoPageBreak
    in file tcpdf.php, method TCPDF::SetAutoPageBreak()
        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.
    setBarcode
    -
    in file barcodes.php, method TCPDFBarcode::setBarcode()
        Set the barcode.
    -
    setBarcode
    in file tcpdf.php, method TCPDF::setBarcode()
        Set document barcode.
    setBarcode
    +
    in file barcodes.php, method TCPDFBarcode::setBarcode()
        Set the barcode.
    +
    setBarcode
    in file 2dbarcodes.php, method TCPDF2DBarcode::setBarcode()
        Set the barcode.
    SetBooklet
    in file tcpdf.php, method TCPDF::SetBooklet()
        Set the booklet mode for double-sided pages.
    @@ -1841,6 +1845,12 @@
    in file tcpdf.php, method TCPDF::StartTransform()
        Starts a 2D tranformation saving current graphic state.
    StopTransform
    in file tcpdf.php, method TCPDF::StopTransform()
        Stops a 2D tranformation restoring previous graphic state.
    +
    stringLeftTrim
    +
    in file tcpdf.php, method TCPDF::stringLeftTrim()
        Left trim the input string
    +
    stringRightTrim
    +
    in file tcpdf.php, method TCPDF::stringRightTrim()
        Right trim the input string
    +
    stringTrim
    +
    in file tcpdf.php, method TCPDF::stringTrim()
        Trim the input string
    STRUCTURE_HEADER_BITS
    in file qrcode.php, constant STRUCTURE_HEADER_BITS
        Number of header bits for structured mode
    str_split
    @@ -2060,7 +2070,7 @@ top

    - Documentation generated on Sun, 08 Aug 2010 12:32:53 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:23 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/elementindex.html b/doc/elementindex.html index 2cc542b..712d883 100644 --- a/doc/elementindex.html +++ b/doc/elementindex.html @@ -249,6 +249,8 @@
    in file tcpdf.php, variable TCPDF::$columns
        Array of column measures (width, space, starting Y position)
    $column_start_page
    in file tcpdf.php, variable TCPDF::$column_start_page
        Starting page for columns
    +
    $colxshift
    +
    in file tcpdf.php, variable TCPDF::$colxshift
        Array of: X difference between table cell x start and starting page margin, cellspacing, cellpadding
    $compress
    in file tcpdf.php, variable TCPDF::$compress
    $CoreFonts
    @@ -997,6 +999,8 @@

    m

    +
    $maxselcol
    +
    in file tcpdf.php, variable TCPDF::$maxselcol
        Maximum page and column selected
    makeMask
    in file qrcode.php, method QRcode::makeMask()
        makeMask
    makeMaskNo
    @@ -1450,10 +1454,10 @@
    SetAutoPageBreak
    in file tcpdf.php, method TCPDF::SetAutoPageBreak()
        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.
    setBarcode
    -
    in file barcodes.php, method TCPDFBarcode::setBarcode()
        Set the barcode.
    -
    setBarcode
    in file tcpdf.php, method TCPDF::setBarcode()
        Set document barcode.
    setBarcode
    +
    in file barcodes.php, method TCPDFBarcode::setBarcode()
        Set the barcode.
    +
    setBarcode
    in file 2dbarcodes.php, method TCPDF2DBarcode::setBarcode()
        Set the barcode.
    SetBooklet
    in file tcpdf.php, method TCPDF::SetBooklet()
        Set the booklet mode for double-sided pages.
    @@ -1647,6 +1651,12 @@
    in file tcpdf.php, method TCPDF::StartTransform()
        Starts a 2D tranformation saving current graphic state.
    StopTransform
    in file tcpdf.php, method TCPDF::StopTransform()
        Stops a 2D tranformation restoring previous graphic state.
    +
    stringLeftTrim
    +
    in file tcpdf.php, method TCPDF::stringLeftTrim()
        Left trim the input string
    +
    stringRightTrim
    +
    in file tcpdf.php, method TCPDF::stringRightTrim()
        Right trim the input string
    +
    stringTrim
    +
    in file tcpdf.php, method TCPDF::stringTrim()
        Trim the input string
    STRUCTURE_HEADER_BITS
    in file qrcode.php, constant STRUCTURE_HEADER_BITS
        Number of header bits for structured mode
    str_split
    @@ -2028,7 +2038,7 @@ top

    - Documentation generated on Sun, 08 Aug 2010 12:32:53 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:23 +0200 by phpDocumentor 1.4.3
    @@ -25990,7 +26184,7 @@ $font)
    -

    method _RC4 [line 10983]

    +

    method _RC4 [line 10994]

    diff --git a/doc/com-tecnick-tcpdf/_unicode_data.php.html b/doc/com-tecnick-tcpdf/_unicode_data.php.html index 7809fd7..dff99e7 100644 --- a/doc/com-tecnick-tcpdf/_unicode_data.php.html +++ b/doc/com-tecnick-tcpdf/_unicode_data.php.html @@ -246,7 +246,7 @@ Unicode data for TCPDF library.




    - Documentation generated on Sun, 08 Aug 2010 12:32:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:29 +0200 by phpDocumentor 1.4.3
    @@ -26041,7 +26235,7 @@ $text)
    -

    method _setGDImageTransparency [line 6938]

    +

    method _setGDImageTransparency [line 6949]

    diff --git a/doc/com-tecnick-tcpdf/_tcpdf.php.html b/doc/com-tecnick-tcpdf/_tcpdf.php.html index ae52511..7990643 100644 --- a/doc/com-tecnick-tcpdf/_tcpdf.php.html +++ b/doc/com-tecnick-tcpdf/_tcpdf.php.html @@ -82,7 +82,7 @@ This is a PHP class for generating PDF documents without requiring external exte - + @@ -113,7 +113,7 @@ unicode data

    diff --git a/doc/com-tecnick-tcpdf/_qrcode.php.html b/doc/com-tecnick-tcpdf/_qrcode.php.html index 206415e..01de10c 100644 --- a/doc/com-tecnick-tcpdf/_qrcode.php.html +++ b/doc/com-tecnick-tcpdf/_qrcode.php.html @@ -480,7 +480,7 @@ string $string, [int $split_length = 1])

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    @@ -26086,7 +26280,7 @@ $image)
    -

    method _textstring [line 10264]

    +

    method _textstring [line 10275]

    diff --git a/doc/com-tecnick-tcpdf/_pdf417.php.html b/doc/com-tecnick-tcpdf/_pdf417.php.html index 5e8dfe2..2281925 100644 --- a/doc/com-tecnick-tcpdf/_pdf417.php.html +++ b/doc/com-tecnick-tcpdf/_pdf417.php.html @@ -157,7 +157,7 @@ Class to create PDF417 barcode arrays for TCPDF class.

    PDF417 (ISO


    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_htmlcolors.php.html b/doc/com-tecnick-tcpdf/_htmlcolors.php.html index e09ac74..d57fbb2 100644 --- a/doc/com-tecnick-tcpdf/_htmlcolors.php.html +++ b/doc/com-tecnick-tcpdf/_htmlcolors.php.html @@ -97,7 +97,7 @@ Array of WEB safe colors.




    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    @@ -26131,7 +26325,7 @@ $n = 0])
    -

    method _toJPEG [line 6901]

    +

    method _toJPEG [line 6912]

    diff --git a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html index d3e04c0..551cacc 100644 --- a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html +++ b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html @@ -542,7 +542,7 @@ Configuration file for TCPDF.




    - Documentation generated on Sun, 08 Aug 2010 12:32:59 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:29 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/_barcodes.php.html b/doc/com-tecnick-tcpdf/_barcodes.php.html index d1d7961..f1ed761 100644 --- a/doc/com-tecnick-tcpdf/_barcodes.php.html +++ b/doc/com-tecnick-tcpdf/_barcodes.php.html @@ -105,7 +105,7 @@ PHP class to creates array representations for common 1D barcodes to be used wit

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    @@ -26173,7 +26367,7 @@ $file)
    -

    method _toPNG [line 6920]

    +

    method _toPNG [line 6931]

    diff --git a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html index 857bb2d..6610f1f 100644 --- a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html +++ b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html @@ -105,7 +105,7 @@ PHP class to creates array representations for 2D barcodes to be used with TCPDF

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/TCPDFBarcode.html b/doc/com-tecnick-tcpdf/TCPDFBarcode.html index 1df73c0..197fd22 100644 --- a/doc/com-tecnick-tcpdf/TCPDFBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDFBarcode.html @@ -1377,7 +1377,7 @@ $type)

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    @@ -26218,7 +26412,7 @@ $file)
    -

    method _Uvalue [line 11089]

    +

    method _Uvalue [line 11100]

    diff --git a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html index cfd55b1..562b769 100644 --- a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html @@ -299,7 +299,7 @@ $type)

    - Documentation generated on Sun, 08 Aug 2010 12:32:54 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:24 +0200 by phpDocumentor 1.4.3
    @@ -26255,7 +26449,7 @@ $file)

    - Documentation generated on Sun, 08 Aug 2010 12:32:55 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:25 +0200 by phpDocumentor 1.4.3
    author:  Nicola Asuni
    version:  5.7.003version:  5.8.000
    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
    - PDF_PRODUCER = 'TCPDF 5.7.003 (http://www.tcpdf.org)' + PDF_PRODUCER = 'TCPDF 5.8.000 (http://www.tcpdf.org)'
    @@ -124,7 +124,7 @@ unicode data


    - Documentation generated on Sun, 08 Aug 2010 12:32:55 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 11 Aug 2010 23:48:25 +0200 by phpDocumentor 1.4.3