32
1
mirror of https://github.com/vdm-io/tcpdf.git synced 2024-12-27 18:24:55 +00:00
This commit is contained in:
nicolaasuni 2010-09-16 18:59:33 +02:00
parent 262aaa0367
commit 9d5b7c84ce
22 changed files with 728 additions and 700 deletions

View File

@ -1,3 +1,6 @@
5.8.029 (2010-09-16)
- A problem with HTML borders was fixed.
5.8.028 (2010-09-13) 5.8.028 (2010-09-13)
- Bug #3065224 "mcrypt_create_iv error on TCPDF 5.8.027 on PHP 5.3.2" was fixed. - Bug #3065224 "mcrypt_create_iv error on TCPDF 5.8.027 on PHP 5.3.2" was fixed.

View File

@ -8,8 +8,8 @@ http: sourceforge.net/donate/index.php?group_id=128076
------------------------------------------------------------ ------------------------------------------------------------
Name: TCPDF Name: TCPDF
Version: 5.8.028 Version: 5.8.029
Release date: 2010-09-13 Release date: 2010-09-16
Author: Nicola Asuni Author: Nicola Asuni
Copyright (c) 2002-2010: Copyright (c) 2002-2010:

View File

@ -60,7 +60,7 @@
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -1003,7 +1003,7 @@ $code)</code>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:22 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -5551,7 +5551,7 @@ $frame)</code>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:22 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

File diff suppressed because it is too large Load Diff

View File

@ -299,7 +299,7 @@ $type)</code>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -1377,7 +1377,7 @@ $type)</code>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -105,7 +105,7 @@ PHP class to creates array representations for 2D barcodes to be used with TCPDF
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -105,7 +105,7 @@ PHP class to creates array representations for common 1D barcodes to be used wit
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -542,7 +542,7 @@ Configuration file for TCPDF.<br /><br /><br /><br />
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:24 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:27 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -97,7 +97,7 @@ Array of WEB safe colors.<br /><br /><br /><br />
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:22 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -157,7 +157,7 @@ Class to create PDF417 barcode arrays for TCPDF class.<br /><br /><p>PDF417 (ISO
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:22 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -480,7 +480,7 @@ string $string, [int $split_length = 1])</code>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:19 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:22 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -82,7 +82,7 @@ This is a PHP class for generating PDF documents without requiring external exte
<td><b>author:</b>&nbsp;&nbsp;</td><td>Nicola Asuni</td> <td><b>author:</b>&nbsp;&nbsp;</td><td>Nicola Asuni</td>
</tr> </tr>
<tr> <tr>
<td><b>version:</b>&nbsp;&nbsp;</td><td>5.8.028</td> <td><b>version:</b>&nbsp;&nbsp;</td><td>5.8.029</td>
</tr> </tr>
<tr> <tr>
<td><b>copyright:</b>&nbsp;&nbsp;</td><td>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</td> <td><b>copyright:</b>&nbsp;&nbsp;</td><td>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</td>
@ -101,19 +101,19 @@ This is a PHP class for generating PDF documents without requiring external exte
<br /><br /> <br /><br />
<h4>Includes:</h4> <h4>Includes:</h4>
<div class="tags"> <div class="tags">
require_once(dirname(__FILE__).'/config/tcpdf_config.php') [line 137]<br /> require_once(dirname(__FILE__).'/config/tcpdf_config.php') [line 138]<br />
main configuration file<br /><br />require_once(dirname(__FILE__).'/htmlcolors.php') [line 149]<br /> main configuration file<br /><br />require_once(dirname(__FILE__).'/htmlcolors.php') [line 150]<br />
html colors table<br /><br />require_once(dirname(__FILE__).'/unicode_data.php') [line 144]<br /> html colors table<br /><br />require_once(dirname(__FILE__).'/unicode_data.php') [line 145]<br />
unicode data<br /><br /></div> unicode data<br /><br /></div>
<br /><br /> <br /><br />
<br /><br /> <br /><br />
<hr /> <hr />
<a name="definePDF_PRODUCER"></a> <a name="definePDF_PRODUCER"></a>
<h3>PDF_PRODUCER <span class="smalllinenumber">[line 155]</span></h3> <h3>PDF_PRODUCER <span class="smalllinenumber">[line 156]</span></h3>
<div class="tags"> <div class="tags">
<table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border"> <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
<table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code"> <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
<code>PDF_PRODUCER = 'TCPDF 5.8.028 (http://www.tcpdf.org)'</code> <code>PDF_PRODUCER = 'TCPDF 5.8.029 (http://www.tcpdf.org)'</code>
</td></tr></table> </td></tr></table>
</td></tr></table> </td></tr></table>
@ -124,7 +124,7 @@ unicode data<br /><br /></div>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:20 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:23 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -246,7 +246,7 @@ Unicode data for TCPDF library.<br /><br /><br /><br />
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:24 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:27 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -2058,7 +2058,7 @@
<a href="elementindex.html#top">top</a><br> <a href="elementindex.html#top">top</a><br>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -2090,7 +2090,7 @@
<a href="elementindex_com-tecnick-tcpdf.html#top">top</a><br> <a href="elementindex_com-tecnick-tcpdf.html#top">top</a><br>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -35,7 +35,7 @@
<a href="#Post-parsing">Post-parsing</a><br> <a href="#Post-parsing">Post-parsing</a><br>
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:24 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:27 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -67,7 +67,7 @@
This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.3</a><br /> This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.3</a><br />
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

