diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 129bebd..04725f1 100755 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -1,3 +1,10 @@ +5.7.000 (2010-08-03) + - CSS borders are now supported for HTML tables and other block tags (see example n. 61); + - Cell borders were improved (see example n. 57); + - Minor bugs were fixed. + +------------------------------------------------------------ + 5.6.000 (2010-07-31) - A bug with object IDs was fixes. - Performances were improved. diff --git a/README.TXT b/README.TXT index 2959dd7..d7a2d2e 100755 --- a/README.TXT +++ b/README.TXT @@ -8,8 +8,8 @@ http: sourceforge.net/donate/index.php?group_id=128076 ------------------------------------------------------------ Name: TCPDF -Version: 5.6.000 -Release date: 2010-07-31 +Version: 5.7.000 +Release date: 2010-08-03 Author: Nicola Asuni Copyright (c) 2002-2010: diff --git a/doc/classtrees_com-tecnick-tcpdf.html b/doc/classtrees_com-tecnick-tcpdf.html index b086e38..c76b3ab 100644 --- a/doc/classtrees_com-tecnick-tcpdf.html +++ b/doc/classtrees_com-tecnick-tcpdf.html @@ -60,7 +60,7 @@

- Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/PDF417.html b/doc/com-tecnick-tcpdf/PDF417.html index cbf61b8..29edc1c 100644 --- a/doc/com-tecnick-tcpdf/PDF417.html +++ b/doc/com-tecnick-tcpdf/PDF417.html @@ -1003,7 +1003,7 @@ $code)

- Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/QRcode.html b/doc/com-tecnick-tcpdf/QRcode.html index b982d63..c681520 100644 --- a/doc/com-tecnick-tcpdf/QRcode.html +++ b/doc/com-tecnick-tcpdf/QRcode.html @@ -5551,7 +5551,7 @@ $frame)

- Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
diff --git a/doc/com-tecnick-tcpdf/TCPDF.html b/doc/com-tecnick-tcpdf/TCPDF.html index 5c7afb5..904e123 100644 --- a/doc/com-tecnick-tcpdf/TCPDF.html +++ b/doc/com-tecnick-tcpdf/TCPDF.html @@ -83,7 +83,7 @@ Source Location: /tcpdf.php