View File

@ -67,7 +67,7 @@
This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.3</a><br /> This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.3</a><br />
<div class="credit"> <div class="credit">
<hr /> <hr />
Documentation generated on Mon, 13 Sep 2010 13:46:18 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a> Documentation generated on Thu, 16 Sep 2010 18:59:21 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div> </div>
</td></tr></table> </td></tr></table>
</td> </td>

103
tcpdf.php
View File

@ -1,9 +1,9 @@
<?php <?php
//============================================================+ //============================================================+
// File name : tcpdf.php // File name : tcpdf.php
// Version : 5.8.028 // Version : 5.8.029
// Begin : 2002-08-03 // Begin : 2002-08-03
// Last Update : 2010-09-13 // Last Update : 2010-09-16
// Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com // Author : Nicola Asuni - Tecnick.com S.r.l - Via Della Pace, 11 - 09044 - Quartucciu (CA) - ITALY - www.tecnick.com - info@tecnick.com
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html) // License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
// ------------------------------------------------------------------- // -------------------------------------------------------------------
@ -33,7 +33,8 @@
// NOTE: // NOTE:
// This class was originally derived in 2002 from the Public // This class was originally derived in 2002 from the Public
// Domain FPDF class by Olivier Plathey (http://www.fpdf.org), // Domain FPDF class by Olivier Plathey (http://www.fpdf.org),
// but now is almost entirely rewritten. // but now is almost entirely rewritten and contains thousands of
// new lines of code and hundreds new features.
// //
// Main features: // Main features:
// * no external libraries are required for the basic functions; // * no external libraries are required for the basic functions;
@ -128,7 +129,7 @@
* @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 * @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
* @link http://www.tcpdf.org * @link http://www.tcpdf.org
* @license http://www.gnu.org/copyleft/lesser.html LGPL * @license http://www.gnu.org/copyleft/lesser.html LGPL
* @version 5.8.028 * @version 5.8.029
*/ */
/** /**
@ -152,14 +153,14 @@ if (!class_exists('TCPDF', false)) {
/** /**
* define default PDF document producer * define default PDF document producer
*/ */
define('PDF_PRODUCER', 'TCPDF 5.8.028 (http://www.tcpdf.org)'); define('PDF_PRODUCER', 'TCPDF 5.8.029 (http://www.tcpdf.org)');
/** /**
* This is a PHP class for generating PDF documents without requiring external extensions.<br> * This is a PHP class for generating PDF documents without requiring external extensions.<br>
* TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br> * TCPDF project (http://www.tcpdf.org) has been originally derived in 2002 from the Public Domain FPDF class by Olivier Plathey (http://www.fpdf.org), but now is almost entirely rewritten.<br>
* @name TCPDF * @name TCPDF
* @package com.tecnick.tcpdf * @package com.tecnick.tcpdf
* @version 5.8.028 * @version 5.8.029
* @author Nicola Asuni - info@tecnick.com * @author Nicola Asuni - info@tecnick.com
* @link http://www.tcpdf.org * @link http://www.tcpdf.org
* @license http://www.gnu.org/copyleft/lesser.html LGPL * @license http://www.gnu.org/copyleft/lesser.html LGPL
@ -17000,6 +17001,9 @@ if (!class_exists('TCPDF', false)) {
break; break;
} }
} }
if ($style == 'none') {
return array();
}
$border['cap'] = 'square'; $border['cap'] = 'square';
$border['join'] = 'miter'; $border['join'] = 'miter';
$border['dash'] = $this->getCSSBorderDashStyle($style); $border['dash'] = $this->getCSSBorderDashStyle($style);
@ -17455,7 +17459,10 @@ if (!class_exists('TCPDF', false)) {
} }
// check for CSS border properties // check for CSS border properties
if (isset($dom[$key]['style']['border'])) { if (isset($dom[$key]['style']['border'])) {
$dom[$key]['border']['LTRB'] = $this->getCSSBorderStyle($dom[$key]['style']['border']); $borderstyle = $this->getCSSBorderStyle($dom[$key]['style']['border']);
if (!empty($borderstyle)) {
$dom[$key]['border']['LTRB'] = $borderstyle;
}
} }
if (isset($dom[$key]['style']['border-color'])) { if (isset($dom[$key]['style']['border-color'])) {
$brd_colors = preg_split('/[\s]+/', trim($dom[$key]['style']['border-color'])); $brd_colors = preg_split('/[\s]+/', trim($dom[$key]['style']['border-color']));
@ -17525,7 +17532,10 @@ if (!class_exists('TCPDF', false)) {
$borderside = array('L' => 'left', 'R' => 'right', 'T' => 'top', 'B' => 'bottom'); $borderside = array('L' => 'left', 'R' => 'right', 'T' => 'top', 'B' => 'bottom');
foreach ($borderside as $bsk => $bsv) { foreach ($borderside as $bsk => $bsv) {
if (isset($dom[$key]['style']['border-'.$bsv])) { if (isset($dom[$key]['style']['border-'.$bsv])) {
$dom[$key]['border'][$bsk] = $this->getCSSBorderStyle($dom[$key]['style']['border-'.$bsv]); $borderstyle = $this->getCSSBorderStyle($dom[$key]['style']['border-'.$bsv]);
if (!empty($borderstyle)) {
$dom[$key]['border'][$bsk] = $borderstyle;
}
} }
if (isset($dom[$key]['style']['border-'.$bsv.'-color'])) { if (isset($dom[$key]['style']['border-'.$bsv.'-color'])) {
$dom[$key]['border'][$bsk]['color'] = $this->convertHTMLColorToDec($dom[$key]['style']['border-'.$bsv.'-color']); $dom[$key]['border'][$bsk]['color'] = $this->convertHTMLColorToDec($dom[$key]['style']['border-'.$bsv.'-color']);
@ -17566,7 +17576,10 @@ if (!class_exists('TCPDF', false)) {
} }
} }
if (isset($dom[$key]['attribute']['border']) AND ($dom[$key]['attribute']['border'] != 0)) { if (isset($dom[$key]['attribute']['border']) AND ($dom[$key]['attribute']['border'] != 0)) {
$dom[$key]['border']['LTRB'] = $this->getCSSBorderStyle($dom[$key]['attribute']['border'].' solid black'); $borderstyle = $this->getCSSBorderStyle($dom[$key]['attribute']['border'].' solid black');
if (!empty($borderstyle)) {
$dom[$key]['border']['LTRB'] = $borderstyle;
}
} }
// check for font tag // check for font tag
if ($dom[$key]['value'] == 'font') { if ($dom[$key]['value'] == 'font') {
@ -19060,7 +19073,7 @@ if (!class_exists('TCPDF', false)) {
protected function openHTMLTagHandler(&$dom, $key, $cell) { protected function openHTMLTagHandler(&$dom, $key, $cell) {
$tag = $dom[$key]; $tag = $dom[$key];
$parent = $dom[($dom[$key]['parent'])]; $parent = $dom[($dom[$key]['parent'])];
$firstorlast = ($key == 1); $firsttag = ($key == 1);
// check for text direction attribute // check for text direction attribute
if (isset($tag['attribute']['dir'])) { if (isset($tag['attribute']['dir'])) {
$this->setTempRTL($tag['attribute']['dir']); $this->setTempRTL($tag['attribute']['dir']);
@ -19141,7 +19154,7 @@ if (!class_exists('TCPDF', false)) {
} else { } else {
$hrHeight = $this->GetLineWidth(); $hrHeight = $this->GetLineWidth();
} }
$this->addHTMLVertSpace($hbz, ($hrHeight / 2), $cell, $firstorlast); $this->addHTMLVertSpace($hbz, ($hrHeight / 2), $cell, $firsttag);
$x = $this->GetX(); $x = $this->GetX();
$y = $this->GetY(); $y = $this->GetY();
$wtmp = $this->w - $this->lMargin - $this->rMargin; $wtmp = $this->w - $this->lMargin - $this->rMargin;
@ -19271,14 +19284,14 @@ if (!class_exists('TCPDF', false)) {
case 'dl': { case 'dl': {
++$this->listnum; ++$this->listnum;
if ($this->listnum == 1) { if ($this->listnum == 1) {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
} else { } else {
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, $firsttag);
} }
break; break;
} }
case 'dt': { case 'dt': {
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, $firsttag);
break; break;
} }
case 'dd': { case 'dd': {
@ -19288,7 +19301,7 @@ if (!class_exists('TCPDF', false)) {
$this->lMargin += $this->listindent; $this->lMargin += $this->listindent;
} }
++$this->listindentlevel; ++$this->listindentlevel;
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, $firsttag);
break; break;
} }
case 'ul': case 'ul':
@ -19313,14 +19326,14 @@ if (!class_exists('TCPDF', false)) {
} }
++$this->listindentlevel; ++$this->listindentlevel;
if ($this->listnum == 1) { if ($this->listnum == 1) {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
} else { } else {
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, $firsttag);
} }
break; break;
} }
case 'li': { case 'li': {
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, $firsttag);
if ($this->listordered[$this->listnum]) { if ($this->listordered[$this->listnum]) {
// ordered item // ordered item
if (isset($parent['attribute']['type']) AND !$this->empty_string($parent['attribute']['type'])) { if (isset($parent['attribute']['type']) AND !$this->empty_string($parent['attribute']['type'])) {
@ -19357,23 +19370,23 @@ if (!class_exists('TCPDF', false)) {
$this->lMargin += $this->listindent; $this->lMargin += $this->listindent;
} }
++$this->listindentlevel; ++$this->listindentlevel;
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
break; break;
} }
case 'br': { case 'br': {
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, $firsttag);
break; break;
} }
case 'div': { case 'div': {
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, $firsttag);
break; break;
} }
case 'p': { case 'p': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
break; break;
} }
case 'pre': { case 'pre': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
$this->premode = true; $this->premode = true;
break; break;
} }
@ -19391,7 +19404,7 @@ if (!class_exists('TCPDF', false)) {
case 'h4': case 'h4':
case 'h5': case 'h5':
case 'h6': { case 'h6': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, $firsttag);
break; break;
} }
// Form fields (since 4.8.000 - 2009-09-07) // Form fields (since 4.8.000 - 2009-09-07)
@ -19661,7 +19674,7 @@ if (!class_exists('TCPDF', false)) {
protected function closeHTMLTagHandler(&$dom, $key, $cell, $maxbottomliney=0) { protected function closeHTMLTagHandler(&$dom, $key, $cell, $maxbottomliney=0) {
$tag = $dom[$key]; $tag = $dom[$key];
$parent = $dom[($dom[$key]['parent'])]; $parent = $dom[($dom[$key]['parent'])];
$firstorlast = ((!isset($dom[($key + 1)])) OR ((!isset($dom[($key + 2)])) AND ($dom[($key + 1)]['value'] == 'marker'))); $lasttag = ((!isset($dom[($key + 1)])) OR ((!isset($dom[($key + 2)])) AND ($dom[($key + 1)]['value'] == 'marker')));
$in_table_head = false; $in_table_head = false;
// maximum x position (used to draw borders) // maximum x position (used to draw borders)
if ($this->rtl) { if ($this->rtl) {
@ -20040,7 +20053,7 @@ if (!class_exists('TCPDF', false)) {
break; break;
} }
case 'div': { case 'div': {
$this->addHTMLVertSpace($hbz, 0, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, 0, $cell, false, $lasttag);
break; break;
} }
case 'blockquote': { case 'blockquote': {
@ -20050,15 +20063,15 @@ if (!class_exists('TCPDF', false)) {
$this->lMargin -= $this->listindent; $this->lMargin -= $this->listindent;
} }
--$this->listindentlevel; --$this->listindentlevel;
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
break; break;
} }
case 'p': { case 'p': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
break; break;
} }
case 'pre': { case 'pre': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
$this->premode = false; $this->premode = false;
break; break;
} }
@ -20066,16 +20079,16 @@ if (!class_exists('TCPDF', false)) {
--$this->listnum; --$this->listnum;
if ($this->listnum <= 0) { if ($this->listnum <= 0) {
$this->listnum = 0; $this->listnum = 0;
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
} else { } else {
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag);
} }
$this->lasth = $this->FontSize * $this->cell_height_ratio; $this->lasth = $this->FontSize * $this->cell_height_ratio;
break; break;
} }
case 'dt': { case 'dt': {
$this->lispacer = ''; $this->lispacer = '';
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag);
break; break;
} }
case 'dd': { case 'dd': {
@ -20086,7 +20099,7 @@ if (!class_exists('TCPDF', false)) {
$this->lMargin -= $this->listindent; $this->lMargin -= $this->listindent;
} }
--$this->listindentlevel; --$this->listindentlevel;
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag);
break; break;
} }
case 'ul': case 'ul':
@ -20101,16 +20114,16 @@ if (!class_exists('TCPDF', false)) {
--$this->listindentlevel; --$this->listindentlevel;
if ($this->listnum <= 0) { if ($this->listnum <= 0) {
$this->listnum = 0; $this->listnum = 0;
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
} else { } else {
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag);
} }
$this->lasth = $this->FontSize * $this->cell_height_ratio; $this->lasth = $this->FontSize * $this->cell_height_ratio;
break; break;
} }
case 'li': { case 'li': {
$this->lispacer = ''; $this->lispacer = '';
$this->addHTMLVertSpace(0, 0, $cell, $firstorlast); $this->addHTMLVertSpace(0, 0, $cell, false, $lasttag);
break; break;
} }
case 'h1': case 'h1':
@ -20119,7 +20132,7 @@ if (!class_exists('TCPDF', false)) {
case 'h4': case 'h4':
case 'h5': case 'h5':
case 'h6': { case 'h6': {
$this->addHTMLVertSpace($hbz, $hb, $cell, $firstorlast); $this->addHTMLVertSpace($hbz, $hb, $cell, false, $lasttag);
break; break;
} }
// Form fields (since 4.8.000 - 2009-09-07) // Form fields (since 4.8.000 - 2009-09-07)
@ -20155,15 +20168,21 @@ if (!class_exists('TCPDF', false)) {
* @param string $hbz Distance between current y and line bottom. * @param string $hbz Distance between current y and line bottom.
* @param string $hb The height of the break. * @param string $hb The height of the break.
* @param boolean $cell if true add the default cMargin space to each new line (default false). * @param boolean $cell if true add the default cMargin space to each new line (default false).
* @param boolean $firstorlast if true do not print additional empty lines. * @param boolean $firsttag set to true when the tag is the first.
* @param boolean $lasttag set to true when the tag is the last.
* @access protected * @access protected
*/ */
protected function addHTMLVertSpace($hbz=0, $hb=0, $cell=false, $firstorlast=false) { protected function addHTMLVertSpace($hbz=0, $hb=0, $cell=false, $firsttag=false, $lasttag=false) {
if ($firstorlast) { if ($firsttag) {
$this->Ln(0, $cell); $this->Ln(0, $cell);
$this->htmlvspace = 0; $this->htmlvspace = 0;
return; return;
} }
if ($lasttag) {
$this->Ln($hbz, $cell);
$this->htmlvspace = 0;
return;
}
if ($hb < $this->htmlvspace) { if ($hb < $this->htmlvspace) {
$hd = 0; $hd = 0;
} else { } else {
@ -20190,8 +20209,8 @@ if (!class_exists('TCPDF', false)) {
/** /**
* Draw an HTML block border and fill * Draw an HTML block border and fill
* @param array $tag array of tag properties * @param array $tag array of tag properties.
* @param $xmax end X coordinate for border * @param int $xmax end X coordinate for border.
* @access protected * @access protected
* @since 5.7.000 (2010-08-03) * @since 5.7.000 (2010-08-03)
*/ */