Version:

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

  • $bgcolor
  • $bMargin
  • $booklet
  • +
  • $bordermrk
  • $buffer
  • $bufferlen
  • $byterange_string
  • @@ -353,6 +354,7 @@ Source Location: /tcpdf.php

  • cropMark
  • Curve
  • deletePage
  • +
  • drawHTMLTagBorder
  • Ellipse
  • empty_string
  • endPage
  • @@ -371,12 +373,17 @@ Source Location: /tcpdf.php

  • GetArrStringWidth
  • getBarcode
  • getBorderMode
  • +
  • getBorderStartPosition
  • getBreakMargin
  • getBuffer
  • +
  • getCellBorder
  • getCellCode
  • getCellHeightRatio
  • GetCharWidth
  • getColumn
  • +
  • getCSSBorderDashStyle
  • +
  • getCSSBorderStyle
  • +
  • getCSSBorderWidth
  • getEncPermissionsString
  • getFontAscent
  • getFontBuffer
  • @@ -726,7 +733,7 @@ This is a PHP class for generating PDF documents without requiring external exte author:  Nicola Asuni - info@tecnick.com - version:  5.6.000 + version:  5.7.000 link:  http://www.tcpdf.org @@ -803,7 +810,7 @@ This is a PHP class for generating PDF documents without requiring external exte

    $annotation_fonts = array()

    -

    [line 1397]

    +

    [line 1405]

    List of fonts used on form fields (fontname => fontkey).



    Tags:

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

    $booklet =  false

    -

    [line 1087]

    +

    [line 1095]

    Booklet mode for double-sided pages



    Tags:

    @@ -974,6 +981,33 @@ This is a PHP class for generating PDF documents without requiring external exte access:  protected +
    + +
    +
    + + + + + +
    Type:  mixed
    +


    +
    [ Top ]

    + +

    +

    $bordermrk = array()

    +

    [line 974]

    + Array used to store positions inside the pages buffer.

    keys are the page numbers




    +

    Tags:

    +
    + + + + + + + +
    since:  5.7.000 (2010-08-03)
    access:  protected

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

    $bufferlen =  0

    -

    [line 1187]

    +

    [line 1195]

    Length of the buffer in bytes.



    Tags:

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

    $byterange_string =  '/ByteRange[0 ********** ********** **********]'

    -

    [line 1334]

    +

    [line 1342]

    ByteRange placemark used during signature process.



    Tags:

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

    $cache_file_length = array()

    -

    [line 1243]

    +

    [line 1251]

    Array used to store the lengths of cache files



    Tags:

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

    $cache_maxsize_UTF8StringToArray =  8

    -

    [line 1271]

    +

    [line 1279]

    Maximum size of cache array used for UTF8StringToArray() method.



    Tags:

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

    $cache_size_UTF8StringToArray =  0

    -

    [line 1278]

    +

    [line 1286]

    Current size of cache array used for UTF8StringToArray() method.



    Tags:

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

    $cache_UTF8StringToArray = array()

    -

    [line 1264]

    +

    [line 1272]

    Cache array for UTF8StringToArray() method.



    Tags:

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

    $cntmrk = array()

    -

    [line 974]

    +

    [line 982]

    Array used to store content positions inside the pages buffer.

    keys are the page numbers




    Tags:

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

    $columns = array()

    -

    [line 1446]

    +

    [line 1454]

    Array of column measures (width, space, starting Y position)



    Tags:

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

    $column_start_page =  0

    -

    [line 1467]

    +

    [line 1475]

    Starting page for columns



    Tags:

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

    $current_column =  0

    -

    [line 1460]

    +

    [line 1468]

    Current column number



    Tags:

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

    $customlistindent =  -1

    -

    [line 1109]

    +

    [line 1117]



    Tags:

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

    $default_form_prop = array('lineWidth'=>1, 'borderStyle'=>'solid', 'fillColor'=>array(255, 255, 255),'strokeColor'=>array(128,128,128))

    -

    [line 1362]

    +

    [line 1370]

    Deafult Javascript field properties. Possible values are described on official Javascript for Acrobat API reference. Annotation options can be directly specified using the 'aopt' entry.



    Tags:

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

    $default_graphic_vars = array()

    -

    [line 1522]

    +

    [line 1530]



    Tags:

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

    $default_monospaced_font =  'courier'

    -

    [line 1229]

    +

    [line 1237]

    Default monospaced font



    Tags:

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

    $diskcache =  false

    -

    [line 1194]

    +

    [line 1202]

    If true enables disk caching.



    Tags:

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

    $embeddedfiles = array()

    -

    [line 1123]

    +

    [line 1131]



    Tags:

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

    $endlinex =  0

    -

    [line 1003]

    +

    [line 1011]

    End position of the latest inserted line



    Tags:

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

    $epsmarker =  'x#!#EPS#!#x'

    -

    [line 1066]

    +

    [line 1074]

    String used to mark the beginning and end of EPS image blocks



    Tags:

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

    $feps =  0.005

    -

    [line 1094]

    +

    [line 1102]

    Epsilon value used for float calculations



    Tags:

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

    $fontkeys = array()

    -

    [line 1208]

    +

    [line 1216]

    Store the font keys.



    Tags:

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

    $font_obj_ids = array()

    -

    [line 1215]

    +

    [line 1223]

    Store the font object IDs.



    Tags:

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

    $font_subsetting =  true

    -

    [line 1515]

    +

    [line 1523]



    Tags:

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

    $footerlen = array()

    -

    [line 989]

    +

    [line 997]

    Array used to store footer length of each page.



    Tags:

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

    $footerpos = array()

    -

    [line 981]

    +

    [line 989]

    Array used to store footer positions of each page.



    Tags:

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

    $form_action =  ''

    -

    [line 1376]

    +

    [line 1384]

    Current form action (used during XHTML rendering)



    Tags:

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

    $form_enctype =  'application/x-www-form-urlencoded'

    -

    [line 1383]

    +

    [line 1391]

    Current form encryption type (used during XHTML rendering)



    Tags:

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

    $form_mode =  'post'

    -

    [line 1390]

    +

    [line 1398]

    Current method to submit forms.



    Tags:

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

    $form_obj_id = array()

    -

    [line 1355]

    +

    [line 1363]

    List of form annotations IDs



    Tags:

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

    $htmlLinkColorArray = array(0, 0, 255)

    -

    [line 1145]

    +

    [line 1153]

    Default color for html links



    Tags:

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

    $htmlLinkFontStyle =  'U'

    -

    [line 1152]

    +

    [line 1160]

    Default font style to add to html links



    Tags:

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

    $htmlvspace =  0

    -

    [line 1045]

    +

    [line 1053]

    Count the latest inserted vertical spaces on HTML



    Tags:

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

    $imagekeys = array()

    -

    [line 1180]

    +

    [line 1188]

    Store the image keys.



    Tags:

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

    $inthead =  false

    -

    [line 1439]

    +

    [line 1447]

    True when we are printing the thead section on a new page



    Tags:

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

    $js_objects = array()

    -

    [line 1369]

    +

    [line 1377]

    Javascript objects array



    Tags:

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

    $linestyleCap =  '0 J'

    -

    [line 1017]

    +

    [line 1025]

    PDF string for last line width



    Tags:

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

    $linestyleDash =  '[] 0 d'

    -

    [line 1031]

    +

    [line 1039]

    PDF string for last line width



    Tags:

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

    $linestyleJoin =  '0 j'

    -

    [line 1024]

    +

    [line 1032]

    PDF string for last line width



    Tags:

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

    $linestyleWidth =  ''

    -

    [line 1010]

    +

    [line 1018]

    PDF string for last line width



    Tags:

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

    $lisymbol =  ''

    -

    [line 1059]

    +

    [line 1067]

    Symbol used for HTML unordered list items



    Tags:

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

    $newline =  true

    -

    [line 996]

    +

    [line 1004]

    True if a newline is created.



    Tags:

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

    $numfonts =  0

    -

    [line 1201]

    +

    [line 1209]

    Counts the number of fonts.



    Tags:

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

    $numimages =  0

    -

    [line 1173]

    +

    [line 1181]

    Counts the number of pages.



    Tags:

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

    $numpages =  0

    -

    [line 1159]

    +

    [line 1167]

    Counts the number of pages.



    Tags:

    @@ -4186,8 +4220,8 @@ This is a PHP class for generating PDF documents without requiring external exte
    [ Top ]

    -

    $num_columns =  0

    -

    [line 1453]

    +

    $num_columns =  1

    +

    [line 1461]

    Number of colums



    Tags:

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

    $objcopy =

    -

    [line 1236]

    +

    [line 1244]

    Used to store a cloned copy of the current class object



    Tags:

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

    $opencell =  true

    -

    [line 1116]

    +

    [line 1124]



    Tags:

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

    $openMarkedContent =  false

    -

    [line 1038]

    +

    [line 1046]

    True if marked-content sequence is open



    Tags:

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

    $pagelen = array()

    -

    [line 1166]

    +

    [line 1174]

    Array containing page lengths in bytes.



    Tags:

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

    $pageopen = array()

    -

    [line 1222]

    +

    [line 1230]

    Store the fage status (true when opened, false when closed).



    Tags:

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

    $page_obj_id = array()

    -

    [line 1348]

    +

    [line 1356]

    ID of page objects



    Tags:

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

    $pdfunit =  'mm'

    -

    [line 1495]

    +

    [line 1503]



    Tags:

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

    $premode =  false

    -

    [line 1130]

    +

    [line 1138]



    Tags:

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

    $radiobutton_groups = array()

    -

    [line 1404]

    +

    [line 1412]

    List of radio buttons parent objects.



    Tags:

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

    $radio_groups = array()

    -

    [line 1411]

    +

    [line 1419]

    List of radio group objects IDs



    Tags:

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

    $rasterize_vector_images =  false

    -

    [line 1508]

    +

    [line 1516]



    Tags:

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

    $re_space = array('p' => '[\s]', 'm' => '')

    -

    [line 1320]

    +

    [line 1328]

    Array of parts $re_spaces



    Tags:

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

    $re_spaces =  '/[\s]/'

    -

    [line 1313]

    +

    [line 1321]

    Regular expression used to find blank characters used for word-wrapping.



    Tags:

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

    $sign =  false

    -

    [line 1285]

    +

    [line 1293]

    If true enables document signing



    Tags:

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

    $signature_appearance = array('page' => 1, 'rect' => '0 0 0 0')

    -

    [line 1306]

    +

    [line 1314]

    data for signature appearance



    Tags:

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

    $signature_data = array()

    -

    [line 1292]

    +

    [line 1300]

    Signature data



    Tags:

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

    $signature_max_length =  11742

    -

    [line 1299]

    +

    [line 1307]

    Signature max length



    Tags:

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

    $sig_annot_ref =  '***SIGANNREF*** 0 R'

    -

    [line 1341]

    +

    [line 1349]

    Placemark used during signature process.



    Tags:

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

    $sig_obj_id =  0

    -

    [line 1327]

    +

    [line 1335]

    Signature object ID



    Tags:

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

    $spot_colors = array()

    -

    [line 1052]

    +

    [line 1060]

    Array of Spot colors



    Tags:

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

    $start_transaction_page =  0

    -

    [line 1425]

    +

    [line 1433]

    Store page number when startTransaction() is called.



    Tags:

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

    $start_transaction_y =  0

    -

    [line 1432]

    +

    [line 1440]

    Store Y position when startTransaction() is called.



    Tags:

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

    $strokecolor =

    -

    [line 1488]

    +

    [line 1496]



    Tags:

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

    $svgclipid =  0

    -

    [line 1585]

    +

    [line 1593]



    Tags:

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

    $svgclipmode =  false

    -

    [line 1571]

    +

    [line 1579]



    Tags:

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

    $svgclippaths = array()

    -

    [line 1578]

    +

    [line 1586]



    Tags:

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

    $svgdefs = array()

    -

    [line 1564]

    +

    [line 1572]



    Tags:

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

    $svgdefsmode =  false

    -

    [line 1557]

    +

    [line 1565]



    Tags:

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

    $svgdir =  ''

    -

    [line 1529]

    +

    [line 1537]



    Tags:

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

    $svggradientid =  0

    -

    [line 1550]

    +

    [line 1558]



    Tags:

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

    $svggradients = array()

    -

    [line 1543]

    +

    [line 1551]



    Tags:

    @@ -5747,7 +5781,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 1599]

    +

    [line 1607]



    Tags:

    @@ -5840,7 +5874,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 1606]

    +

    [line 1614]



    Tags:

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

    $svgtext =  ''

    -

    [line 1592]

    +

    [line 1600]



    Tags:

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

    $svgunit =  'px'

    -

    [line 1536]

    +

    [line 1544]



    Tags:

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

    $tagvspaces = array()

    -

    [line 1101]

    +

    [line 1109]

    Array used for custom vertical spaces for HTML tags



    Tags:

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

    $textindent =  0

    -

    [line 1418]

    +

    [line 1426]

    Text indentation value (used for text-indent CSS attribute)



    Tags:

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

    $textrendermode =  0

    -

    [line 1474]

    +

    [line 1482]

    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:

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

    $textstrokewidth =  0

    -

    [line 1481]

    +

    [line 1489]

    Text stroke width in doc units



    Tags:

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

    $thead =  ''

    -

    [line 1250]

    +

    [line 1258]

    Table header content to be repeated on each new page



    Tags:

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

    $theadMargins = array()

    -

    [line 1257]

    +

    [line 1265]

    Margins used for table header.



    Tags:

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

    $tocpage =  false

    -

    [line 1501]

    +

    [line 1509]



    Tags:

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

    $transfmatrix = array()

    -

    [line 1073]

    +

    [line 1081]

    Array of transformation matrix



    Tags:

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

    $transfmatrix_key =  0

    -

    [line 1080]

    +

    [line 1088]

    Current key for transformation matrix



    Tags:

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

    $transfmrk = array()

    -

    [line 1138]

    +

    [line 1146]

    Array used to store positions of graphics transformation blocks inside the page buffer.

    keys are the page numbers




    Tags:

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

    constructor __construct [line 1690]

    +

    constructor __construct [line 1698]

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

    destructor __destruct [line 1821]

    +

    destructor __destruct [line 1829]

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

    method AcceptPageBreak [line 4807]

    +

    method AcceptPageBreak [line 4825]

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

    method addExtGState [line 14433]

    +

    method addExtGState [line 14660]

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

    method AddFont [line 4284]

    +

    method AddFont [line 4302]

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

    method addHtmlLink [line 10476]

    +

    method addHtmlLink [line 10696]

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

    method addHTMLTOC [line 20455]

    +

    method addHTMLTOC [line 21181]

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

    method addHTMLVertSpace [line 19185]

    +

    method addHTMLVertSpace [line 19715]

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

    method addJavascriptObject [line 13030]

    +

    method addJavascriptObject [line 13257]

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

    method AddLink [line 4607]

    +

    method AddLink [line 4625]

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

    method AddPage [line 3456]

    +

    method AddPage [line 3464]

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

    method AddSpotColor [line 3902]

    +

    method AddSpotColor [line 3911]

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

    method addTOC [line 20305]

    +

    method addTOC [line 21031]

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

    method addTOCPage [line 3431]

    +

    method addTOCPage [line 3439]

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

    method AliasNbPages [line 14247]

    +

    method AliasNbPages [line 14474]

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

    method AliasNumPage [line 14274]

    +

    method AliasNumPage [line 14501]

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

    method Annotation [line 4663]

    +

    method Annotation [line 4681]

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

    method Arrow [line 12240]

    +

    method Arrow [line 12467]

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

    method arrUTF8ToUTF16BE [line 10371]

    +

    method arrUTF8ToUTF16BE [line 10591]

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

    method Bookmark [line 12908]

    +

    method Bookmark [line 13135]

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

    method Button [line 13920]

    +

    method Button [line 14147]

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

    method Cell [line 4914]

    +

    method Cell [line 4932]

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

    method CheckBox [line 13850]

    +

    method CheckBox [line 14077]

    @@ -7979,7 +8013,7 @@ $valign = 'M'])
    mixed   $border  Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    int  
    @@ -8117,7 +8151,7 @@ $js = false])
    -

    method checkPageBreak [line 4834]

    +

    method checkPageBreak [line 4852]

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

    method Circle [line 11928]

    +

    method Circle [line 12155]

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

    method Clip [line 14894]

    +

    method Clip [line 15121]

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

    method Close [line 3308]

    +

    method Close [line 3316]

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

    method closeHTMLTagHandler [line 18795]

    +

    method closeHTMLTagHandler [line 19268]

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

    method colorRegistrationBar [line 14569]

    +

    method colorRegistrationBar [line 14796]

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

    method ComboBox [line 13789]

    +

    method ComboBox [line 14016]

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

    method commitTransaction [line 20567]

    +

    method commitTransaction [line 21293]

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

    method convertHexStringToString [line 11098]

    +

    method convertHexStringToString [line 11318]

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

    method convertHTMLColorToDec [line 10509]

    +

    method convertHTMLColorToDec [line 10729]

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

    method convertStringToHexString [line 11120]

    +

    method convertStringToHexString [line 11340]

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

    method convertSVGtMatrix [line 21521]

    +

    method convertSVGtMatrix [line 22249]

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

    method CoonsPatchMesh [line 14809]

    +

    method CoonsPatchMesh [line 15036]

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

    method copyPage [line 20237]

    +

    method copyPage [line 20963]

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

    method cropMark [line 14667]

    +

    method cropMark [line 14894]

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

    method Curve [line 11733]

    +

    method Curve [line 11960]

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

    method deletePage [line 20100]

    +

    method deletePage [line 20826]

    @@ -9149,9 +9183,54 @@ $page)
    [ Top ]
    +
    + +

    method drawHTMLTagBorder [line 19752]

    +
    +
    +
    + void drawHTMLTagBorder( +array +$tag, $xmax +$xmax) +
    +

    + + Draw an HTML block border and fill



    +

    Tags:

    +
    + + + + + + + +
    since:  5.7.000 (2010-08-03)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + +
    array  $tag  array of tag properties
    $xmax  $xmax  end X coordinate for border
    +

    +
    [ Top ]
    +

    -

    method Ellipse [line 11797]

    +

    method Ellipse [line 12024]

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

    method empty_string [line 20621]

    +

    method empty_string [line 21347]

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

    method endPage [line 3476]

    +

    method endPage [line 3484]

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

    method endSVGElementHandler [line 22547]

    +

    method endSVGElementHandler [line 23275]

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

    method endTOCPage [line 3441]

    +

    method endTOCPage [line 3449]

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

    method Error [line 3280]

    +

    method Error [line 3288]

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

    method extractCSSproperties [line 16082]

    +

    method extractCSSproperties [line 16309]

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

    method fitBlock [line 6275]

    +

    method fitBlock [line 6495]

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

    method Footer [line 3723]

    +

    method Footer [line 3732]

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

    method formatPageNumber [line 14351]

    +

    method formatPageNumber [line 14578]

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

    method formatTOCPageNumber [line 14363]

    +

    method formatTOCPageNumber [line 14590]

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

    method GetAbsX [line 7006]

    +

    method GetAbsX [line 7226]

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

    method getAliasNbPages [line 14259]

    +

    method getAliasNbPages [line 14486]

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

    method getAliasNumPage [line 14287]

    +

    method getAliasNumPage [line 14514]

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

    method getAnnotOptFromJSProp [line 13156]

    +

    method getAnnotOptFromJSProp [line 13383]

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

    method GetArrStringWidth [line 4186]

    +

    method GetArrStringWidth [line 4204]

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

    method getBarcode [line 15531]

    +

    method getBarcode [line 15758]

    @@ -9946,13 +10025,13 @@ $getarray = false])
    -

    method getBorderMode [line 5577]

    +

    method getBorderMode [line 5803]

    border getBorderMode( mixed -$border, [string +$brd, [string $position = 'start'])

    @@ -9962,7 +10041,7 @@ $position = 'start'])
    - + @@ -9980,8 +10059,8 @@ $position = 'start'])
    return:  modereturn:  mode array
    since:  4.4.002 (2008-12-09)
    - - + + @@ -9992,9 +10071,40 @@ $position = 'start'])
    [ Top ]
    +
    + +

    method getBorderStartPosition [line 19736]

    +
    +
    mixed  $border  Indicates if borders must be drawn around the cell block. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    $brd  Indicates if borders must be drawn around the cell block. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    string  
    +
    + array getBorderStartPosition( +) +
    +

    + + Return the starting coordinates to draw an html border



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  containing top-left border coordinates
    since:  5.7.000 (2010-08-03)
    access:  protected
    +
    +

    + + +
    [ Top ]
    +

    -

    method getBreakMargin [line 3005]

    +

    method getBreakMargin [line 3013]

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

    method getBuffer [line 19786]

    +

    method getBuffer [line 20512]

    @@ -10072,12 +10182,87 @@ $pagenum = ''])
    [ Top ]

    - -

    method getCellCode [line 4944]

    + +

    method getCellBorder [line 5330]

    - void getCellCode( + string getCellBorder( +float +$x, float +$y, float +$w, float +$h, mixed +$brd, string +$mode) +
    +

    + + Returns the code to draw the cell border



    +

    Tags:

    +
    + + + + + + + + + + + + + +
    return:  containing cell border code
    see:  TCPDF::SetLineStyle()
    since:  5.7.000 (2010-08-02)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    float  $x  X coordinate.
    float  $y  Y coordinate.
    float  $w  Cell width.
    float  $h  Cell height.
    mixed  $brd  Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    string  $mode  border position respect the square edge: normal: centered; ext: external; int: internal;
    +

    +
    [ Top ]
    +
    +
    + +

    method getCellCode [line 4963]

    +
    +
    +
    + string getCellCode( float $w, [float $h = 0], [string @@ -10098,6 +10283,9 @@ $valign = 'M'])

    Tags:

    + + + @@ -10133,7 +10321,7 @@ $valign = 'M']) - + @@ -10181,7 +10369,7 @@ $valign = 'M'])
    -

    method getCellHeightRatio [line 14529]

    +

    method getCellHeightRatio [line 14756]

    return:  containing cell code
    see:  TCPDF::Cell()
    mixed   $border  Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    int  
    @@ -10209,7 +10397,7 @@ $valign = 'M'])
    -

    method GetCharWidth [line 4222]

    +

    method GetCharWidth [line 4240]

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

    method getColumn [line 20747]

    +

    method getColumn [line 21475]

    @@ -10283,9 +10471,135 @@ $char)
    [ Top ]
    +
    + +

    method getCSSBorderDashStyle [line 16604]

    +
    +
    +
    + int getCSSBorderDashStyle( +string +$style) +
    +

    + + Returns the border dash style from CSS property



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  sash style (return -1 in case of none or hidden border)
    since:  5.7.000 (2010-08-02)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $style  border style to convert
    +

    +
    [ Top ]
    +
    +
    + +

    method getCSSBorderStyle [line 16640]

    +
    +
    +
    + array getCSSBorderStyle( +string +$cssborder) +
    +

    + + Returns the border style array from CSS border properties



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  containing border properties
    since:  5.7.000 (2010-08-02)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $cssborder  border properties
    +

    +
    [ Top ]
    +
    +
    + +

    method getCSSBorderWidth [line 16584]

    +
    +
    +
    + int getCSSBorderWidth( +string +$width) +
    +

    + + Returns the border width from CSS property



    +

    Tags:

    +
    + + + + + + + + + + +
    return:  with in user units
    since:  5.7.000 (2010-08-02)
    access:  protected
    +
    +

    + + +

    Parameters:

    +
    + + + + + + +
    string  $width  border width
    +

    +
    [ Top ]
    +

    -

    method getEncPermissionsString [line 11137]

    +

    method getEncPermissionsString [line 11357]

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

    method getFontAscent [line 4577]

    +

    method getFontAscent [line 4595]

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

    method getFontBuffer [line 19946]

    +

    method getFontBuffer [line 20672]

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

    method getFontDescent [line 4554]

    +

    method getFontDescent [line 4572]

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

    method getFontFamily [line 16060]

    +

    method getFontFamily [line 16287]

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

    method getFontSize [line 16040]

    +

    method getFontSize [line 16267]

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

    method getFontSizePt [line 16050]

    +

    method getFontSizePt [line 16277]

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

    method getFontsList [line 4261]

    +

    method getFontsList [line 4279]

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

    method getFontStyle [line 16070]

    +

    method getFontStyle [line 16297]

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

    method getFontSubsetting [line 21103]

    +

    method getFontSubsetting [line 21831]

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

    method getFooterFont [line 10434]

    +

    method getFooterFont [line 10654]

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

    method getFooterMargin [line 3637]

    +

    method getFooterMargin [line 3646]

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

    method getFormDefaultProp [line 13531]

    +

    method getFormDefaultProp [line 13758]

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

    method getGDgamma [line 6946]

    +

    method getGDgamma [line 7166]

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

    method getGraphicVars [line 19620]

    +

    method getGraphicVars [line 20344]

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

    method getGroupPageNo [line 14300]

    +

    method getGroupPageNo [line 14527]

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

    method getGroupPageNoFormatted [line 14310]

    +

    method getGroupPageNoFormatted [line 14537]

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

    method getHeaderData [line 3592]

    +

    method getHeaderData [line 3601]

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

    method getHeaderFont [line 10414]

    +

    method getHeaderFont [line 10634]

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

    method getHeaderMargin [line 3617]

    +

    method getHeaderMargin [line 3626]

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

    method getHtmlDomArray [line 16358]

    +

    method getHtmlDomArray [line 16688]

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

    method getHTMLUnitToUnits [line 19331]

    +

    method getHTMLUnitToUnits [line 20055]

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

    method getHyphenPatternsFromTEX [line 20903]

    +

    method getHyphenPatternsFromTEX [line 21631]

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

    method getImageBuffer [line 19888]

    +

    method getImageBuffer [line 20614]

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

    method getImageFileType [line 6245]

    +

    method getImageFileType [line 6465]

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

    method getImageRBX [line 3663]

    +

    method getImageRBX [line 3672]

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

    method getImageRBY [line 3672]

    +

    method getImageRBY [line 3681]

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

    method getImageScale [line 2944]

    +

    method getImageScale [line 2952]

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

    method getLastH [line 2922]

    +

    method getLastH [line 2930]

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

    method GetLineWidth [line 11480]

    +

    method GetLineWidth [line 11700]

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

    method getMargins [line 16003]

    +

    method getMargins [line 16230]

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

    method GetNumChars [line 4249]

    +

    method GetNumChars [line 4267]

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

    method getNumLines [line 5661]

    +

    method getNumLines [line 5881]

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

    method getNumPages [line 3419]

    +

    method getNumPages [line 3427]

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

    method getObjFilename [line 19700]

    +

    method getObjFilename [line 20426]

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

    method getOriginalMargins [line 16026]

    +

    method getOriginalMargins [line 16253]

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

    method getPage [line 3407]

    +

    method getPage [line 3415]

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

    method getPageBuffer [line 19829]

    +

    method getPageBuffer [line 20555]

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

    method getPageDimensions [line 2957]

    +

    method getPageDimensions [line 2965]

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

    method getPageGroupAlias [line 14322]

    +

    method getPageGroupAlias [line 14549]

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

    method getPageHeight [line 2989]

    +

    method getPageHeight [line 2997]

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

    method getPageNumGroupAlias [line 14337]

    +

    method getPageNumGroupAlias [line 14564]

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

    method getPageSizeFromFormat [line 2187]

    +

    method getPageSizeFromFormat [line 2195]

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

    method getPageWidth [line 2973]

    +

    method getPageWidth [line 2981]

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

    method getPathPaintOperator [line 21015]

    +

    method getPathPaintOperator [line 21743]

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

    method getPDFData [line 10457]

    +

    method getPDFData [line 10677]

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

    method getRemainingWidth [line 6146]

    +

    method getRemainingWidth [line 6366]

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

    method getRTL [line 2857]

    +

    method getRTL [line 2865]

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

    method getScaleFactor [line 3019]

    +

    method getScaleFactor [line 3027]

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

    method getSpaceString [line 16969]

    +

    method getSpaceString [line 17392]

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

    method getStringHeight [line 5762]

    +

    method getStringHeight [line 5982]

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

    method GetStringWidth [line 4170]

    +

    method GetStringWidth [line 4188]

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

    method getSVGTransformMatrix [line 21399]

    +

    method getSVGTransformMatrix [line 22127]

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

    method getTagStyleFromCSS [line 16329]

    +

    method getTagStyleFromCSS [line 16556]

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

    method getTransformationMatrixProduct [line 21503]

    +

    method getTransformationMatrixProduct [line 22231]

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

    method getUserPermissionCode [line 10977]

    +

    method getUserPermissionCode [line 11197]

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

    method getVectorsAngle [line 22133]

    +

    method getVectorsAngle [line 22861]

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

    method GetX [line 6990]

    +

    method GetX [line 7210]

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

    method GetY [line 7017]

    +

    method GetY [line 7237]

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

    method get_mqr [line 6662]

    +

    method get_mqr [line 6882]

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

    method Gradient [line 14918]

    +

    method Gradient [line 15145]

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

    method Header [line 3681]

    +

    method Header [line 3690]

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

    method hyphenateText [line 20942]

    +

    method hyphenateText [line 21670]

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

    method hyphenateWord [line 20833]

    +

    method hyphenateWord [line 21561]

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

    method Image [line 6352]

    +

    method Image [line 6572]

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

    method ImageEps [line 15264]

    +

    method ImageEps [line 15491]

    @@ -13034,7 +13348,7 @@ $fitonpage = false])
    mixed   $border  Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    boolean  
    - + @@ -13159,7 +13473,7 @@ $fitonpage = false])
    -

    method ImagePngAlpha [line 6902]

    +

    method ImagePngAlpha [line 7122]

    @@ -13141,7 +13455,7 @@ $fitonpage = false])
    mixed   $border  Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    boolean  
    @@ -13276,7 +13590,7 @@ $palign)
    -

    method ImageSVG [line 21128]

    +

    method ImageSVG [line 21856]

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

    method IncludeJS [line 13017]

    +

    method IncludeJS [line 13244]

    @@ -13359,7 +13673,7 @@ $fitonpage = false])
    mixed   $border  Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    boolean  
    @@ -13414,7 +13728,7 @@ $script)
    -

    method intToRoman [line 19410]

    +

    method intToRoman [line 20134]

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

    method isRTLTextDir [line 2901]

    +

    method isRTLTextDir [line 2909]

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

    method isValidCSSSelectorForTag [line 16170]

    +

    method isValidCSSSelectorForTag [line 16397]

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

    method lastPage [line 3396]

    +

    method lastPage [line 3404]

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

    method Line [line 11650]

    +

    method Line [line 11877]

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

    method LinearGradient [line 14768]

    +

    method LinearGradient [line 14995]

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

    method Link [line 4646]

    +

    method Link [line 4664]

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

    method ListBox [line 13729]

    +

    method ListBox [line 13956]

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

    method Ln [line 6959]

    +

    method Ln [line 7179]

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

    method MirrorH [line 11262]

    +

    method MirrorH [line 11482]

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

    method MirrorL [line 11298]

    +

    method MirrorL [line 11518]

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

    method MirrorP [line 11285]

    +

    method MirrorP [line 11505]

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

    method MirrorV [line 11273]

    +

    method MirrorV [line 11493]

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

    method movePage [line 19963]

    +

    method movePage [line 20689]

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

    method MultiCell [line 5356]

    +

    method MultiCell [line 5533]

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

    method objclone [line 20610]

    +

    method objclone [line 21336]

    @@ -14238,7 +14552,7 @@ $fitcell = false])
    mixed   $border  Indicates if borders must be drawn around the cell block. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    string  
    @@ -14348,7 +14662,7 @@ $object)
    -

    method Open [line 3295]

    +

    method Open [line 3303]

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

    method openHTMLTagHandler [line 18200]

    +

    method openHTMLTagHandler [line 18667]

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

    method Output [line 7109]

    +

    method Output [line 7329]

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

    method PageNo [line 3886]

    +

    method PageNo [line 3895]

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

    method PageNoFormatted [line 14373]

    +

    method PageNoFormatted [line 14600]

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

    method PieSector [line 15203]

    +

    method PieSector [line 15430]

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

    method PieSectorXY [line 15224]

    +

    method PieSectorXY [line 15451]

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

    method pixelsToUnits [line 10576]

    +

    method pixelsToUnits [line 10796]

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

    method Polycurve [line 11760]

    +

    method Polycurve [line 11987]

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

    method Polygon [line 11966]

    +

    method Polygon [line 12193]

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

    method PolyLine [line 11947]

    +

    method PolyLine [line 12174]

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

    method putHtmlListBullet [line 19475]

    +

    method putHtmlListBullet [line 20199]

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

    method RadialGradient [line 14786]

    +

    method RadialGradient [line 15013]

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

    method RadioButton [line 13640]

    +

    method RadioButton [line 13867]

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

    method readDiskCache [line 19740]

    +

    method readDiskCache [line 20466]

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

    method Rect [line 11678]

    +

    method Rect [line 11905]

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

    method registrationMark [line 14737]

    +

    method registrationMark [line 14964]

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

    method RegularPolygon [line 12064]

    +

    method RegularPolygon [line 12291]

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

    method removeSHY [line 4887]

    +

    method removeSHY [line 4905]

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

    method replaceBuffer [line 19768]

    +

    method replaceBuffer [line 20494]

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

    method revstrpos [line 20634]

    +

    method revstrpos [line 21360]

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

    method rfread [line 6870]

    +

    method rfread [line 7090]

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

    method rollbackTransaction [line 20581]

    +

    method rollbackTransaction [line 21307]

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

    method Rotate [line 11354]

    +

    method Rotate [line 11574]

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

    method RoundedRect [line 12154]

    +

    method RoundedRect [line 12381]

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

    method RoundedRectXY [line 12173]

    +

    method RoundedRectXY [line 12400]

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

    method Scale [line 11230]

    +

    method Scale [line 11450]

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

    method ScaleX [line 11190]

    +

    method ScaleX [line 11410]

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

    method ScaleXY [line 11216]

    +

    method ScaleXY [line 11436]

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

    method ScaleY [line 11203]

    +

    method ScaleY [line 11423]

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

    method segSVGContentHandler [line 22586]

    +

    method segSVGContentHandler [line 23314]

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

    method selectColumn [line 20697]

    +

    method selectColumn [line 21423]

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

    method serializeTCPDFtagParameters [line 20758]

    +

    method serializeTCPDFtagParameters [line 21486]

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

    method setAlpha [line 14486]

    +

    method setAlpha [line 14713]

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

    method SetAuthor [line 3244]

    +

    method SetAuthor [line 3252]

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

    method SetAutoPageBreak [line 3111]

    +

    method SetAutoPageBreak [line 3119]

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

    method setBarcode [line 15521]

    +

    method setBarcode [line 15748]

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

    method SetBooklet [line 19245]

    +

    method SetBooklet [line 19969]

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

    method setBuffer [line 19750]

    +

    method setBuffer [line 20476]

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

    method setCellHeightRatio [line 14520]

    +

    method setCellHeightRatio [line 14747]

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

    method SetCellPadding [line 3099]

    +

    method SetCellPadding [line 3107]

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

    method setColumnsArray [line 20684]

    +

    method setColumnsArray [line 21410]

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

    method SetCompression [line 3204]

    +

    method SetCompression [line 3212]

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

    method setContentMark [line 3559]

    +

    method setContentMark [line 3568]

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

    method SetCreator [line 3268]

    +

    method SetCreator [line 3276]

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

    method SetDefaultMonospacedFont [line 4596]

    +

    method SetDefaultMonospacedFont [line 4614]

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

    method setDefaultTableColumns [line 14510]

    +

    method setDefaultTableColumns [line 14737]

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

    method SetDisplayMode [line 3126]

    +

    method SetDisplayMode [line 3134]

    @@ -16961,16 +17275,17 @@ $mode = 'UseNone'])
    -

    method SetDrawColor [line 3941]

    +

    method SetDrawColor [line 3955]

    - void SetDrawColor( + string SetDrawColor( [int $col1 = 0], [int $col2 = -1], [int $col3 = -1], [int -$col4 = -1]) +$col4 = -1], [boolean +$ret = false])

    @@ -16978,6 +17293,9 @@ $col4 = -1])

    Tags:

    + + + @@ -17014,6 +17332,11 @@ $col4 = -1]) + + + + +
    return:  the PDF command
    see:  TCPDF::SetDrawColorArray(), TCPDF::SetFillColor(), TCPDF::SetTextColor(), TCPDF::Line(), TCPDF::Rect(), TCPDF::Cell(), TCPDF::MultiCell()
    int   $col4   Key (Black) color for CMYK. Value between 0 and 255
    boolean  $ret  if true do not send the command.

    @@ -17021,13 +17344,14 @@ $col4 = -1])

    -

    method SetDrawColorArray [line 3918]

    +

    method SetDrawColorArray [line 3929]

    - void SetDrawColorArray( + string SetDrawColorArray( array -$color) +$color, [boolean +$ret = false])

    @@ -17035,6 +17359,9 @@ $color)

    Tags:

    + + + @@ -17056,6 +17383,11 @@ $color) + + + + +
    return:  the PDF command
    see:  TCPDF::SetDrawColor()
    array   $color   array of colors
    boolean  $ret  if true do not send the command.

    @@ -17063,7 +17395,7 @@ $color)

    -

    method SetDrawSpotColor [line 3982]

    +

    method SetDrawSpotColor [line 4000]

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

    method setEqualColumns [line 20651]

    +

    method setEqualColumns [line 21377]

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

    method setExtGState [line 14452]

    +

    method setExtGState [line 14679]

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

    method SetFillColor [line 4024]

    +

    method SetFillColor [line 4042]

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

    method SetFillColorArray [line 4001]

    +

    method SetFillColorArray [line 4019]

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

    method SetFillSpotColor [line 4066]

    +

    method SetFillSpotColor [line 4084]

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

    method SetFont [line 4504]

    +

    method SetFont [line 4522]

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

    method setFontBuffer [line 19904]

    +

    method setFontBuffer [line 20630]

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

    method SetFontSize [line 4525]

    +

    method SetFontSize [line 4543]

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

    method setFontSubBuffer [line 19926]

    +

    method setFontSubBuffer [line 20652]

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

    method setFontSubsetting [line 21092]

    +

    method setFontSubsetting [line 21820]

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

    method setFooter [line 3795]

    +

    method setFooter [line 3804]

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

    method setFooterFont [line 10424]

    +

    method setFooterFont [line 10644]

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

    method setFooterMargin [line 3627]

    +

    method setFooterMargin [line 3636]

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

    method setFormDefaultProp [line 13520]

    +

    method setFormDefaultProp [line 13747]

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

    method setGraphicVars [line 19659]

    +

    method setGraphicVars [line 20384]

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

    method setHeader [line 3758]

    +

    method setHeader [line 3767]

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

    method setHeaderData [line 3578]

    +

    method setHeaderData [line 3587]

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

    method setHeaderFont [line 10404]

    +

    method setHeaderFont [line 10624]

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

    method setHeaderMargin [line 3607]

    +

    method setHeaderMargin [line 3616]

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

    method setHtmlLinksStyle [line 19316]

    +

    method setHtmlLinksStyle [line 20040]

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

    method setHtmlVSpace [line 19285]

    +

    method setHtmlVSpace [line 20009]

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

    method setImageBuffer [line 19845]

    +

    method setImageBuffer [line 20571]

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

    method setImageScale [line 2933]

    +

    method setImageScale [line 2941]

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

    method setImageSubBuffer [line 19868]

    +

    method setImageSubBuffer [line 20594]

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

    method setJPEGQuality [line 14497]

    +

    method setJPEGQuality [line 14724]

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

    method SetKeywords [line 3256]

    +

    method SetKeywords [line 3264]

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

    method setLanguageArray [line 10444]

    +

    method setLanguageArray [line 10664]

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

    method setLastH [line 2912]

    +

    method setLastH [line 2920]

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

    method SetLeftMargin [line 3055]

    +

    method SetLeftMargin [line 3063]

    @@ -18373,13 +18705,14 @@ $margin)
    -

    method SetLineStyle [line 11505]

    +

    method SetLineStyle [line 11727]

    - void SetLineStyle( + string SetLineStyle( array -$style) +$style, [boolean +$ret = false])

    @@ -18387,6 +18720,9 @@ $style)

    Tags:

    + + + @@ -18412,6 +18748,11 @@ $style) For example: "2" represents 2 on, 2 off, 2 on, 2 off, ...; "2,1" is 2 on, 1 off, 2 on, 1 off, ...
  • phase (integer): Modifier on the dash pattern which is used to shift the point at which the pattern starts.
  • color (array): Draw color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K).
  • + + + + +
    return:  the PDF command
    since:  2.1.000 (2008-01-08)
    boolean  $ret  if true do not send the command.

    @@ -18419,7 +18760,7 @@ $style)

    -

    method SetLineWidth [line 11464]

    +

    method SetLineWidth [line 11684]

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

    method SetLink [line 4623]

    +

    method SetLink [line 4641]

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

    method setListIndentWidth [line 19295]

    +

    method setListIndentWidth [line 20019]

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

    method setLIsymbol [line 19206]

    +

    method setLIsymbol [line 19930]

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

    method SetMargins [line 3033]

    +

    method SetMargins [line 3041]

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

    method setOpenCell [line 19305]

    +

    method setOpenCell [line 20029]

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

    method setPage [line 3349]

    +

    method setPage [line 3357]

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

    method setPageBoxes [line 2666]

    +

    method setPageBoxes [line 2674]

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

    method setPageBuffer [line 19802]

    +

    method setPageBuffer [line 20528]

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

    method setPageFormat [line 2548]

    +

    method setPageFormat [line 2556]

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

    method setPageMark [line 3547]

    +

    method setPageMark [line 3555]

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

    method setPageOrientation [line 2715]

    +

    method setPageOrientation [line 2723]

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

    method setPageUnit [line 1836]

    +

    method setPageUnit [line 1844]

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

    method setPDFVersion [line 14539]

    +

    method setPDFVersion [line 14766]

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

    method setPrintFooter [line 3654]

    +

    method setPrintFooter [line 3663]

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

    method setPrintHeader [line 3645]

    +

    method setPrintHeader [line 3654]

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

    method SetProtection [line 11021]

    +

    method SetProtection [line 11241]

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

    method setRasterizeVectorImages [line 20989]

    +

    method setRasterizeVectorImages [line 21717]

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

    method SetRightMargin [line 3085]

    +

    method SetRightMargin [line 3093]

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

    method setRTL [line 2841]

    +

    method setRTL [line 2849]

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

    method setSignature [line 14179]

    +

    method setSignature [line 14406]

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

    method setSignatureAppearance [line 14212]

    +

    method setSignatureAppearance [line 14439]

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

    method setSpacesRE [line 2816]

    +

    method setSpacesRE [line 2824]

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

    method SetSubject [line 3232]

    +

    method SetSubject [line 3240]

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

    method setSVGStyles [line 21560]

    +

    method setSVGStyles [line 22288]

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

    method setTableHeader [line 3842]

    +

    method setTableHeader [line 3851]

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

    method setTempRTL [line 2867]

    +

    method setTempRTL [line 2875]

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

    method SetTextColor [line 4108]

    +

    method SetTextColor [line 4126]

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

    method SetTextColorArray [line 4085]

    +

    method SetTextColorArray [line 4103]

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

    method setTextRenderingMode [line 20770]

    +

    method setTextRenderingMode [line 21498]

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

    method SetTextSpotColor [line 4147]

    +

    method SetTextSpotColor [line 4165]

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

    method SetTitle [line 3220]

    +

    method SetTitle [line 3228]

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

    method SetTopMargin [line 3070]

    +

    method SetTopMargin [line 3078]

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

    method setUserRights [line 14146]

    +

    method setUserRights [line 14373]

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

    method setViewerPreferences [line 14552]

    +

    method setViewerPreferences [line 14779]

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

    method setVisibility [line 14397]

    +

    method setVisibility [line 14624]

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

    method SetX [line 7030]

    +

    method SetX [line 7250]

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

    method SetXY [line 7094]

    +

    method SetXY [line 7314]

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

    method SetY [line 7062]

    +

    method SetY [line 7282]

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

    method set_mqr [line 6647]

    +

    method set_mqr [line 6867]

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

    method Skew [line 11410]

    +

    method Skew [line 11630]

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

    method SkewX [line 11383]

    +

    method SkewX [line 11603]

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

    method SkewY [line 11396]

    +

    method SkewY [line 11616]

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

    method StarPolygon [line 12112]

    +

    method StarPolygon [line 12339]

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

    method startPage [line 3503]

    +

    method startPage [line 3511]

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

    method startPageGroup [line 14232]

    +

    method startPageGroup [line 14459]

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

    method startSVGElementHandler [line 22156]

    +

    method startSVGElementHandler [line 22884]

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

    method startTransaction [line 20550]

    +

    method startTransaction [line 21276]

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

    method StartTransform [line 11158]

    +

    method StartTransform [line 11378]

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

    method StopTransform [line 11173]

    +

    method StopTransform [line 11393]

    @@ -20870,7 +21211,7 @@ $attribs)
    -

    method SVGPath [line 21815]

    +

    method SVGPath [line 22543]

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

    method SVGTransform [line 21541]

    +

    method SVGTransform [line 22269]

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

    method swapMargins [line 19261]

    +

    method swapMargins [line 19985]

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

    method swapPageBoxCoordinates [line 2692]

    +

    method swapPageBoxCoordinates [line 2700]

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

    method Text [line 4787]

    +

    method Text [line 4805]

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

    method TextField [line 13549]

    +

    method TextField [line 13776]

    @@ -21117,7 +21458,7 @@ $rtloff = false])
    mixed   $border  Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    int  
    @@ -21254,7 +21595,7 @@ $js = false])
    -

    method Transform [line 11440]

    +

    method Transform [line 11660]

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

    method Translate [line 11333]

    +

    method Translate [line 11553]

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

    method TranslateX [line 11310]

    +

    method TranslateX [line 11530]

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

    method TranslateY [line 11321]

    +

    method TranslateY [line 11541]

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

    method unhtmlentities [line 10587]

    +

    method unhtmlentities [line 10807]

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

    method UniArrSubString [line 6185]

    +

    method UniArrSubString [line 6405]

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

    method unichr [line 6218]

    +

    method unichr [line 6438]

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

    method UTF8ArrayToUniArray [line 6206]

    +

    method UTF8ArrayToUniArray [line 6426]

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

    method UTF8ArrSubString [line 6162]

    +

    method UTF8ArrSubString [line 6382]

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

    method UTF8ArrToLatin1 [line 10312]

    +

    method UTF8ArrToLatin1 [line 10532]

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

    method utf8Bidi [line 12334]

    +

    method utf8Bidi [line 12561]

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

    method utf8StrArrRev [line 12320]

    +

    method utf8StrArrRev [line 12547]

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

    method UTF8StringToArray [line 10165]

    +

    method UTF8StringToArray [line 10385]

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

    method utf8StrRev [line 12305]

    +

    method utf8StrRev [line 12532]

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

    method UTF8ToLatin1 [line 10282]

    +

    method UTF8ToLatin1 [line 10502]

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

    method UTF8ToUTF16BE [line 10266]

    +

    method UTF8ToUTF16BE [line 10486]

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

    method Write [line 5802]

    +

    method Write [line 6022]

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

    method write1DBarcode [line 15550]

    +

    method write1DBarcode [line 15777]

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

    method write2DBarcode [line 15786]

    +

    method write2DBarcode [line 16013]

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

    method writeBarcode [line 15735]

    +

    method writeBarcode [line 15962]

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

    method writeDiskCache [line 19712]

    +

    method writeDiskCache [line 20438]

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

    method writeHTML [line 17013]

    +

    method writeHTML [line 17436]

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

    method writeHTMLCell [line 16997]

    +

    method writeHTMLCell [line 17420]

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

    method _addfield [line 13121]

    +

    method _addfield [line 13348]

    @@ -22589,7 +22930,7 @@ $autopadding = true])
    mixed   $border  Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0)))
    int  
    @@ -22700,7 +23041,7 @@ $prop)
    -

    method _AES [line 10809]

    +

    method _AES [line 11029]

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

    method _beginpage [line 9851]

    +

    method _beginpage [line 10071]

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

    method _datastring [line 10018]

    +

    method _datastring [line 10238]

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

    method _datestring [line 10032]

    +

    method _datestring [line 10252]

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

    method _destroy [line 7303]

    +

    method _destroy [line 7523]

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

    method _dochecks [line 7331]

    +

    method _dochecks [line 7551]

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

    method _dolinethrough [line 9944]

    +

    method _dolinethrough [line 10164]

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

    method _dolinethroughw [line 9957]

    +

    method _dolinethroughw [line 10177]

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

    method _dooverline [line 9970]

    +

    method _dooverline [line 10190]

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

    method _dooverlinew [line 9983]

    +

    method _dooverlinew [line 10203]

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

    method _dounderline [line 9919]

    +

    method _dounderline [line 10139]

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

    method _dounderlinew [line 9932]

    +

    method _dounderlinew [line 10152]

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

    method _encrypt_data [line 10620]

    +

    method _encrypt_data [line 10840]

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

    method _enddoc [line 9763]

    +

    method _enddoc [line 9983]

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

    method _endpage [line 9895]

    +

    method _endpage [line 10115]

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

    method _escape [line 10006]

    +

    method _escape [line 10226]

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

    method _escapetext [line 10058]

    +

    method _escapetext [line 10278]

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

    method _freadint [line 9995]

    +

    method _freadint [line 10215]

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

    method _generateencryptionkey [line 10896]

    +

    method _generateencryptionkey [line 11116]

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

    method _getannotsrefs [line 7580]

    +

    method _getannotsrefs [line 7800]

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

    method _getBYTE [line 8301]

    +

    method _getBYTE [line 8521]

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

    method _getfontpath [line 7347]

    +

    method _getfontpath [line 7567]

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

    method _getrawstream [line 10078]

    +

    method _getrawstream [line 10298]

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

    method _getSHORT [line 8286]

    +

    method _getSHORT [line 8506]

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

    method _getstream [line 10093]

    +

    method _getstream [line 10313]

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

    method _getTrueTypeFontSubset [line 8316]

    +

    method _getTrueTypeFontSubset [line 8536]

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

    method _getTTFtableChecksum [line 8647]

    +

    method _getTTFtableChecksum [line 8867]

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

    method _getULONG [line 8256]

    +

    method _getULONG [line 8476]

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

    method _getUSHORT [line 8271]

    +

    method _getUSHORT [line 8491]

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

    method _JScolor [line 13097]

    +

    method _JScolor [line 13324]

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

    method _md5_16 [line 10827]

    +

    method _md5_16 [line 11047]

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

    method _newobj [line 9905]

    +

    method _newobj [line 10125]

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

    method _objectkey [line 10601]

    +

    method _objectkey [line 10821]

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

    method _out [line 10113]

    +

    method _out [line 10333]

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

    method _outCurve [line 11605]

    +

    method _outCurve [line 11832]

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

    method _outCurveV [line 11619]

    +

    method _outCurveV [line 11846]

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

    method _outCurveY [line 11635]

    +

    method _outCurveY [line 11862]

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

    method _outellipticalarc [line 11831]

    +

    method _outellipticalarc [line 12058]

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

    method _outLine [line 11575]

    +

    method _outLine [line 11802]

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

    method _outPoint [line 11563]

    +

    method _outPoint [line 11790]

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

    method _outRect [line 11589]

    +

    method _outRect [line 11816]

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

    method _Ovalue [line 10840]

    +

    method _Ovalue [line 11060]

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

    method _parsejpeg [line 6739]

    +

    method _parsejpeg [line 6959]

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

    method _parsepng [line 6765]

    +

    method _parsepng [line 6985]

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

    method _putannotsobjs [line 7608]

    +

    method _putannotsobjs [line 7828]

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

    method _putannotsrefs [line 7568]

    +

    method _putannotsrefs [line 7788]

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

    method _putAPXObject [line 8221]

    +

    method _putAPXObject [line 8441]

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

    method _putbookmarks [line 12936]

    +

    method _putbookmarks [line 13163]

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

    method _putcatalog [line 9594]

    +

    method _putcatalog [line 9814]

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

    method _putcidfont0 [line 9317]

    +

    method _putcidfont0 [line 9537]

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

    method _putEmbeddedFiles [line 4744]

    +

    method _putEmbeddedFiles [line 4762]

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

    method _putencryption [line 10644]

    +

    method _putencryption [line 10864]

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

    method _putextgstates [line 14462]

    +

    method _putextgstates [line 14689]

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

    method _putfonts [line 8768]

    +

    method _putfonts [line 8988]

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

    method _putfontwidths [line 8669]

    +

    method _putfontwidths [line 8889]

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

    method _putheader [line 9755]

    +

    method _putheader [line 9975]

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

    method _putimages [line 9388]

    +

    method _putimages [line 9608]

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

    method _putinfo [line 9547]

    +

    method _putinfo [line 9767]

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

    method _putjavascript [line 13042]

    +

    method _putjavascript [line 13269]

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

    method _putocg [line 14382]

    +

    method _putocg [line 14609]

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

    method _putpages [line 7358]

    +

    method _putpages [line 7578]

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

    method _putresourcedict [line 9462]

    +

    method _putresourcedict [line 9682]

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

    method _putresources [line 9523]

    +

    method _putresources [line 9743]

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

    method _putshaders [line 15016]

    +

    method _putshaders [line 15243]

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

    method _putsignature [line 14070]

    +

    method _putsignature [line 14297]

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

    method _putspotcolors [line 9444]

    +

    method _putspotcolors [line 9664]

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

    method _putstream [line 10104]

    +

    method _putstream [line 10324]

    diff --git a/examples/example_006.php b/examples/example_006.php index 490014e..5db5ad8 100755 --- a/examples/example_006.php +++ b/examples/example_006.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_006.php // Begin : 2008-03-04 -// Last Update : 2010-05-20 +// Last Update : 2010-08-03 // // Description : Example 006 for TCPDF class // WriteHTML and RTL support @@ -152,10 +152,10 @@ $pdf->lastPage(); $pdf->AddPage(); // create some HTML content -$subtable = '
    diff --git a/doc/li_com-tecnick-tcpdf.html b/doc/li_com-tecnick-tcpdf.html index 812c489..efbad92 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:12 +0200 by phpDocumentor 1.4.3
    @@ -25570,7 +25911,7 @@ $n = 0])
    -

    method _puttruetypeunicode [line 8928]

    +

    method _puttruetypeunicode [line 9148]

    diff --git a/doc/index.html b/doc/index.html index 812c489..11f0361 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/errors.html b/doc/errors.html index 8bcd199..e0477c6 100644 --- a/doc/errors.html +++ b/doc/errors.html @@ -35,7 +35,7 @@ Post-parsing

    - Documentation generated on Sat, 31 Jul 2010 14:40:17 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:19 +0200 by phpDocumentor 1.4.3
    @@ -25615,7 +25956,7 @@ $font)
    -

    method _putviewerpreferences [line 9684]

    +

    method _putviewerpreferences [line 9904]

    diff --git a/doc/elementindex_com-tecnick-tcpdf.html b/doc/elementindex_com-tecnick-tcpdf.html index e180950..a89b783 100644 --- a/doc/elementindex_com-tecnick-tcpdf.html +++ b/doc/elementindex_com-tecnick-tcpdf.html @@ -346,9 +346,9 @@
    $barcode_array
    in file pdf417.php, variable PDF417::$barcode_array
    $barcode_array
    -
    in file barcodes.php, variable TCPDFBarcode::$barcode_array
    -
    $barcode_array
    in file qrcode.php, variable QRcode::$barcode_array
    +
    $barcode_array
    +
    in file barcodes.php, variable TCPDFBarcode::$barcode_array
    $bgcolor
    in file tcpdf.php, variable TCPDF::$bgcolor
    $bit
    @@ -359,6 +359,8 @@
    in file tcpdf.php, variable TCPDF::$bMargin
    $booklet
    in file tcpdf.php, variable TCPDF::$booklet
        Booklet mode for double-sided pages
    +
    $bordermrk
    +
    in file tcpdf.php, variable TCPDF::$bordermrk
        Array used to store positions inside the pages buffer.
    $buffer
    in file tcpdf.php, variable TCPDF::$buffer
    $bufferlen
    @@ -557,6 +559,8 @@
    in file barcodes.php, method TCPDFBarcode::dec_to_hex()
        Convert large integer number to hexadecimal representation.
    deletePage
    in file tcpdf.php, method TCPDF::deletePage()
        Remove the specified page.
    +
    drawHTMLTagBorder
    +
    in file tcpdf.php, method TCPDF::drawHTMLTagBorder()
        Draw an HTML block border and fill
    top
    @@ -742,23 +746,27 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    getBarcodeArray
    -
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    -
    getBarcodeArray
    -
    in file pdf417.php, method PDF417::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBarcodeArray
    in file 2dbarcodes.php, method TCPDF2DBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBarcodeArray
    -
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    in file pdf417.php, method PDF417::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    getBarcodeArray
    +
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    in file tcpdf.php, method TCPDF::getBorderMode()
        Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages)
    +
    getBorderStartPosition
    +
    in file tcpdf.php, method TCPDF::getBorderStartPosition()
        Return the starting coordinates to draw an html border
    getBreakMargin
    in file tcpdf.php, method TCPDF::getBreakMargin()
        Returns the page break margin.
    getBuffer
    in file tcpdf.php, method TCPDF::getBuffer()
        Get buffer content.
    getByteStream
    in file qrcode.php, method QRcode::getByteStream()
        Pack all bit streams padding bits into a byte array.
    +
    getCellBorder
    +
    in file tcpdf.php, method TCPDF::getCellBorder()
        Returns the code to draw the cell border
    getCellCode
    in file tcpdf.php, method TCPDF::getCellCode()
        Returns the PDF string code to print a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.
    If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.
    getCellHeightRatio
    @@ -771,6 +779,12 @@
    in file tcpdf.php, method TCPDF::getColumn()
        Return the current column number
    getCompaction
    in file pdf417.php, method PDF417::getCompaction()
        Compact data by mode.
    +
    getCSSBorderDashStyle
    +
    in file tcpdf.php, method TCPDF::getCSSBorderDashStyle()
        Returns the border dash style from CSS property
    +
    getCSSBorderStyle
    +
    in file tcpdf.php, method TCPDF::getCSSBorderStyle()
        Returns the border style array from CSS border properties
    +
    getCSSBorderWidth
    +
    in file tcpdf.php, method TCPDF::getCSSBorderWidth()
        Returns the border width from CSS property
    getDataLength
    in file qrcode.php, method QRcode::getDataLength()
        Return maximum data code length (bytes) for the version.
    getECCLength
    @@ -2046,7 +2060,7 @@ top

    - Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:12 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/elementindex.html b/doc/elementindex.html index ba3af75..8229f5b 100644 --- a/doc/elementindex.html +++ b/doc/elementindex.html @@ -152,9 +152,9 @@
    $barcode_array
    in file pdf417.php, variable PDF417::$barcode_array
    $barcode_array
    -
    in file barcodes.php, variable TCPDFBarcode::$barcode_array
    -
    $barcode_array
    in file qrcode.php, variable QRcode::$barcode_array
    +
    $barcode_array
    +
    in file barcodes.php, variable TCPDFBarcode::$barcode_array
    $bgcolor
    in file tcpdf.php, variable TCPDF::$bgcolor
    $bit
    @@ -165,6 +165,8 @@
    in file tcpdf.php, variable TCPDF::$bMargin
    $booklet
    in file tcpdf.php, variable TCPDF::$booklet
        Booklet mode for double-sided pages
    +
    $bordermrk
    +
    in file tcpdf.php, variable TCPDF::$bordermrk
        Array used to store positions inside the pages buffer.
    $buffer
    in file tcpdf.php, variable TCPDF::$buffer
    $bufferlen
    @@ -363,6 +365,8 @@
    in file barcodes.php, method TCPDFBarcode::dec_to_hex()
        Convert large integer number to hexadecimal representation.
    deletePage
    in file tcpdf.php, method TCPDF::deletePage()
        Remove the specified page.
    +
    drawHTMLTagBorder
    +
    in file tcpdf.php, method TCPDF::drawHTMLTagBorder()
        Draw an HTML block border and fill
    top
    @@ -548,23 +552,27 @@
    getBarcode
    in file tcpdf.php, method TCPDF::getBarcode()
        Get current barcode.
    getBarcodeArray
    -
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    -
    getBarcodeArray
    -
    in file pdf417.php, method PDF417::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    getBarcodeArray
    in file 2dbarcodes.php, method TCPDF2DBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBarcodeArray
    -
    in file qrcode.php, method QRcode::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    in file pdf417.php, method PDF417::getBarcodeArray()
        Returns a barcode array which is readable by TCPDF
    +
    getBarcodeArray
    +
    in file barcodes.php, method TCPDFBarcode::getBarcodeArray()
        Return an array representations of barcode.
    getBitStream
    in file qrcode.php, method QRcode::getBitStream()
        Returns a stream of bits.
    getBorderMode
    in file tcpdf.php, method TCPDF::getBorderMode()
        Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages)
    +
    getBorderStartPosition
    +
    in file tcpdf.php, method TCPDF::getBorderStartPosition()
        Return the starting coordinates to draw an html border
    getBreakMargin
    in file tcpdf.php, method TCPDF::getBreakMargin()
        Returns the page break margin.
    getBuffer
    in file tcpdf.php, method TCPDF::getBuffer()
        Get buffer content.
    getByteStream
    in file qrcode.php, method QRcode::getByteStream()
        Pack all bit streams padding bits into a byte array.
    +
    getCellBorder
    +
    in file tcpdf.php, method TCPDF::getCellBorder()
        Returns the code to draw the cell border
    getCellCode
    in file tcpdf.php, method TCPDF::getCellCode()
        Returns the PDF string code to print a cell (rectangular area) with optional borders, background color and character string. The upper-left corner of the cell corresponds to the current position. The text can be aligned or centered. After the call, the current position moves to the right or to the next line. It is possible to put a link on the text.
    If automatic page breaking is enabled and the cell goes beyond the limit, a page break is done before outputting.
    getCellHeightRatio
    @@ -577,6 +585,12 @@
    in file tcpdf.php, method TCPDF::getColumn()
        Return the current column number
    getCompaction
    in file pdf417.php, method PDF417::getCompaction()
        Compact data by mode.
    +
    getCSSBorderDashStyle
    +
    in file tcpdf.php, method TCPDF::getCSSBorderDashStyle()
        Returns the border dash style from CSS property
    +
    getCSSBorderStyle
    +
    in file tcpdf.php, method TCPDF::getCSSBorderStyle()
        Returns the border style array from CSS border properties
    +
    getCSSBorderWidth
    +
    in file tcpdf.php, method TCPDF::getCSSBorderWidth()
        Returns the border width from CSS property
    getDataLength
    in file qrcode.php, method QRcode::getDataLength()
        Return maximum data code length (bytes) for the version.
    getECCLength
    @@ -2014,7 +2028,7 @@ top

    - Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:12 +0200 by phpDocumentor 1.4.3
    @@ -25649,7 +25990,7 @@ $font)
    -

    method _RC4 [line 10763]

    +

    method _RC4 [line 10983]

    diff --git a/doc/com-tecnick-tcpdf/_unicode_data.php.html b/doc/com-tecnick-tcpdf/_unicode_data.php.html index 0c2eccc..98276a9 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 Sat, 31 Jul 2010 14:40:17 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:19 +0200 by phpDocumentor 1.4.3
    @@ -25700,7 +26041,7 @@ $text)
    -

    method _setGDImageTransparency [line 6718]

    +

    method _setGDImageTransparency [line 6938]

    diff --git a/doc/com-tecnick-tcpdf/_tcpdf.php.html b/doc/com-tecnick-tcpdf/_tcpdf.php.html index 27df64d..d7346d5 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 e0ca096..be7890b 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    @@ -25745,7 +26086,7 @@ $image)
    -

    method _textstring [line 10044]

    +

    method _textstring [line 10264]

    diff --git a/doc/com-tecnick-tcpdf/_pdf417.php.html b/doc/com-tecnick-tcpdf/_pdf417.php.html index 8511f38..8e5229d 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +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 75cfda1..4b4f4f3 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    @@ -25790,7 +26131,7 @@ $n = 0])
    -

    method _toJPEG [line 6681]

    +

    method _toJPEG [line 6901]

    diff --git a/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html b/doc/com-tecnick-tcpdf/_config---tcpdf_config.php.html index 147897e..d8de763 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 Sat, 31 Jul 2010 14:40:17 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:18 +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 c857601..8f11123 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    @@ -25832,7 +26173,7 @@ $file)
    -

    method _toPNG [line 6700]

    +

    method _toPNG [line 6920]

    diff --git a/doc/com-tecnick-tcpdf/_2dbarcodes.php.html b/doc/com-tecnick-tcpdf/_2dbarcodes.php.html index 6d84efa..5dbc656 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 Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    diff --git a/doc/com-tecnick-tcpdf/TCPDFBarcode.html b/doc/com-tecnick-tcpdf/TCPDFBarcode.html index ee6330b..e55a038 100644 --- a/doc/com-tecnick-tcpdf/TCPDFBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDFBarcode.html @@ -1377,7 +1377,7 @@ $type)

    - Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    @@ -25877,7 +26218,7 @@ $file)
    -

    method _Uvalue [line 10869]

    +

    method _Uvalue [line 11089]

    diff --git a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html index c8f4555..661bb68 100644 --- a/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html +++ b/doc/com-tecnick-tcpdf/TCPDF2DBarcode.html @@ -299,7 +299,7 @@ $type)

    - Documentation generated on Sat, 31 Jul 2010 14:40:11 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:13 +0200 by phpDocumentor 1.4.3
    @@ -25914,7 +26255,7 @@ $file)

    - Documentation generated on Sat, 31 Jul 2010 14:40:12 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:14 +0200 by phpDocumentor 1.4.3
    author:  Nicola Asuni
    version:  5.6.000version:  5.7.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.6.000 (http://www.tcpdf.org)' + PDF_PRODUCER = 'TCPDF 5.7.000 (http://www.tcpdf.org)'
    @@ -124,7 +124,7 @@ unicode data


    - Documentation generated on Sat, 31 Jul 2010 14:40:12 +0200 by phpDocumentor 1.4.3 + Documentation generated on Wed, 04 Aug 2010 01:50:14 +0200 by phpDocumentor 1.4.3
    ab
    cd
    '; +$subtable = '
    ab
    cd
    '; $html = '

    HTML TABLE:

    - +
    diff --git a/examples/example_020.php b/examples/example_020.php index b7477e7..017b807 100755 --- a/examples/example_020.php +++ b/examples/example_020.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_020.php // Begin : 2008-03-04 -// Last Update : 2010-05-20 +// Last Update : 2010-08-03 // // Description : Example 020 for TCPDF class // Two columns composed by MultiCell of different @@ -132,7 +132,7 @@ $text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdi Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.'; // print some rows just as example -for ($i = 0; $i < 7; ++$i) { +for ($i = 0; $i < 10; ++$i) { $pdf->MultiRow('Row '.($i+1), $text."\n"); } diff --git a/examples/example_057.php b/examples/example_057.php index 3d61fb3..a073a98 100644 --- a/examples/example_057.php +++ b/examples/example_057.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_057.php // Begin : 2010-04-03 -// Last Update : 2010-05-20 +// Last Update : 2010-08-02 // // Description : Example 057 for TCPDF class // Cell vertical alignments @@ -128,6 +128,102 @@ $pdf->Line(15, 120, 195, 120, $linestyle); // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +// CELL BORDERS + +// add a page +$pdf->AddPage(); + +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Example of borders for Cell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 11); + +// set border width +$pdf->SetLineWidth(1); + +// set color for cell border +$pdf->SetDrawColor(0,128,255); + +// set filling color +$pdf->SetFillColor(255,255,128); + +$pdf->Cell(30, 0, '1', 1, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTRB', 'LTRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTR', 'LTR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TRB', 'TRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LRB', 'LRB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LTB', 'LTB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LT', 'LT', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TR', 'TR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'RB', 'RB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LB', 'LB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'LR', 'LR', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'TB', 'TB', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'L', 'L', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'T', 'T', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'R', 'R', 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(2); +$pdf->Cell(30, 0, 'B', 'B', 1, 'C', 1, '', 0, false, 'T', 'C'); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +// ADVANCED SETTINGS FOR CELL BORDERS + +// add a page +$pdf->AddPage(); + +$pdf->SetFont('helvetica', 'B', 20); + +$pdf->Write(0, 'Example of advanced border settings for Cell()', '', 0, 'L', true, 0, false, false, 0); + +$pdf->SetFont('helvetica', '', 11); + +// set border width +$pdf->SetLineWidth(1); + +// set color for cell border +$pdf->SetDrawColor(0,128,255); + +// set filling color +$pdf->SetFillColor(255,255,128); + +$border = array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array( +'L' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0)), +'R' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 255)), +'T' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 255, 0)), +'B' => array('width' => 2, 'cap' => 'square', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 255))); +$pdf->Cell(30, 0, 'LTRB', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array('mode' => 'ext', 'LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB EXT', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +$border = array('mode' => 'int', 'LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(255, 0, 0))); +$pdf->Cell(30, 0, 'LTRB INT', $border, 1, 'C', 1, '', 0, false, 'T', 'C'); +$pdf->Ln(5); + +// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // reset pointer to the last page $pdf->lastPage(); diff --git a/examples/example_061.php b/examples/example_061.php index 40e37f8..581e732 100644 --- a/examples/example_061.php +++ b/examples/example_061.php @@ -2,7 +2,7 @@ //============================================================+ // File name : example_061.php // Begin : 2010-05-24 -// Last Update : 2010-05-25 +// Last Update : 2010-08-03 // // Description : Example 061 for TCPDF class // XHTML + CSS @@ -114,6 +114,33 @@ $html = << span { background-color: #FFFFAA; } + table.first { + color: #003300; + font-family: helvetica; + font-size: 8pt; + border-left: 3px solid red; + border-right: 3px solid #FF00FF; + border-top: 3px solid green; + border-bottom: 3px solid blue; + background-color: #ccffcc; + } + td { + border: 2px solid blue; + background-color: #ffffee; + } + td.second { + border: 2px dashed green; + } + div.test { + color: #CC0000; + background-color: #FFFF66; + font-family: helvetica; + font-size: 10pt; + border-style: solid solid solid solid; + border-width: 2px 2px 2px 2px; + border-color: green #FF00FF blue red; + text-align: center; + }

    Example of XHTML + CSS

    @@ -121,6 +148,59 @@ $html = <<Example of paragraph with class selector. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus. Phasellus quis velit velit, non condimentum quam. Sed neque urna, ultrices ac volutpat vel, laoreet vitae augue. Sed vel velit erat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cras eget velit nulla, eu sagittis elit. Nunc ac arcu est, in lobortis tellus. Praesent condimentum rhoncus sodales. In hac habitasse platea dictumst. Proin porta eros pharetra enim tincidunt dignissim nec vel dolor. Cras sapien elit, ornare ac dignissim eu, ultricies ac eros. Maecenas augue magna, ultrices a congue in, mollis eu nulla. Nunc venenatis massa at est eleifend faucibus. Vivamus sed risus lectus, nec interdum nunc.

    Example of paragraph with ID selector. Fusce et felis vitae diam lobortis sollicitudin. Aenean tincidunt accumsan nisi, id vehicula quam laoreet elementum. Phasellus egestas interdum erat, et viverra ipsum ultricies ac. Praesent sagittis augue at augue volutpat eleifend. Cras nec orci neque. Mauris bibendum posuere blandit. Donec feugiat mollis dui sit amet pellentesque. Sed a enim justo. Donec tincidunt, nisl eget elementum aliquam, odio ipsum ultrices quam, eu porttitor ligula urna at lorem. Donec varius, eros et convallis laoreet, ligula tellus consequat felis, ut ornare metus tellus sodales velit. Duis sed diam ante. Ut rutrum malesuada massa, vitae consectetur ipsum rhoncus sed. Suspendisse potenti. Pellentesque a congue massa.

    + +
    example of DIV with border and fill.
    Lorem ipsum dolor sit amet, consectetur adipiscing elit. In sed imperdiet lectus.
    + +
    + +
    # RIGHT align
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    No.XXXXXXXX XXXXXXXXXXXX
    1.XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXXXXXX
    XXXX
    2.XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    3.XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    4.XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    XXXX
    EOF; // output the HTML content diff --git a/tcpdf.php b/tcpdf.php index 6226080..f5f456c 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.6.000 + * @version 5.7.000 * @author Nicola Asuni - info@tecnick.com * @link http://www.tcpdf.org * @license http://www.gnu.org/copyleft/lesser.html LGPL @@ -965,6 +965,14 @@ if (!class_exists('TCPDF', false)) { */ protected $intmrk = array(); + /** + * Array used to store positions inside the pages buffer. + * keys are the page numbers + * @access protected + * @since 5.7.000 (2010-08-03) + */ + protected $bordermrk = array(); + /** * Array used to store content positions inside the pages buffer. * keys are the page numbers @@ -1450,7 +1458,7 @@ if (!class_exists('TCPDF', false)) { * @access protected * @since 4.9.001 (2010-03-28) */ - protected $num_columns = 0; + protected $num_columns = 1; /** * Current column number @@ -3546,6 +3554,7 @@ if (!class_exists('TCPDF', false)) { */ public function setPageMark() { $this->intmrk[$this->page] = $this->pagelen[$this->page]; + $this->bordermrk[$this->page] = $this->intmrk[$this->page]; $this->setContentMark(); } @@ -3911,21 +3920,24 @@ if (!class_exists('TCPDF', false)) { * It can be expressed in RGB components or gray scale. * The method can be called before the first page is created and the value is retained from page to page. * @param array $color array of colors + * @param boolean $ret if true do not send the command. + * @return string the PDF command * @access public * @since 3.1.000 (2008-06-11) * @see SetDrawColor() */ - public function SetDrawColorArray($color) { - if (isset($color)) { + public function SetDrawColorArray($color, $ret=false) { + if (is_array($color)) { $color = array_values($color); $r = isset($color[0]) ? $color[0] : -1; $g = isset($color[1]) ? $color[1] : -1; $b = isset($color[2]) ? $color[2] : -1; $k = isset($color[3]) ? $color[3] : -1; if ($r >= 0) { - $this->SetDrawColor($r, $g, $b, $k); + return $this->SetDrawColor($r, $g, $b, $k, $ret); } } + return ''; } /** @@ -3934,11 +3946,13 @@ if (!class_exists('TCPDF', false)) { * @param int $col2 Green color for RGB, or Magenta color for CMYK. Value between 0 and 255 * @param int $col3 Blue color for RGB, or Yellow color for CMYK. Value between 0 and 255 * @param int $col4 Key (Black) color for CMYK. Value between 0 and 255 + * @param boolean $ret if true do not send the command. + * @return string the PDF command * @access public * @since 1.3 * @see SetDrawColorArray(), SetFillColor(), SetTextColor(), Line(), Rect(), Cell(), MultiCell() */ - public function SetDrawColor($col1=0, $col2=-1, $col3=-1, $col4=-1) { + public function SetDrawColor($col1=0, $col2=-1, $col3=-1, $col4=-1, $ret=false) { // set default values if (!is_numeric($col1)) { $col1 = 0; @@ -3967,8 +3981,12 @@ if (!class_exists('TCPDF', false)) { $this->strokecolor = array('C' => $col1, 'M' => $col2, 'Y' => $col3, 'K' => $col4); } if ($this->page > 0) { - $this->_out($this->DrawColor); + if (!$ret) { + $this->_out($this->DrawColor); + } + return $this->DrawColor; } + return ''; } /** @@ -3999,7 +4017,7 @@ if (!class_exists('TCPDF', false)) { * @see SetFillColor() */ public function SetFillColorArray($color) { - if (isset($color)) { + if (is_array($color)) { $color = array_values($color); $r = isset($color[0]) ? $color[0] : -1; $g = isset($color[1]) ? $color[1] : -1; @@ -4083,7 +4101,7 @@ if (!class_exists('TCPDF', false)) { * @see SetFillColor() */ public function SetTextColorArray($color) { - if (isset($color)) { + if (is_array($color)) { $color = array_values($color); $r = isset($color[0]) ? $color[0] : -1; $g = isset($color[1]) ? $color[1] : -1; @@ -4770,7 +4788,7 @@ if (!class_exists('TCPDF', false)) { * @param int $fstroke outline size in user units (false = disable) * @param boolean $fclip if true activate clipping mode (you must call StartTransform() before this function and StopTransform() to stop the clipping tranformation). * @param boolean $ffill if true fills the text - * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL languages)
    • 1: to the beginning of the next line
    • 2: below
    Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. * @param string $align Allows to center or align the text. Possible values are:
    • L or empty string: left align (default value)
    • C: center
    • R: right align
    • J: justify
    * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. @@ -4898,7 +4916,7 @@ if (!class_exists('TCPDF', false)) { * @param float $w Cell width. If 0, the cell extends up to the right margin. * @param float $h Cell height. Default value: 0. * @param string $txt String to print. Default value: empty string. - * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL languages)
    • 1: to the beginning of the next line
    • 2: below
    Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. * @param string $align Allows to center or align the text. Possible values are:
    • L or empty string: left align (default value)
    • C: center
    • R: right align
    • J: justify
    * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. @@ -4928,7 +4946,7 @@ if (!class_exists('TCPDF', false)) { * @param float $w Cell width. If 0, the cell extends up to the right margin. * @param float $h Cell height. Default value: 0. * @param string $txt String to print. Default value: empty string. - * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL languages)
    • 1: to the beginning of the next line
    • 2: below
    Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. * @param string $align Allows to center or align the text. Possible values are:
    • L or empty string: left align (default value)
    • C: center
    • R: right align
    • J: justify
    * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. @@ -4937,6 +4955,7 @@ if (!class_exists('TCPDF', false)) { * @param boolean $ignore_min_height if true ignore automatic minimum height value. * @param string $calign cell vertical alignment relative to the specified Y value. Possible values are:
    • T : cell top
    • C : center
    • B : cell bottom
    • A : font top
    • L : font baseline
    • D : font bottom
    * @param string $valign text vertical alignment inside the cell. Possible values are:
    • T : top
    • C : center
    • B : bottom
    + * @return string containing cell code * @access protected * @since 1.0 * @see Cell() @@ -5065,6 +5084,10 @@ if (!class_exists('TCPDF', false)) { } $s = ''; // fill and borders + if (is_string($border) AND (strlen($border) == 4)) { + // full border + $border = 1; + } if (($fill == 1) OR ($border == 1)) { if ($fill == 1) { $op = ($border == 1) ? 'B' : 'f'; @@ -5078,45 +5101,8 @@ if (!class_exists('TCPDF', false)) { } $s .= sprintf('%.2F %.2F %.2F %.2F re %s ', $xk, (($this->h - $y) * $k), ($w * $k), (-$h * $k), $op); } - if (is_string($border)) { - $lm = ($this->LineWidth / 2); - if (strpos($border,'L') !== false) { - if ($this->rtl) { - $xk = ($x - $w) * $k; - } else { - $xk = $x * $k; - } - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ', $xk, (($this->h - $y + $lm) * $k), $xk, (($this->h - ($y + $h + $lm)) * $k)); - } - if (strpos($border,'T') !== false) { - if ($this->rtl) { - $xk = ($x - $w + $lm) * $k; - $xwk = ($x - $lm) * $k; - } else { - $xk = ($x - $lm) * $k; - $xwk = ($x + $w + $lm) * $k; - } - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ', $xk, (($this->h - $y) * $k), $xwk, (($this->h - $y) * $k)); - } - if (strpos($border,'R') !== false) { - if ($this->rtl) { - $xk = $x * $k; - } else { - $xk = ($x + $w) * $k; - } - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ', $xk, (($this->h - $y + $lm) * $k), $xk, (($this->h - ($y + $h + $lm))* $k)); - } - if (strpos($border,'B') !== false) { - if ($this->rtl) { - $xk = ($x - $w + $lm) * $k; - $xwk = ($x - $lm) * $k; - } else { - $xk = ($x - $lm) * $k; - $xwk = ($x + $w + $lm) * $k; - } - $s .= sprintf('%.2F %.2F m %.2F %.2F l S ', $xk, (($this->h - ($y + $h)) * $k), $xwk, (($this->h - ($y + $h)) * $k)); - } - } + // draw borders + $s .= $this->getCellBorder($x, $y, $w, $h, $border); if ($txt != '') { $txt2 = $txt; if ($this->isunicode) { @@ -5328,6 +5314,197 @@ if (!class_exists('TCPDF', false)) { return $rs; } + /** + * Returns the code to draw the cell border + * @param float $x X coordinate. + * @param float $y Y coordinate. + * @param float $w Cell width. + * @param float $h Cell height. + * @param mixed $brd Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) + * @param string $mode border position respect the square edge: normal: centered; ext: external; int: internal; + * @return string containing cell border code + * @access protected + * @see SetLineStyle() + * @since 5.7.000 (2010-08-02) + */ + protected function getCellBorder($x, $y, $w, $h, $brd) { + $s = ''; // string to be returned + if (empty($brd)) { + return $s; + } + if ($brd == 1) { + $brd = array('LRTB' => true); + } + // calculate coordinates for border + $k = $this->k; + if ($this->rtl) { + $xeL = ($x - $w) * $k; + $xeR = $x * $k; + } else { + $xeL = $x * $k; + $xeR = ($x + $w) * $k; + } + $yeL = (($this->h - ($y + $h)) * $k); + $yeT = (($this->h - $y) * $k); + $xeT = $xeL; + $xeB = $xeR; + $yeR = $yeT; + $yeB = $yeL; + if (is_string($brd)) { + // convert string to array + $slen = strlen($brd); + $newbrd = array(); + for ($i = 0; $i < $slen; ++$i) { + $newbrd[$brd{$i}] = array('cap' => 'square', 'join' => 'miter'); + } + $brd = $newbrd; + } + if (isset($brd['mode'])) { + $mode = $brd['mode']; + unset($brd['mode']); + } else { + $mode = 'normal'; + } + foreach ($brd as $border => $style) { + if (is_array($style) AND !empty($style)) { + // apply border style + $prev_style = $this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor.' '; + $s .= $this->SetLineStyle($style, true)."\n"; + } + switch ($mode) { + case 'ext': { + $off = (($this->LineWidth / 2) * $k); + $xL = $xeL - $off; + $xR = $xeR + $off; + $yT = $yeT + $off; + $yL = $yeL - $off; + $xT = $xL; + $xB = $xR; + $yR = $yT; + $yB = $yL; + $w += $this->LineWidth; + $h += $this->LineWidth; + break; + } + case 'int': { + $off = ($this->LineWidth / 2) * $k; + $xL = $xeL + $off; + $xR = $xeR - $off; + $yT = $yeT - $off; + $yL = $yeL + $off; + $xT = $xL; + $xB = $xR; + $yR = $yT; + $yB = $yL; + $w -= $this->LineWidth; + $h -= $this->LineWidth; + break; + } + case 'normal': + default: { + $xL = $xeL; + $xT = $xeT; + $xB = $xeB; + $xR = $xeR; + $yL = $yeL; + $yT = $yeT; + $yB = $yeB; + $yR = $yeR; + break; + } + } + // draw borders by case + if (strlen($border) == 4) { + $s .= sprintf('%.2F %.2F %.2F %.2F re S ', $xT, $yT, ($w * $k), (-$h * $k)); + } elseif (strlen($border) == 3) { + if (strpos($border,'B') === false) { // LTR + $s .= sprintf('%.2F %.2F m ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= 'S '; + } elseif (strpos($border,'L') === false) { // TRB + $s .= sprintf('%.2F %.2F m ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= 'S '; + } elseif (strpos($border,'T') === false) { // RBL + $s .= sprintf('%.2F %.2F m ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= 'S '; + } elseif (strpos($border,'R') === false) { // BLT + $s .= sprintf('%.2F %.2F m ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= 'S '; + } + } elseif (strlen($border) == 2) { + if ((strpos($border,'L') !== false) AND (strpos($border,'T') !== false)) { // LT + $s .= sprintf('%.2F %.2F m ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= 'S '; + } elseif ((strpos($border,'T') !== false) AND (strpos($border,'R') !== false)) { // TR + $s .= sprintf('%.2F %.2F m ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= 'S '; + } elseif ((strpos($border,'R') !== false) AND (strpos($border,'B') !== false)) { // RB + $s .= sprintf('%.2F %.2F m ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= 'S '; + } elseif ((strpos($border,'B') !== false) AND (strpos($border,'L') !== false)) { // BL + $s .= sprintf('%.2F %.2F m ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= 'S '; + } elseif ((strpos($border,'L') !== false) AND (strpos($border,'R') !== false)) { // LR + $s .= sprintf('%.2F %.2F m ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= 'S '; + $s .= sprintf('%.2F %.2F m ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= 'S '; + } elseif ((strpos($border,'T') !== false) AND (strpos($border,'B') !== false)) { // TB + $s .= sprintf('%.2F %.2F m ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= 'S '; + $s .= sprintf('%.2F %.2F m ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= 'S '; + } + } else { // strlen($border) == 1 + if (strpos($border,'L') !== false) { // L + $s .= sprintf('%.2F %.2F m ', $xL, $yL); + $s .= sprintf('%.2F %.2F l ', $xT, $yT); + $s .= 'S '; + } elseif (strpos($border,'T') !== false) { // T + $s .= sprintf('%.2F %.2F m ', $xT, $yT); + $s .= sprintf('%.2F %.2F l ', $xR, $yR); + $s .= 'S '; + } elseif (strpos($border,'R') !== false) { // R + $s .= sprintf('%.2F %.2F m ', $xR, $yR); + $s .= sprintf('%.2F %.2F l ', $xB, $yB); + $s .= 'S '; + } elseif (strpos($border,'B') !== false) { // B + $s .= sprintf('%.2F %.2F m ', $xB, $yB); + $s .= sprintf('%.2F %.2F l ', $xL, $yL); + $s .= 'S '; + } + } + if (is_array($style) AND !empty($style)) { + // reset border style to previous value + $s .= "\n".$this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor."\n"; + } + } + return $s; + } + /** * This method allows printing text with line breaks. * They can be automatic (as soon as the text reaches the right border of the cell) or explicit (via the \n character). As many cells as necessary are output, one below the other.
    @@ -5335,7 +5512,7 @@ if (!class_exists('TCPDF', false)) { * @param float $w Width of cells. If 0, they extend up to the right margin of the page. * @param float $h Cell minimum height. The cell extends automatically if needed. * @param string $txt String to print - * @param mixed $border Indicates if borders must be drawn around the cell block. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param string $align Allows to center or align the text. Possible values are:
    • L or empty string: left align
    • C: center
    • R: right align
    • J: justification (default value when $ishtml=false)
    * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right
    • 1: to the beginning of the next line [DEFAULT]
    • 2: below
    @@ -5365,13 +5542,15 @@ if (!class_exists('TCPDF', false)) { } $resth = 0; if ((!$this->InFooter) AND (($y + $h) > $this->PageBreakTrigger)) { - // spit cell in two pages + // spit cell in more pages/columns $newh = $this->PageBreakTrigger - $y; - $resth = $h - $newh; // cell to be printed on the next page + $resth = $h - $newh; // cell to be printed on the next page/column $h = $newh; } // get current page number $startpage = $this->page; + // get current column + $startcolumn = $this->current_column; if (!$this->empty_string($x)) { $this->SetX($x); } else { @@ -5473,63 +5652,110 @@ if (!class_exists('TCPDF', false)) { // add a page (or trig AcceptPageBreak() for multicolumn mode) $this->checkPageBreak($this->PageBreakTrigger + 1); } - $tmpresth -= ($this->h - $this->tMargin - $this->bMargin); + if ($this->num_columns > 1) { + $tmpresth -= ($this->h - $this->y - $this->bMargin); + } else { + $tmpresth -= ($this->h - $this->tMargin - $this->bMargin); + } --$skip; } $currentY = $this->y; $endpage = $this->page; } - // check if a new page has been created - if ($endpage > $startpage) { - // design borders around HTML cells. - for ($page=$startpage; $page <= $endpage; ++$page) { - $this->setPage($page); - if ($page == $startpage) { - // first page - $this->y = $starty; // put cursor at the beginning of cell on the first page - $h = $this->h - $starty - $this->bMargin; - $cborder = $this->getBorderMode($border, $position='start'); - } elseif ($page == $endpage) { - // last page - $this->y = $this->tMargin; // put cursor at the beginning of last page - $h = $currentY - $this->tMargin; - if ($resth > $h) { - $h = $resth; - } - $cborder = $this->getBorderMode($border, $position='end'); - } else { - $this->y = $this->tMargin; // put cursor at the beginning of the current page - $h = $this->h - $this->tMargin - $this->bMargin; - $resth -= $h; - $cborder = $this->getBorderMode($border, $position='middle'); - } - $nx = $x; - // account for margin changes - if ($page > $startpage) { - if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { - $nx = $x + ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); - } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { - $nx = $x + ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); - } - } - $this->SetX($nx); - $ccode = $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, false); - if ($cborder OR $fill) { - $pagebuff = $this->getPageBuffer($this->page); - $pstart = substr($pagebuff, 0, $this->intmrk[$this->page]); - $pend = substr($pagebuff, $this->intmrk[$this->page]); - $this->setPageBuffer($this->page, $pstart.$ccode."\n".$pend); - $this->intmrk[$this->page] += strlen($ccode."\n"); + // get latest column + $endcolumn = $this->current_column; + if ($this->num_columns == 0) { + $this->num_columns = 1; + } + // get border modes + $border_start = $this->getBorderMode($border, $position='start'); + $border_end = $this->getBorderMode($border, $position='end'); + $border_middle = $this->getBorderMode($border, $position='middle'); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->SetX($x); + $this->y = $this->tMargin; + } + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); } } - } else { - $h = max($h, ($currentY - $y)); - // put cursor at the beginning of text - $this->SetY($y); - $this->SetX($x); - // design a cell around the text - $ccode = $this->getCellCode($w, $h, '', $border, 1, '', $fill, '', 0, true); - if ($border OR $fill) { + if ($startpage == $endpage) { + // single page + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = max($h, ($currentY - $y)); + $this->y = $y; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $h = $this->h - $this->y - $this->bMargin; + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + $h = $currentY - $this->y; + if ($resth > $h) { + $h = $resth; + } + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $startpage) { // first page + 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; + $h = $this->h - $this->y - $this->bMargin; + } else { // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } elseif ($page == $endpage) { // last page + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $endcolumn) { + // end column + $cborder = $border_end; + $h = $currentY - $this->y; + if ($resth > $h) { + $h = $resth; + } + } else { + // middle column + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + } + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } else { // middle page + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $resth -= $h; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if ($cborder OR $fill) { + // draw border and fill if (end($this->transfmrk[$this->page]) !== false) { $pagemarkkey = key($this->transfmrk[$this->page]); $pagemark = &$this->transfmrk[$this->page][$pagemarkkey]; @@ -5541,10 +5767,10 @@ if (!class_exists('TCPDF', false)) { $pagebuff = $this->getPageBuffer($this->page); $pstart = substr($pagebuff, 0, $pagemark); $pend = substr($pagebuff, $pagemark); - $this->setPageBuffer($this->page, $pstart.$ccode."\n".$pend); - $pagemark += strlen($ccode."\n"); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + $pagemark += strlen($ccode); } - } + } // end for each page // Get end-of-cell Y position $currentY = $this->GetY(); // restore original margin values @@ -5568,81 +5794,75 @@ if (!class_exists('TCPDF', false)) { /** * Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages) - * @param mixed $border Indicates if borders must be drawn around the cell block. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $brd Indicates if borders must be drawn around the cell block. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param string multicell position: 'start', 'middle', 'end' - * @return border mode + * @return border mode array * @access protected * @since 4.4.002 (2008-12-09) */ - protected function getBorderMode($border, $position='start') { - if ((!$this->opencell) AND ($border == 1)) { - return 1; + protected function getBorderMode($brd, $position='start') { + if ((!$this->opencell) OR empty($brd)) { + return $brd; } - $cborder = ''; - switch ($position) { - case 'start': { - if ($border == 1) { - $cborder = 'LTR'; - } else { - if (!(false === strpos($border, 'L'))) { - $cborder .= 'L'; - } - if (!(false === strpos($border, 'T'))) { - $cborder .= 'T'; - } - if (!(false === strpos($border, 'R'))) { - $cborder .= 'R'; - } - if ((!$this->opencell) AND (!(false === strpos($border, 'B')))) { - $cborder .= 'B'; - } - } - break; + if ($brd == 1) { + $brd = 'LTRB'; + } + if (is_string($brd)) { + // convert string to array + $slen = strlen($brd); + $newbrd = array(); + for ($i = 0; $i < $slen; ++$i) { + $newbrd[$brd{$i}] = array('cap' => 'square', 'join' => 'miter'); } - case 'middle': { - if ($border == 1) { - $cborder = 'LR'; - } else { - if (!(false === strpos($border, 'L'))) { - $cborder .= 'L'; - } - if ((!$this->opencell) AND (!(false === strpos($border, 'T')))) { - $cborder .= 'T'; - } - if (!(false === strpos($border, 'R'))) { - $cborder .= 'R'; - } - if ((!$this->opencell) AND (!(false === strpos($border, 'B')))) { - $cborder .= 'B'; + $brd = $newbrd; + } + foreach ($brd as $border => $style) { + switch ($position) { + case 'start': { + if (strpos($border, 'B') !== false) { + // remove bottom line + $newkey = str_replace('B', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); } + break; } - break; - } - case 'end': { - if ($border == 1) { - $cborder = 'LRB'; - } else { - if (!(false === strpos($border, 'L'))) { - $cborder .= 'L'; + case 'middle': { + if (strpos($border, 'B') !== false) { + // remove bottom line + $newkey = str_replace('B', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + $border = $newkey; } - if ((!$this->opencell) AND (!(false === strpos($border, 'T')))) { - $cborder .= 'T'; - } - if (!(false === strpos($border, 'R'))) { - $cborder .= 'R'; - } - if (!(false === strpos($border, 'B'))) { - $cborder .= 'B'; + if (strpos($border, 'T') !== false) { + // remove bottom line + $newkey = str_replace('T', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); } + break; + } + case 'end': { + if (strpos($border, 'T') !== false) { + // remove bottom line + $newkey = str_replace('T', '', $border); + if (strlen($newkey) > 0) { + $brd[$newkey] = $style; + } + unset($brd[$border]); + } + break; } - break; - } - default: { - $cborder = $border; - break; } } - return $cborder; + return $brd; } /** @@ -6341,7 +6561,7 @@ if (!class_exists('TCPDF', false)) { * @param string $palign Allows to center or align the image on the current line. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    * @param boolean $ismask true if this image is a mask, false otherwise * @param mixed $imgmask image object returned by this function or false - * @param mixed $border Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param boolean $fitbox If true scale image dimensions proportionally to fit within the ($w, $h) box. * @param boolean $hidden if true do not display the image. * @param boolean $fitonpage if true the image is resized to not exceed page dimensions. @@ -6957,7 +7177,7 @@ if (!class_exists('TCPDF', false)) { * @see Cell() */ public function Ln($h='', $cell=false) { - if (($this->num_columns > 0) AND ($this->y == $this->columns[$this->current_column]['y']) AND isset($this->columns[$this->current_column]['x']) AND ($this->x == $this->columns[$this->current_column]['x'])) { + if (($this->num_columns > 1) AND ($this->y == $this->columns[$this->current_column]['y']) AND isset($this->columns[$this->current_column]['x']) AND ($this->x == $this->columns[$this->current_column]['x'])) { // revove vertical space from the top of the column return; } @@ -11499,31 +11719,34 @@ if (!class_exists('TCPDF', false)) { * the point at which the pattern starts. *
  • color (array): Draw color. Format: array(GREY) or array(R,G,B) or array(C,M,Y,K).
  • * + * @param boolean $ret if true do not send the command. + * @return string the PDF command * @access public * @since 2.1.000 (2008-01-08) */ - public function SetLineStyle($style) { + public function SetLineStyle($style, $ret=false) { + $s = ''; // string to be returned if (!is_array($style)) { return; } extract($style); if (isset($width)) { - $width_prev = $this->LineWidth; - $this->SetLineWidth($width); - $this->LineWidth = $width_prev; + $this->LineWidth = $width; + $this->linestyleWidth = sprintf('%.2F w', ($width * $this->k)); + $s .= $this->linestyleWidth.' '; } if (isset($cap)) { $ca = array('butt' => 0, 'round'=> 1, 'square' => 2); if (isset($ca[$cap])) { $this->linestyleCap = $ca[$cap].' J'; - $this->_out($this->linestyleCap); + $s .= $this->linestyleCap.' '; } } if (isset($join)) { $ja = array('miter' => 0, 'round' => 1, 'bevel' => 2); if (isset($ja[$join])) { $this->linestyleJoin = $ja[$join].' j'; - $this->_out($this->linestyleJoin); + $s .= $this->linestyleJoin.' '; } } if (isset($dash)) { @@ -11546,11 +11769,15 @@ if (!class_exists('TCPDF', false)) { $phase = 0; } $this->linestyleDash = sprintf('[%s] %.2F d', $dash_string, $phase); - $this->_out($this->linestyleDash); + $s .= $this->linestyleDash.' '; } if (isset($color)) { - $this->SetDrawColorArray($color); + $s .= $this->SetDrawColorArray($color, true).' '; } + if (!$ret) { + $this->_out($s); + } + return $s; } /** @@ -15255,7 +15482,7 @@ if (!class_exists('TCPDF', false)) { * @param boolean useBoundingBox specifies whether to position the bounding box (true) or the complete canvas (false) at location (x,y). Default value is true. * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
    • T: top-right for LTR or top-left for RTL
    • M: middle-right for LTR or middle-left for RTL
    • B: bottom-right for LTR or bottom-left for RTL
    • N: next line
    * @param string $palign Allows to center or align the image on the current line. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    - * @param mixed $border Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param boolean $fitonpage if true the image is resized to not exceed page dimensions. * @author Valentin Schmidt, Nicola Asuni * @since 3.1.000 (2008-06-09) @@ -16347,6 +16574,109 @@ if (!class_exists('TCPDF', false)) { return $tagstyle; } + /** + * Returns the border width from CSS property + * @param string $width border width + * @return int with in user units + * @access protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderWidth($width) { + if ($width == 'thin') { + $width = (2 / $this->k); + } elseif ($width == 'medium') { + $width = (4 / $this->k); + } elseif ($width == 'thick') { + $width = (6 / $this->k); + } else { + $width = $this->getHTMLUnitToUnits($width, 1, 'px', false); + } + return $width; + } + + /** + * Returns the border dash style from CSS property + * @param string $style border style to convert + * @return int sash style (return -1 in case of none or hidden border) + * @access protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderDashStyle($style) { + switch (strtolower($style)) { + case 'none': + case 'hidden': { + $dash = -1; + break; + } + case 'dotted': { + $dash = 1; + break; + } + case 'dashed': { + $dash = 3; + break; + } + case 'double': + case 'groove': + case 'ridge': + case 'inset': + case 'outset': + case 'solid': + default: { + $dash = 0; + break; + } + } + return $dash; + } + + /** + * Returns the border style array from CSS border properties + * @param string $cssborder border properties + * @return array containing border properties + * @access protected + * @since 5.7.000 (2010-08-02) + */ + protected function getCSSBorderStyle($cssborder) { + $bprop = preg_split('/[\s]+/', trim($cssborder)); + $border = array(); // value to be returned + switch (count($bprop)) { + case 3: { + $width = $bprop[0]; + $style = $bprop[1]; + $color = $bprop[2]; + break; + } + case 2: { + $width = 'medium'; + $style = $bprop[0]; + $color = $bprop[1]; + break; + } + case 1: { + $width = 'medium'; + $style = $bprop[0]; + $color = 'black'; + break; + } + default: { + $width = 'medium'; + $style = 'solid'; + $color = 'black'; + break; + } + } + $border['cap'] = 'square'; + $border['join'] = 'miter'; + $border['dash'] = $this->getCSSBorderDashStyle($style); + if ($border['dash'] < 0) { + return array(); + } + $border['width'] = $this->getCSSBorderWidth($width); + $border['color'] = $this->convertHTMLColorToDec($color); + return $border; + } + /** * Returns the HTML DOM array. *
    • $dom[$key]['tag'] = true if tag, false otherwise;
    • $dom[$key]['value'] = tag name or text;
    • $dom[$key]['opening'] = true if opening tag, false otherwise;
    • $dom[$key]['attribute'] = array of attributes (attribute name is the key);
    • $dom[$key]['style'] = array of style attributes (attribute name is the key);
    • $dom[$key]['parent'] = id of parent element;
    • $dom[$key]['fontname'] = font family name;
    • $dom[$key]['fontstyle'] = font style;
    • $dom[$key]['fontsize'] = font size in points;
    • $dom[$key]['bgcolor'] = RGB array of background color;
    • $dom[$key]['fgcolor'] = RGB array of foreground color;
    • $dom[$key]['width'] = width in pixels;
    • $dom[$key]['height'] = height in pixels;
    • $dom[$key]['align'] = text alignment;
    • $dom[$key]['cols'] = number of colums in table;
    • $dom[$key]['rows'] = number of rows in table;
    @@ -16496,6 +16826,7 @@ if (!class_exists('TCPDF', false)) { $dom[$key]['align'] = ''; $dom[$key]['listtype'] = ''; $dom[$key]['text-indent'] = 0; + $dom[$key]['border'] = array(); $thead = false; // true when we are inside the THEAD tag ++$key; $level = array(); @@ -16556,8 +16887,13 @@ if (!class_exists('TCPDF', false)) { $dom[($dom[$key]['parent'])]['content'] .= $a[$dom[$i]['elkey']]; } $key = $i; + $parent_table = $dom[$dom[$dom[($dom[$key]['parent'])]['parent']]['parent']]; + $parent_padding = 0; + if (isset($parent_table['attribute']['cellpadding'])) { + $parent_padding = $this->getHTMLUnitToUnits($parent_table['attribute']['cellpadding'], 1, 'px'); + } // mark nested tables - $dom[($dom[$key]['parent'])]['content'] = str_replace('', '', $dom[($dom[$key]['parent'])]['content']); $dom[($dom[$key]['parent'])]['content'] = str_replace('', '', $dom[($dom[$key]['parent'])]['content']); @@ -16610,6 +16946,7 @@ if (!class_exists('TCPDF', false)) { $dom[$key]['align'] = $dom[$parentkey]['align']; $dom[$key]['listtype'] = $dom[$parentkey]['listtype']; $dom[$key]['text-indent'] = $dom[$parentkey]['text-indent']; + $dom[$key]['border'] = array(); } // get attributes preg_match_all('/([^=\s]*)[\s]*=[\s]*"([^"]*)"/', $element, $attr_array, PREG_PATTERN_ORDER); @@ -16772,9 +17109,92 @@ if (!class_exists('TCPDF', false)) { if (isset($dom[$key]['style']['text-align'])) { $dom[$key]['align'] = strtoupper($dom[$key]['style']['text-align']{0}); } - // check for border attribute + // check for CSS border properties if (isset($dom[$key]['style']['border'])) { - $dom[$key]['attribute']['border'] = $dom[$key]['style']['border']; + $dom[$key]['border']['LTRB'] = $this->getCSSBorderStyle($dom[$key]['style']['border']); + } + if (isset($dom[$key]['style']['border-color'])) { + $brd_colors = preg_split('/[\s]+/', trim($dom[$key]['style']['border-color'])); + if (isset($brd_colors[3])) { + $dom[$key]['border']['L']['color'] = $this->convertHTMLColorToDec($brd_colors[3]); + } + if (isset($brd_colors[1])) { + $dom[$key]['border']['R']['color'] = $this->convertHTMLColorToDec($brd_colors[1]); + } + if (isset($brd_colors[0])) { + $dom[$key]['border']['T']['color'] = $this->convertHTMLColorToDec($brd_colors[0]); + } + if (isset($brd_colors[2])) { + $dom[$key]['border']['B']['color'] = $this->convertHTMLColorToDec($brd_colors[2]); + } + } + if (isset($dom[$key]['style']['border-width'])) { + $brd_widths = preg_split('/[\s]+/', trim($dom[$key]['style']['border-width'])); + if (isset($brd_widths[3])) { + $dom[$key]['border']['L']['width'] = $this->getCSSBorderWidth($brd_widths[3]); + } + if (isset($brd_widths[1])) { + $dom[$key]['border']['R']['width'] = $this->getCSSBorderWidth($brd_widths[1]); + } + if (isset($brd_widths[0])) { + $dom[$key]['border']['T']['width'] = $this->getCSSBorderWidth($brd_widths[0]); + } + if (isset($brd_widths[2])) { + $dom[$key]['border']['B']['width'] = $this->getCSSBorderWidth($brd_widths[2]); + } + } + if (isset($dom[$key]['style']['border-style'])) { + $brd_styles = preg_split('/[\s]+/', trim($dom[$key]['style']['border-style'])); + if (isset($brd_styles[3])) { + $dom[$key]['border']['L']['cap'] = 'square'; + $dom[$key]['border']['L']['join'] = 'miter'; + $dom[$key]['border']['L']['dash'] = $this->getCSSBorderDashStyle($brd_styles[3]); + if ($dom[$key]['border']['L']['dash'] < 0) { + $dom[$key]['border']['L'] = array(); + } + } + if (isset($brd_styles[1])) { + $dom[$key]['border']['R']['cap'] = 'square'; + $dom[$key]['border']['R']['join'] = 'miter'; + $dom[$key]['border']['R']['dash'] = $this->getCSSBorderDashStyle($brd_styles[1]); + if ($dom[$key]['border']['R']['dash'] < 0) { + $dom[$key]['border']['R'] = array(); + } + } + if (isset($brd_styles[0])) { + $dom[$key]['border']['T']['cap'] = 'square'; + $dom[$key]['border']['T']['join'] = 'miter'; + $dom[$key]['border']['T']['dash'] = $this->getCSSBorderDashStyle($brd_styles[0]); + if ($dom[$key]['border']['T']['dash'] < 0) { + $dom[$key]['border']['T'] = array(); + } + } + if (isset($brd_styles[2])) { + $dom[$key]['border']['B']['cap'] = 'square'; + $dom[$key]['border']['B']['join'] = 'miter'; + $dom[$key]['border']['B']['dash'] = $this->getCSSBorderDashStyle($brd_styles[2]); + if ($dom[$key]['border']['B']['dash'] < 0) { + $dom[$key]['border']['B'] = array(); + } + } + } + $borderside = array('L' => 'left', 'R' => 'right', 'T' => 'top', 'B' => 'bottom'); + foreach ($borderside as $bsk => $bsv) { + if (isset($dom[$key]['style']['border-'.$bsv])) { + $dom[$key]['border'][$bsk] = $this->getCSSBorderStyle($dom[$key]['style']['border-'.$bsv]); + } + if (isset($dom[$key]['style']['border-'.$bsv.'-color'])) { + $dom[$key]['border'][$bsk]['color'] = $this->convertHTMLColorToDec($dom[$key]['style']['border-'.$bsv.'-color']); + } + if (isset($dom[$key]['style']['border-'.$bsv.'-width'])) { + $dom[$key]['border'][$bsk]['width'] = $this->getCSSBorderWidth($dom[$key]['style']['border-'.$bsv.'-width']); + } + if (isset($dom[$key]['style']['border-'.$bsv.'-style'])) { + $dom[$key]['border'][$bsk]['dash'] = $this->getCSSBorderDashStyle($dom[$key]['style']['border-'.$bsv.'-style']); + if ($dom[$key]['border'][$bsk]['dash'] < 0) { + $dom[$key]['border'][$bsk] = array(); + } + } } // page-break-inside if (isset($dom[$key]['style']['page-break-inside']) AND ($dom[$key]['style']['page-break-inside'] == 'avoid')) { @@ -16801,6 +17221,9 @@ if (!class_exists('TCPDF', false)) { } } } + if (isset($dom[$key]['attribute']['border']) AND ($dom[$key]['attribute']['border'] != 0)) { + $dom[$key]['border']['LTRB'] = $this->getCSSBorderStyle($dom[$key]['attribute']['border'].' solid black'); + } // check for font tag if ($dom[$key]['value'] == 'font') { // font family @@ -16983,7 +17406,7 @@ if (!class_exists('TCPDF', false)) { * @param float $x upper-left corner X coordinate * @param float $y upper-left corner Y coordinate * @param string $html html text to print. Default value: empty string. - * @param mixed $border Indicates if borders must be drawn around the cell. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param int $ln Indicates where the current position should go after the call. Possible values are:
    • 0: to the right (or left for RTL language)
    • 1: to the beginning of the next line
    • 2: below
    Putting 1 is equivalent to putting 0 and calling Ln() just after. Default value: 0. * @param int $fill Indicates if the cell background must be painted (1) or transparent (0). Default value: 0. @@ -17061,8 +17484,10 @@ if (!class_exists('TCPDF', false)) { if ($cell) { if ($this->rtl) { $this->x -= $this->cMargin; + $this->lMargin += $this->cMargin; } else { $this->x += $this->cMargin; + $this->rMargin += $this->cMargin; } } if ($this->customlistindent >= 0) { @@ -17160,6 +17585,9 @@ if (!class_exists('TCPDF', false)) { foreach ($this_method_vars as $vkey => $vval) { $$vkey = $vval; } + // disable table header + $tmp_thead = $this->thead; + $this->thead = ''; // add a page (or trig AcceptPageBreak() for multicolumn mode) $pre_y = $this->y; if ((!$this->checkPageBreak($this->PageBreakTrigger + 1)) AND ($this->y < $pre_y)) { @@ -17168,6 +17596,22 @@ if (!class_exists('TCPDF', false)) { } $this->start_transaction_page = $this->page; $this->start_transaction_y = $this->y; + // restore table header + $this->thead = $tmp_thead; + // fix table border properties + if (isset($dom[$dom[$key]['parent']]['attribute']['cellspacing'])) { + $tmp_cellspacing = $this->getHTMLUnitToUnits($dom[$dom[$key]['parent']]['attribute']['cellspacing'], 1, 'px'); + } else { + $tmp_cellspacing = 0; + } + $dom[$dom[$key]['parent']]['borderposition']['page'] = $this->page; + $dom[$dom[$key]['parent']]['borderposition']['column'] = $this->current_column; + $dom[$dom[$key]['parent']]['borderposition']['y'] = $this->y + $tmp_cellspacing; + $xoffset = ($this->x - $dom[$dom[$key]['parent']]['borderposition']['x']); + $dom[$dom[$key]['parent']]['borderposition']['x'] += $xoffset; + $dom[$dom[$key]['parent']]['borderposition']['xmax'] += $xoffset; + // print table header (thead) + $this->writeHTML($this->thead, false, false, false, false, ''); } } // move $key index forward to skip THEAD block @@ -17734,9 +18178,14 @@ if (!class_exists('TCPDF', false)) { } else { $wtmp = $this->w - $this->rMargin - $this->x; } + if (isset($dom[$key]['attribute']['cellspacing'])) { + $cellspacing = $this->getHTMLUnitToUnits($dom[$key]['attribute']['cellspacing'], 1, 'px'); + } else { + $cellspacing = 0; + } if (isset($dom[$key]['attribute']['nested']) AND ($dom[$key]['attribute']['nested'] == 'true')) { // add margin for nested tables - $wtmp -= $this->cMargin; + $wtmp -= ($dom[$key]['attribute']['pcellpadding'] + (2 * $cellspacing)); } // table width if (isset($dom[$key]['width'])) { @@ -17744,10 +18193,9 @@ if (!class_exists('TCPDF', false)) { } else { $table_width = $wtmp; } - if (isset($dom[$key]['attribute']['cellspacing'])) { - $cellspacing = $this->getHTMLUnitToUnits($dom[$key]['attribute']['cellspacing'], 1, 'px'); - } else { - $cellspacing = 0; + $table_width -= (2 * $cellspacing); + if (!$this->inthead) { + $this->y += $cellspacing; } if ($this->rtl) { $cellspacingx = -$cellspacing; @@ -17773,6 +18221,11 @@ if (!class_exists('TCPDF', false)) { if (!isset($dom[$table_el]['cols'])) { $dom[$table_el]['cols'] = $dom[$trid]['cols']; } + // store border info + $tdborder = 0; + if (isset($dom[$key]['border']) AND !empty($dom[$key]['border'])) { + $tdborder = $dom[$key]['border']; + } $colspan = $dom[$key]['attribute']['colspan']; $oldmargin = $this->cMargin; if (isset($dom[($dom[$trid]['parent'])]['attribute']['cellpadding'])) { @@ -17817,8 +18270,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']); + $tmpx = $this->x; + $this->selectColumn($dom[$trid]['startcolumn']); + $this->x = $tmpx; } if (!isset($dom[$trid]['starty'])) { $dom[$trid]['starty'] = $this->y; @@ -17827,6 +18284,7 @@ if (!class_exists('TCPDF', false)) { } if (!isset($dom[$trid]['startx'])) { $dom[$trid]['startx'] = $this->x; + $this->x += $cellspacingx; } else { $this->x += ($cellspacingx / 2); } @@ -17887,6 +18345,10 @@ if (!class_exists('TCPDF', false)) { if (isset($dom[$parentid]['bgcolor']) AND ($dom[$parentid]['bgcolor'] !== false)) { $dom[$trid]['cellpos'][($cellid - 1)]['bgcolor'] = $dom[$parentid]['bgcolor']; } + // store border info + if (isset($tdborder) AND !empty($tdborder)) { + $dom[$trid]['cellpos'][($cellid - 1)]['border'] = $tdborder; + } $prevLastH = $this->lasth; // ****** write the cell content ****** $this->MultiCell($cellw, $cellh, $cell_content, false, $lalign, false, 2, '', '', true, 0, true); @@ -17909,6 +18371,7 @@ if (!class_exists('TCPDF', false)) { } else { $dom[$trid]['endpage'] = $this->page; } + $dom[$trid]['endcolumn'] = $this->current_column; } else { // account for row-spanned cells $dom[$table_el]['rowspans'][($trsid - 1)]['endx'] = $this->x; @@ -17950,7 +18413,11 @@ if (!class_exists('TCPDF', false)) { } else { // closing tag $prev_numpages = $this->numpages; + $old_bordermrk = $this->bordermrk[$this->page]; $this->closeHTMLTagHandler($dom, $key, $cell, $maxbottomliney); + if ($this->bordermrk[$this->page] > $old_bordermrk) { + $startlinepos += ($this->bordermrk[$this->page] - $old_bordermrk); + } if ($prev_numpages > $this->numpages) { $startlinepage = $this->page; } @@ -18372,9 +18839,9 @@ if (!class_exists('TCPDF', false)) { } } $border = 0; - if (isset($tag['attribute']['border']) AND !empty($tag['attribute']['border'])) { + if (isset($tag['border']) AND !empty($tag['border'])) { // currently only support 1 (frame) or a combination of 'LTRB' - $border = $tag['attribute']['border']; + $border = $tag['border']; } $iw = ''; if (isset($tag['attribute']['width'])) { @@ -18769,6 +19236,12 @@ if (!class_exists('TCPDF', false)) { break; } } + // define tags that support borders and background colors + $bordertags = array('blockquote','br','dd','dl','div','dt','h1','h2','h3','h4','h5','h6','hr','li','ol','p','pre','ul','tcpdf','table'); + if (in_array($tag['value'], $bordertags)) { + // set border + $dom[$key]['borderposition'] = $this->getBorderStartPosition(); + } if ($dom[$key]['self'] AND isset($dom[$key]['attribute']['pagebreakafter'])) { $pba = $dom[$key]['attribute']['pagebreakafter']; // check for pagebreak @@ -18797,6 +19270,12 @@ if (!class_exists('TCPDF', false)) { $parent = $dom[($dom[$key]['parent'])]; $firstorlast = ((!isset($dom[($key + 1)])) OR ((!isset($dom[($key + 2)])) AND ($dom[($key + 1)]['value'] == 'marker'))); $in_table_head = false; + // maximum x position (used to draw borders) + if ($this->rtl) { + $xmax = $this->w; + } else { + $xmax = 0; + } if ($tag['block']) { $hbz = 0; // distance from y to line bottom $hb = 0; // vertical space between block tags @@ -18890,13 +19369,14 @@ if (!class_exists('TCPDF', false)) { $this->inthead = false; case 'table': { $table_el = $parent; - // draw borders - if ((isset($table_el['attribute']['border']) AND ($table_el['attribute']['border'] > 0)) - OR (isset($table_el['style']['border']) AND ($table_el['style']['border'] > 0))) { - $border = 1; + // set default border + if (isset($table_el['attribute']['border']) AND ($table_el['attribute']['border'] > 0)) { + // set default border + $border = array('LTRB' => array('width' => $this->getCSSBorderWidth($table_el['attribute']['border']), 'cap'=>'square', 'join'=>'miter', 'dash'=> 0, 'color'=>array(0,0,0))); } else { $border = 0; } + $default_border = $border; // fix bottom line alignment of last line before page break foreach ($dom[($dom[$key]['parent'])]['trids'] as $j => $trkey) { // update row-spanned cells @@ -18927,8 +19407,12 @@ if (!class_exists('TCPDF', false)) { $table_el = $dom[($dom[$key]['parent'])]; } // for each row + unset($xmax); foreach ($table_el['trids'] as $j => $trkey) { $parent = $dom[$trkey]; + if (!isset($xmax)) { + $xmax = $parent['cellpos'][(count($parent['cellpos']) - 1)]['endx']; + } // for each cell on the row foreach ($parent['cellpos'] as $k => $cellpos) { if (isset($cellpos['rowspanid']) AND ($cellpos['rowspanid'] >= 0)) { @@ -18942,64 +19426,105 @@ if (!class_exists('TCPDF', false)) { $startpage = $parent['startpage']; $endpage = $parent['endpage']; } - if ($endpage > $startpage) { - // design borders around HTML cells. - for ($page=$startpage; $page <= $endpage; ++$page) { - $this->setPage($page); - if ($page == $startpage) { - $this->y = $parent['starty']; // put cursor at the beginning of row on the first page - $ch = $this->getPageHeight() - $parent['starty'] - $this->getBreakMargin(); - $cborder = $this->getBorderMode($border, $position='start'); - } elseif ($page == $endpage) { - $this->y = $this->tMargin; // put cursor at the beginning of last page - $ch = $endy - $this->tMargin; - $cborder = $this->getBorderMode($border, $position='end'); - } else { - $this->y = $this->tMargin; // put cursor at the beginning of the current page - $ch = $this->getPageHeight() - $this->tMargin - $this->getBreakMargin(); - $cborder = $this->getBorderMode($border, $position='middle'); - } - if (isset($cellpos['bgcolor']) AND ($cellpos['bgcolor']) !== false) { - $this->SetFillColorArray($cellpos['bgcolor']); - $fill = true; - } else { - $fill = false; - } - $cw = abs($cellpos['endx'] - $cellpos['startx']); - $this->x = $cellpos['startx']; - // account for margin changes - if ($page > $startpage) { - if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { - $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); - } elseif ((!$this->rtl) AND ($this->pagedim[$page]['lm'] != $this->pagedim[$startpage]['olm'])) { - $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); - } - } - // design a cell around the text - $ccode = $this->FillColor."\n".$this->getCellCode($cw, $ch, '', $cborder, 1, '', $fill, '', 0, true); - if ($cborder OR $fill) { - $pagebuff = $this->getPageBuffer($this->page); - $pstart = substr($pagebuff, 0, $this->intmrk[$this->page]); - $pend = substr($pagebuff, $this->intmrk[$this->page]); - $this->setPageBuffer($this->page, $pstart.$ccode."\n".$pend); - $this->intmrk[$this->page] += strlen($ccode."\n"); - } - } + if (isset($cellpos['border'])) { + $border = $cellpos['border']; + } + if (isset($cellpos['bgcolor']) AND ($cellpos['bgcolor']) !== false) { + $this->SetFillColorArray($cellpos['bgcolor']); + $fill = true; } else { - $this->setPage($startpage); - if (isset($cellpos['bgcolor']) AND ($cellpos['bgcolor']) !== false) { - $this->SetFillColorArray($cellpos['bgcolor']); - $fill = true; - } else { - $fill = false; + $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; + $w = abs($cellpos['endx'] - $cellpos['startx']); + // get border modes + $border_start = $this->getBorderMode($border, $position='start'); + $border_end = $this->getBorderMode($border, $position='end'); + $border_middle = $this->getBorderMode($border, $position='middle'); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->x = $x; + $this->y = $this->tMargin; } - $this->x = $cellpos['startx']; - $this->y = $parent['starty']; - $cw = abs($cellpos['endx'] - $cellpos['startx']); - $ch = $endy - $parent['starty']; - // design a cell around the text - $ccode = $this->FillColor."\n".$this->getCellCode($cw, $ch, '', $border, 1, '', $fill, '', 0, true); - if ($border OR $fill) { + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + if ($startpage == $endpage) { + // single page + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = $endy - $parent['starty']; + $this->y = $y; + $this->x = $x; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $h = $this->h - $this->y - $this->bMargin; + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + $h = $endy - $this->y; + } else { // middle column + $cborder = $border_middle; + $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 + 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; + $h = $this->h - $this->y - $this->bMargin; + } else { // middle column + $cborder = $border_middle; + $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 + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $endcolumn) { + // end column + $cborder = $border_end; + $h = $endy - $this->y; + } else { + // middle column + $cborder = $border_middle; + $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 + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if ($cborder OR $fill) { + // draw border and fill if (end($this->transfmrk[$this->page]) !== false) { $pagemarkkey = key($this->transfmrk[$this->page]); $pagemark = &$this->transfmrk[$this->page][$pagemarkkey]; @@ -19011,11 +19536,13 @@ if (!class_exists('TCPDF', false)) { $pagebuff = $this->getPageBuffer($this->page); $pstart = substr($pagebuff, 0, $pagemark); $pend = substr($pagebuff, $pagemark); - $this->setPageBuffer($this->page, $pstart.$ccode."\n".$pend); - $pagemark += strlen($ccode."\n"); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + $pagemark += strlen($ccode); } - } - } + } // end for each page + // restore default border + $border = $default_border; + } // end for each cell on the row if (isset($table_el['attribute']['cellspacing'])) { $cellspacing = $this->getHTMLUnitToUnits($table_el['attribute']['cellspacing'], 1, 'px'); $this->y += $cellspacing; @@ -19051,6 +19578,7 @@ if (!class_exists('TCPDF', false)) { $this->theadMargins = array(); } } + $parent = $table_el; break; } case 'a': { @@ -19158,6 +19686,8 @@ if (!class_exists('TCPDF', false)) { break; } } + // draw border and background (if any) + $this->drawHTMLTagBorder($parent, $xmax); if (isset($dom[($dom[$key]['parent'])]['attribute']['pagebreakafter'])) { $pba = $dom[($dom[$key]['parent'])]['attribute']['pagebreakafter']; // check for pagebreak @@ -19197,6 +19727,200 @@ if (!class_exists('TCPDF', false)) { $this->Ln(($hbz + $hd), $cell); } + /** + * Return the starting coordinates to draw an html border + * @return array containing top-left border coordinates + * @access protected + * @since 5.7.000 (2010-08-03) + */ + protected function getBorderStartPosition() { + if ($this->rtl) { + $xmax = $this->lMargin; + } else { + $xmax = $this->w - $this->rMargin; + } + return array('page' => $this->page, 'column' => $this->current_column, 'x' => $this->x, 'y' => $this->y, 'xmax' => $xmax); + } + + /** + * Draw an HTML block border and fill + * @param array $tag array of tag properties + * @param $xmax end X coordinate for border + * @access protected + * @since 5.7.000 (2010-08-03) + */ + protected function drawHTMLTagBorder($tag, $xmax) { + if (!isset($tag['borderposition'])) { + // nothing to draw + return; + } + $prev_x = $this->x; + $prev_y = $this->y; + $prev_lasth = $this->lasth; + $border = 0; + $fill = false; + if (isset($tag['border']) AND !empty($tag['border'])) { + // get border style + $border = $tag['border']; + if (!$this->empty_string($this->thead) AND (!$this->inthead)) { + // border for table header + $border = $this->getBorderMode($border, $position='middle'); + } + } + if (isset($tag['bgcolor']) AND ($tag['bgcolor'] !== false)) { + // get background color + $old_bgcolor = $this->bgcolor; + $this->SetFillColorArray($tag['bgcolor']); + $fill = true; + } + if (!$border AND !$fill) { + // nothing to draw + return; + } + if (isset($tag['attribute']['cellspacing'])) { + $cellspacing = $this->getHTMLUnitToUnits($tag['attribute']['cellspacing'], 1, 'px'); + } else { + $cellspacing = 0; + } + if (($tag['value'] != 'table') AND (is_array($border)) AND (!empty($border))) { + // draw the border externally respect the sqare edge. + $border['mode'] = 'ext'; + } + if ($this->rtl) { + if ($xmax >= $tag['borderposition']['x']) { + $xmax = $tag['borderposition']['xmax']; + } + $w = ($tag['borderposition']['x'] - $xmax); + } else { + if ($xmax <= $tag['borderposition']['x']) { + $xmax = $tag['borderposition']['xmax']; + } + $w = ($xmax - $tag['borderposition']['x']); + } + if ($w <= 0) { + return; + } + $w += $cellspacing; + $startpage = $tag['borderposition']['page']; + $startcolumn = $tag['borderposition']['column']; + $x = $tag['borderposition']['x']; + $y = $tag['borderposition']['y']; + $endpage = $this->page; + $starty = $tag['borderposition']['y'] - $cellspacing; + $currentY = $this->y; + $this->x = $x; + // get latest column + $endcolumn = $this->current_column; + if ($this->num_columns == 0) { + $this->num_columns = 1; + } + // get border modes + $border_start = $this->getBorderMode($border, $position='start'); + $border_end = $this->getBorderMode($border, $position='end'); + $border_middle = $this->getBorderMode($border, $position='middle'); + // design borders around HTML cells. + for ($page = $startpage; $page <= $endpage; ++$page) { // for each page + $ccode = ''; + $this->setPage($page); + if ($this->num_columns < 2) { + // single-column mode + $this->x = $x; + $this->y = $this->tMargin; + } + // account for margin changes + if ($page > $startpage) { + if (($this->rtl) AND ($this->pagedim[$page]['orm'] != $this->pagedim[$startpage]['orm'])) { + $this->x -= ($this->pagedim[$page]['orm'] - $this->pagedim[$startpage]['orm']); + } elseif ((!$this->rtl) AND ($this->pagedim[$page]['olm'] != $this->pagedim[$startpage]['olm'])) { + $this->x += ($this->pagedim[$page]['olm'] - $this->pagedim[$startpage]['olm']); + } + } + if ($startpage == $endpage) { + // single page + for ($column = $startcolumn; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($startcolumn == $endcolumn) { // single column + $cborder = $border; + $h = ($currentY - $y) + $cellspacing; + $this->y = $starty; + } elseif ($column == $startcolumn) { // first column + $cborder = $border_start; + $this->y = $starty; + $h = $this->h - $this->y - $this->bMargin; + } elseif ($column == $endcolumn) { // end column + $cborder = $border_end; + $h = $currentY - $this->y; + } else { // middle column + $cborder = $border_middle; + $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 + 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; + $h = $this->h - $this->y - $this->bMargin; + } else { // middle column + $cborder = $border_middle; + $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 + for ($column = 0; $column <= $endcolumn; ++$column) { // for each column + $this->selectColumn($column); + if ($column == $endcolumn) { + // end column + $cborder = $border_end; + $h = $currentY - $this->y; + } else { + // middle column + $cborder = $border_middle; + $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 + for ($column = 0; $column < $this->num_columns; ++$column) { // for each column + $this->selectColumn($column); + $cborder = $border_middle; + $h = $this->h - $this->y - $this->bMargin; + $ccode .= $this->getCellCode($w, $h, '', $cborder, 1, '', $fill, '', 0, true)."\n"; + } // end for each column + } + if ($cborder OR $fill) { + // draw border and fill + if (end($this->transfmrk[$this->page]) !== false) { + $pagemarkkey = key($this->transfmrk[$this->page]); + $pagemark = &$this->transfmrk[$this->page][$pagemarkkey]; + } elseif ($this->InFooter) { + $pagemark = &$this->footerpos[$this->page]; + } else { + $pagemark = &$this->intmrk[$this->page]; + } + $pagebuff = $this->getPageBuffer($this->page); + $pstart = substr($pagebuff, 0, $this->bordermrk[$this->page]); + $pend = substr($pagebuff, $this->bordermrk[$this->page]); + $this->setPageBuffer($this->page, $pstart.$ccode.$pend); + $offsetlen = strlen($ccode); + $this->bordermrk[$this->page] += $offsetlen; + $this->cntmrk[$this->page] += $offsetlen; + $pagemark += $offsetlen; + } + } // end for each page + if (isset($old_bgcolor)) { + // restore background color + $this->SetFillColorArray($old_bgcolor); + } + // restore pointer position + $this->x = $prev_x; + $this->y = $prev_y; + $this->lasth = $prev_lasth; + } + /** * Set the default bullet to be used as LI bullet symbol * @param string $symbol character or string to be used (legal values are: '' = automatic, '!' = auto bullet, '#' = auto numbering, 'disc', 'disc', 'circle', 'square', '1', 'decimal', 'decimal-leading-zero', 'i', 'lower-roman', 'I', 'upper-roman', 'a', 'lower-alpha', 'lower-latin', 'A', 'upper-alpha', 'upper-latin', 'lower-greek') @@ -19645,6 +20369,7 @@ if (!class_exists('TCPDF', false)) { 'listordered' => $this->listordered, 'listcount' => $this->listcount, 'lispacer' => $this->lispacer, + 'cell_height_ratio' => $this->cell_height_ratio, 'lasth' => $this->lasth ); return $grapvars; @@ -19683,6 +20408,7 @@ if (!class_exists('TCPDF', false)) { $this->listordered = $gvars['listordered']; $this->listcount = $gvars['listcount']; $this->lispacer = $gvars['lispacer']; + $this->cell_height_ratio = $gvars['cell_height_ratio']; //$this->lasth = $gvars['lasth']; $this->_out(''.$this->linestyleWidth.' '.$this->linestyleCap.' '.$this->linestyleJoin.' '.$this->linestyleDash.' '.$this->DrawColor.' '.$this->FillColor.''); if (!$this->empty_string($this->FontFamily)) { @@ -20700,6 +21426,7 @@ if (!class_exists('TCPDF', false)) { } elseif($col >= $this->num_columns) { $col = 0; } + $enable_thead = false; if ($this->num_columns > 1) { if ($col != $this->current_column) { // move pointer at column top on the first page @@ -20708,6 +21435,7 @@ if (!class_exists('TCPDF', false)) { } else { $this->y = $this->tMargin; } + $enable_thead = true; } // set X position of the current column by case $listindent = ($this->listindentlevel * $this->listindent); @@ -20732,7 +21460,7 @@ if (!class_exists('TCPDF', false)) { // fix for HTML mode $this->newline = true; // print HTML table header (if any) - if (!$this->empty_string($this->thead) AND (!$this->inthead)) { + if ($enable_thead AND (!$this->empty_string($this->thead)) AND (!$this->inthead)) { // print table header $this->writeHTML($this->thead, false, false, false, false, ''); } @@ -21119,7 +21847,7 @@ if (!class_exists('TCPDF', false)) { * @param mixed $link URL or identifier returned by AddLink(). * @param string $align Indicates the alignment of the pointer next to image insertion relative to image height. The value can be:
    • T: top-right for LTR or top-left for RTL
    • M: middle-right for LTR or middle-left for RTL
    • B: bottom-right for LTR or bottom-left for RTL
    • N: next line
    * @param string $palign Allows to center or align the image on the current line. Possible values are:
    • L : left align
    • C : center
    • R : right align
    • '' : empty string : left for LTR or right for RTL
    - * @param mixed $border Indicates if borders must be drawn around the image. The value can be either a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    + * @param mixed $border Indicates if borders must be drawn around the cell. The value can be a number:
    • 0: no border (default)
    • 1: frame
    or a string containing some or all of the following characters (in any order):
    • L: left
    • T: top
    • R: right
    • B: bottom
    or an array of line styles for each border group - for example: array('LTRB' => array('width' => 2, 'cap' => 'butt', 'join' => 'miter', 'dash' => 0, 'color' => array(0, 0, 0))) * @param boolean $fitonpage if true the image is resized to not exceed page dimensions. * @author Nicola Asuni * @since 5.0.000 (2010-05-02) @@ -21182,7 +21910,7 @@ if (!class_exists('TCPDF', false)) { // get aspect ratio $tmp = array(); if (preg_match('/[\s]+preserveAspectRatio[\s]*=[\s]*"([^"]*)"/si', $regs[1], $tmp)) { - $aspect_ratio = preg_split("/[\s]+/si", $tmp[1]); + $aspect_ratio = preg_split('/[\s]+/si', $tmp[1]); switch (count($aspect_ratio)) { case 3: { $aspect_ratio_align = $aspect_ratio[1];