This commit is contained in:
nicolaasuni 2009-03-27 12:06:18 +01:00
parent 342de0004d
commit 1693a83fcd
17 changed files with 215 additions and 167 deletions

View File

@ -1,3 +1,6 @@
4.5.033 (2009-03-27)
- The support for rowspan/colspan on HTML tables was improved (see example n. 48).
4.5.032 (2009-03-23)
- setPrintFooter(false) bug was fixed.

View File

@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076
------------------------------------------------------------
Name: TCPDF
Version: 4.5.032
Release date: 2009-03-23
Version: 4.5.033
Release date: 2009-03-27
Author: Nicola Asuni
Copyright (c) 2001-2009:

View File

@ -45,7 +45,7 @@
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -74,7 +74,7 @@ Source Location: /tcpdf.php<br /><br />
<h4>Version:</h4>
<ul>
<li>4.5.032</li>
<li>4.5.033</li>
</ul>
@ -574,7 +574,7 @@ This is a PHP class for generating PDF documents without requiring external exte
<td><b>author:</b>&nbsp;&nbsp;</td><td>Nicola Asuni - info@tecnick.com</td>
</tr>
<tr>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.5.032</td>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.5.033</td>
</tr>
<tr>
<td><b>link:</b>&nbsp;&nbsp;</td><td><a href="http://www.tcpdf.org">http://www.tcpdf.org</a></td>
@ -5309,7 +5309,7 @@ $style = -1])</code>
</div>
<hr />
<a name="methodaddHTMLVertSpace"></a>
<h3>method addHTMLVertSpace <span class="smalllinenumber">[line 12167]</span></h3>
<h3>method addHTMLVertSpace <span class="smalllinenumber">[line 12176]</span></h3>
<div class="function">
<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">
@ -5520,7 +5520,7 @@ $k)</code>
</div>
<hr />
<a name="methodaddTOC"></a>
<h3>method addTOC <span class="smalllinenumber">[line 13049]</span></h3>
<h3>method addTOC <span class="smalllinenumber">[line 13058]</span></h3>
<div class="function">
<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">
@ -6304,7 +6304,7 @@ $h)</code>
</div>
<hr />
<a name="methodcloseHTMLTagHandler"></a>
<h3>method closeHTMLTagHandler <span class="smalllinenumber">[line 11852]</span></h3>
<h3>method closeHTMLTagHandler <span class="smalllinenumber">[line 11854]</span></h3>
<div class="function">
<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">
@ -6418,7 +6418,7 @@ $prop = array()])</code>
</div>
<hr />
<a name="methodcommitTransaction"></a>
<h3>method commitTransaction <span class="smalllinenumber">[line 13206]</span></h3>
<h3>method commitTransaction <span class="smalllinenumber">[line 13215]</span></h3>
<div class="function">
<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">
@ -7265,7 +7265,7 @@ $pagenum = ''])</code>
</div>
<hr />
<a name="methodgetBuffer"></a>
<h3>method getBuffer <span class="smalllinenumber">[line 12732]</span></h3>
<h3>method getBuffer <span class="smalllinenumber">[line 12741]</span></h3>
<div class="function">
<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">
@ -7456,7 +7456,7 @@ $char)</code>
</div>
<hr />
<a name="methodgetFontBuffer"></a>
<h3>method getFontBuffer <span class="smalllinenumber">[line 12892]</span></h3>
<h3>method getFontBuffer <span class="smalllinenumber">[line 12901]</span></h3>
<div class="function">
<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">
@ -7745,7 +7745,7 @@ $v)</code>
</div>
<hr />
<a name="methodgetGraphicVars"></a>
<h3>method getGraphicVars <span class="smalllinenumber">[line 12600]</span></h3>
<h3>method getGraphicVars <span class="smalllinenumber">[line 12609]</span></h3>
<div class="function">
<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">
@ -7955,7 +7955,7 @@ $html)</code>
</div>
<hr />
<a name="methodgetHTMLUnitToUnits"></a>
<h3>method getHTMLUnitToUnits <span class="smalllinenumber">[line 12322]</span></h3>
<h3>method getHTMLUnitToUnits <span class="smalllinenumber">[line 12331]</span></h3>
<div class="function">
<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">
@ -8021,7 +8021,7 @@ $point)</code>
</div>
<hr />
<a name="methodgetImageBuffer"></a>
<h3>method getImageBuffer <span class="smalllinenumber">[line 12834]</span></h3>
<h3>method getImageBuffer <span class="smalllinenumber">[line 12843]</span></h3>
<div class="function">
<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">
@ -8367,7 +8367,7 @@ $w = 0])</code>
</div>
<hr />
<a name="methodgetObjFilename"></a>
<h3>method getObjFilename <span class="smalllinenumber">[line 12664]</span></h3>
<h3>method getObjFilename <span class="smalllinenumber">[line 12673]</span></h3>
<div class="function">
<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">
@ -8477,7 +8477,7 @@ $prefix)</code>
</div>
<hr />
<a name="methodgetPageBuffer"></a>
<h3>method getPageBuffer <span class="smalllinenumber">[line 12775]</span></h3>
<h3>method getPageBuffer <span class="smalllinenumber">[line 12784]</span></h3>
<div class="function">
<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">
@ -9392,7 +9392,7 @@ $script)</code>
</div>
<hr />
<a name="methodintToRoman"></a>
<h3>method intToRoman <span class="smalllinenumber">[line 12393]</span></h3>
<h3>method intToRoman <span class="smalllinenumber">[line 12402]</span></h3>
<div class="function">
<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">
@ -9986,7 +9986,7 @@ $y = ''])</code>
</div>
<hr />
<a name="methodmovePage"></a>
<h3>method movePage <span class="smalllinenumber">[line 12910]</span></h3>
<h3>method movePage <span class="smalllinenumber">[line 12919]</span></h3>
<div class="function">
<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">
@ -10160,7 +10160,7 @@ $maxh = 0])</code>
</div>
<hr />
<a name="methodobjclone"></a>
<h3>method objclone <span class="smalllinenumber">[line 13241]</span></h3>
<h3>method objclone <span class="smalllinenumber">[line 13250]</span></h3>
<div class="function">
<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">
@ -10233,7 +10233,7 @@ $object)</code>
</div>
<hr />
<a name="methodopenHTMLTagHandler"></a>
<h3>method openHTMLTagHandler <span class="smalllinenumber">[line 11551]</span></h3>
<h3>method openHTMLTagHandler <span class="smalllinenumber">[line 11553]</span></h3>
<div class="function">
<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">
@ -10670,7 +10670,7 @@ $fill_color = array()])</code>
</div>
<hr />
<a name="methodputHtmlListBullet"></a>
<h3>method putHtmlListBullet <span class="smalllinenumber">[line 12458]</span></h3>
<h3>method putHtmlListBullet <span class="smalllinenumber">[line 12467]</span></h3>
<div class="function">
<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">
@ -10847,7 +10847,7 @@ $prop = array()])</code>
</div>
<hr />
<a name="methodreadDiskCache"></a>
<h3>method readDiskCache <span class="smalllinenumber">[line 12704]</span></h3>
<h3>method readDiskCache <span class="smalllinenumber">[line 12713]</span></h3>
<div class="function">
<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">
@ -11174,7 +11174,7 @@ $length)</code>
</div>
<hr />
<a name="methodrollbackTransaction"></a>
<h3>method rollbackTransaction <span class="smalllinenumber">[line 13219]</span></h3>
<h3>method rollbackTransaction <span class="smalllinenumber">[line 13228]</span></h3>
<div class="function">
<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">
@ -11744,7 +11744,7 @@ $bc = ''])</code>
</div>
<hr />
<a name="methodSetBooklet"></a>
<h3>method SetBooklet <span class="smalllinenumber">[line 12236]</span></h3>
<h3>method SetBooklet <span class="smalllinenumber">[line 12245]</span></h3>
<div class="function">
<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">
@ -11795,7 +11795,7 @@ $outer = -1])</code>
</div>
<hr />
<a name="methodsetBuffer"></a>
<h3>method setBuffer <span class="smalllinenumber">[line 12714]</span></h3>
<h3>method setBuffer <span class="smalllinenumber">[line 12723]</span></h3>
<div class="function">
<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">
@ -12515,7 +12515,7 @@ $fontfile = ''])</code>
</div>
<hr />
<a name="methodsetFontBuffer"></a>
<h3>method setFontBuffer <span class="smalllinenumber">[line 12850]</span></h3>
<h3>method setFontBuffer <span class="smalllinenumber">[line 12859]</span></h3>
<div class="function">
<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">
@ -12602,7 +12602,7 @@ $size)</code>
</div>
<hr />
<a name="methodsetFontSubBuffer"></a>
<h3>method setFontSubBuffer <span class="smalllinenumber">[line 12872]</span></h3>
<h3>method setFontSubBuffer <span class="smalllinenumber">[line 12881]</span></h3>
<div class="function">
<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">
@ -12756,7 +12756,7 @@ $fm = 10])</code>
</div>
<hr />
<a name="methodsetGraphicVars"></a>
<h3>method setGraphicVars <span class="smalllinenumber">[line 12631]</span></h3>
<h3>method setGraphicVars <span class="smalllinenumber">[line 12640]</span></h3>
<div class="function">
<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">
@ -12952,7 +12952,7 @@ $hm = 10])</code>
</div>
<hr />
<a name="methodsetHtmlLinksStyle"></a>
<h3>method setHtmlLinksStyle <span class="smalllinenumber">[line 12307]</span></h3>
<h3>method setHtmlLinksStyle <span class="smalllinenumber">[line 12316]</span></h3>
<div class="function">
<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">
@ -12997,7 +12997,7 @@ $fontstyle = 'U'])</code>
</div>
<hr />
<a name="methodsetHtmlVSpace"></a>
<h3>method setHtmlVSpace <span class="smalllinenumber">[line 12276]</span></h3>
<h3>method setHtmlVSpace <span class="smalllinenumber">[line 12285]</span></h3>
<div class="function">
<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">
@ -13036,7 +13036,7 @@ $tagvs)</code>
</div>
<hr />
<a name="methodsetImageBuffer"></a>
<h3>method setImageBuffer <span class="smalllinenumber">[line 12791]</span></h3>
<h3>method setImageBuffer <span class="smalllinenumber">[line 12800]</span></h3>
<div class="function">
<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">
@ -13123,7 +13123,7 @@ $scale)</code>
</div>
<hr />
<a name="methodsetImageSubBuffer"></a>
<h3>method setImageSubBuffer <span class="smalllinenumber">[line 12814]</span></h3>
<h3>method setImageSubBuffer <span class="smalllinenumber">[line 12823]</span></h3>
<div class="function">
<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">
@ -13517,7 +13517,7 @@ $page = -1])</code>
</div>
<hr />
<a name="methodsetListIndentWidth"></a>
<h3>method setListIndentWidth <span class="smalllinenumber">[line 12286]</span></h3>
<h3>method setListIndentWidth <span class="smalllinenumber">[line 12295]</span></h3>
<div class="function">
<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">
@ -13556,7 +13556,7 @@ $width)</code>
</div>
<hr />
<a name="methodsetLIsymbol"></a>
<h3>method setLIsymbol <span class="smalllinenumber">[line 12196]</span></h3>
<h3>method setLIsymbol <span class="smalllinenumber">[line 12205]</span></h3>
<div class="function">
<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">
@ -13649,7 +13649,7 @@ $right = -1])</code>
</div>
<hr />
<a name="methodsetOpenCell"></a>
<h3>method setOpenCell <span class="smalllinenumber">[line 12296]</span></h3>
<h3>method setOpenCell <span class="smalllinenumber">[line 12305]</span></h3>
<div class="function">
<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">
@ -13736,7 +13736,7 @@ $resetmargins = false])</code>
</div>
<hr />
<a name="methodsetPageBuffer"></a>
<h3>method setPageBuffer <span class="smalllinenumber">[line 12748]</span></h3>
<h3>method setPageBuffer <span class="smalllinenumber">[line 12757]</span></h3>
<div class="function">
<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">
@ -15188,7 +15188,7 @@ $page = ''])</code>
</div>
<hr />
<a name="methodstartTransaction"></a>
<h3>method startTransaction <span class="smalllinenumber">[line 13192]</span></h3>
<h3>method startTransaction <span class="smalllinenumber">[line 13201]</span></h3>
<div class="function">
<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">
@ -15278,7 +15278,7 @@ $page = ''])</code>
</div>
<hr />
<a name="methodswapMargins"></a>
<h3>method swapMargins <span class="smalllinenumber">[line 12252]</span></h3>
<h3>method swapMargins <span class="smalllinenumber">[line 12261]</span></h3>
<div class="function">
<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">
@ -16286,7 +16286,7 @@ $code)</code>
</div>
<hr />
<a name="methodwriteDiskCache"></a>
<h3>method writeDiskCache <span class="smalllinenumber">[line 12676]</span></h3>
<h3>method writeDiskCache <span class="smalllinenumber">[line 12685]</span></h3>
<div class="function">
<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">
@ -18574,7 +18574,7 @@ $file)</code>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:17 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:06 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -640,7 +640,7 @@ $type)</code>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -96,7 +96,7 @@ PHP class to creates array representations for common 1D barcodes to be used wit
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -507,7 +507,7 @@ Configuration file for TCPDF.<br /><br /><br /><br />
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:22 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:11 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -88,7 +88,7 @@ Array of WEB safe colors.<br /><br /><br /><br />
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:17 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:06 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -73,7 +73,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>
</tr>
<tr>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.5.032</td>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.5.033</td>
</tr>
<tr>
<td><b>copyright:</b>&nbsp;&nbsp;</td><td>2002-2009 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>
@ -104,7 +104,7 @@ unicode data<br /><br /></div>
<div class="tags">
<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">
<code>PDF_PRODUCER = 'TCPDF 4.5.032 (http://www.tcpdf.org)'</code>
<code>PDF_PRODUCER = 'TCPDF 4.5.033 (http://www.tcpdf.org)'</code>
</td></tr></table>
</td></tr></table>
@ -115,7 +115,7 @@ unicode data<br /><br /></div>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:17 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:06 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -237,7 +237,7 @@ Unicode Include file for TCPDF.<br /><br /><br /><br />
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:22 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:11 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -1302,7 +1302,7 @@
<a href="elementindex.html#top">top</a><br>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -1325,7 +1325,7 @@
<a href="elementindex_com-tecnick-tcpdf.html#top">top</a><br>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -35,7 +35,7 @@
<a href="#Post-parsing">Post-parsing</a><br>
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:22 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:11 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -58,7 +58,7 @@
This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.1</a><br />
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -58,7 +58,7 @@
This documentation was generated by <a href="http://www.phpdoc.org">phpDocumentor v1.4.1</a><br />
<div class="credit">
<hr />
Documentation generated on Mon, 23 Mar 2009 12:15:16 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
Documentation generated on Fri, 27 Mar 2009 12:06:05 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
</div>
</td></tr></table>
</td>

View File

@ -2,7 +2,7 @@
//============================================================+
// File name : example_048.php
// Begin : 2009-03-20
// Last Update : 2009-03-20
// Last Update : 2009-03-27
//
// Description : Example 048 for TCPDF class
// HTML tables and table headers
@ -141,7 +141,42 @@ EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
// -----------------------------------------------------------------------------
// -----------------------------------------------------------------------------
$tbl = <<<EOD
<table border="1">
<tr>
<th rowspan="3">Left column</th>
<th colspan="5">Heading Column Span 5</th>
<th colspan="9">Heading Column Span 9</th>
</tr>
<tr>
<th rowspan="2">Rowspan 2<br />This is some text that fills the table cell.</th>
<th colspan="2">span 2</th>
<th colspan="2">span 2</th>
<th rowspan="2">2 rows</th>
<th colspan="8">Colspan 8</th>
</tr>
<tr>
<th>1a</th>
<th>2a</th>
<th>1b</th>
<th>2b</th>
<th>1</th>
<th>2</th>
<th>3</th>
<th>4</th>
<th>5</th>
<th>6</th>
<th>7</th>
<th>8</th>
</tr>
</table>
EOD;
$pdf->writeHTML($tbl, true, false, false, false, '');
// -----------------------------------------------------------------------------
// Table with rowspans and THEAD
$tbl = <<<EOD
@ -205,7 +240,8 @@ $tbl = <<<EOD
</table>
EOD;
$pdf->Ln(105);
$pdf->writeHTML($tbl, true, false, false, false, '');
$pdf->writeHTML($tbl, true, false, false, false, '');
// -----------------------------------------------------------------------------

231
tcpdf.php
View File

@ -2,9 +2,9 @@
//============================================================+
// File name : tcpdf.php
// Begin : 2002-08-03
// Last Update : 2009-03-23
// Last Update : 2009-03-27
// Author : Nicola Asuni - info@tecnick.com - http://www.tcpdf.org
// Version : 4.5.032
// Version : 4.5.033
// License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
// ----------------------------------------------------------------------------
// Copyright (C) 2002-2009 Nicola Asuni - Tecnick.com S.r.l.
@ -122,7 +122,7 @@
* @copyright 2002-2009 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
* @license http://www.gnu.org/copyleft/lesser.html LGPL
* @version 4.5.032
* @version 4.5.033
*/
/**
@ -146,14 +146,14 @@ if (!class_exists('TCPDF', false)) {
/**
* define default PDF document producer
*/
define('PDF_PRODUCER', 'TCPDF 4.5.032 (http://www.tcpdf.org)');
define('PDF_PRODUCER', 'TCPDF 4.5.033 (http://www.tcpdf.org)');
/**
* 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>
* @name TCPDF
* @package com.tecnick.tcpdf
* @version 4.5.032
* @version 4.5.033
* @author Nicola Asuni - info@tecnick.com
* @link http://www.tcpdf.org
* @license http://www.gnu.org/copyleft/lesser.html LGPL
@ -286,7 +286,7 @@ if (!class_exists('TCPDF', false)) {
* @var cell internal padding
* @access protected
*/
//protected
//protected
public $cMargin;
/**
@ -1106,21 +1106,21 @@ if (!class_exists('TCPDF', false)) {
* @since 4.2.010 (2008-11-14)
*/
protected $opencell = true;
/**
* @var array of files to embedd
* @access protected
* @since 4.4.000 (2008-12-07)
*/
protected $embeddedfiles = array();
/**
* @var boolean true when inside html pre tag
* @access protected
* @since 4.4.001 (2008-12-08)
*/
protected $premode = false;
/**
* Array used to store positions of graphics transformation blocks inside the page buffer.
* keys are the page numbers
@ -1128,77 +1128,77 @@ if (!class_exists('TCPDF', false)) {
* @since 4.4.002 (2008-12-09)
*/
protected $transfmrk = array();
/**
* Default color for html links
* @access protected
* @since 4.4.003 (2008-12-09)
*/
protected $htmlLinkColorArray = array(0, 0, 255);
/**
* Default font style to add to html links
* @access protected
* @since 4.4.003 (2008-12-09)
*/
protected $htmlLinkFontStyle = 'U';
/**
* Counts the number of pages.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $numpages = 0;
/**
* Array containing page lenghts in bytes.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $pagelen = array();
/**
* Counts the number of pages.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $numimages = 0;
/**
* Store the image keys.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $imagekeys = array();
/**
* Lenght of the buffer in bytes.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $bufferlen = 0;
/**
* If true enables disk caching.
* @access protected
* @since 4.5.000 (2008-12-31)
*/
protected $diskcache = false;
/**
* Counts the number of fonts.
* @access protected
* @since 4.5.000 (2009-01-02)
*/
protected $numfonts = 0;
/**
* Store the font keys.
* @access protected
* @since 4.5.000 (2009-01-02)
*/
protected $fontkeys = array();
/**
* Store the fage status (true when opened, false when closed).
* @access protected
@ -1212,28 +1212,28 @@ if (!class_exists('TCPDF', false)) {
* @since 4.5.025 (2009-03-10)
*/
protected $default_monospaced_font = 'courier';
/**
* Used to store a cloned copy of the current class object
* @access protected
* @since 4.5.029 (2009-03-19)
*/
protected $objcopy;
/**
* Array used to store the lenghts of cache files
* @access protected
* @since 4.5.029 (2009-03-19)
*/
protected $cache_file_lenght = array();
/**
* Table header content to be repeated on each new page
* @access protected
* @since 4.5.030 (2009-03-20)
*/
protected $thead = '';
/**
* Distance between the top of page and end of table headers on a new page.
* @access protected
@ -2079,7 +2079,7 @@ if (!class_exists('TCPDF', false)) {
// start new page
$this->startPage($orientation, $format);
}
/**
* Terminate the current page
* @access protected
@ -2100,7 +2100,7 @@ if (!class_exists('TCPDF', false)) {
$this->pageopen[$this->page] = false;
$this->InFooter = false;
}
/**
* Starts a new page to the document. The page must be closed using the endPage() function.
* The origin of the coordinate system is at the top-left corner and increasing ordinates go downwards.
@ -2409,7 +2409,7 @@ if (!class_exists('TCPDF', false)) {
// calculate footer lenght
$this->footerlen[$this->page] = $this->pagelen[$this->page] - $this->footerpos[$this->page];
}
/**
* This method is used to render the table header on new page (if any).
* @access protected
@ -3028,7 +3028,7 @@ if (!class_exists('TCPDF', false)) {
$this->_out(sprintf('BT /F%d %.2F Tf ET', $this->CurrentFont['i'], $this->FontSizePt));
}
}
/**
* Defines the default monospaced font.
* @param string $font Font name.
@ -3148,7 +3148,7 @@ if (!class_exists('TCPDF', false)) {
$this->embeddedfiles[basename($opt['FS'])] = array('file' => $opt['FS'], 'n' => ($this->n + count($this->embeddedfiles) + 10000));
}
}
/**
* Embedd the attached files.
* @since 4.4.000 (2008-12-07)
@ -3173,7 +3173,7 @@ if (!class_exists('TCPDF', false)) {
}
/**
* Prints a character string.
* Prints a character string.
* The origin is on the left of the first charcter, on the baseline.
* This method allows to place a string precisely on the page.
* @param float $x Abscissa of the origin
@ -3288,7 +3288,7 @@ if (!class_exists('TCPDF', false)) {
$this->checkPageBreak($h);
$this->_out($this->getCellCode($w, $h, $txt, $border, $ln, $align, $fill, $link, $stretch));
}
/**
* Removes SHY characters from text.
* @param string $txt input string
@ -3710,7 +3710,7 @@ if (!class_exists('TCPDF', false)) {
}
return $nl;
}
/**
* Get the border mode accounting for multicell position (opens bottom side of multicell crossing pages)
* @param mixed $border Indicates if borders must be drawn around the cell block. The value can be either a number:<ul><li>0: no border (default)</li><li>1: frame</li></ul>or a string containing some or all of the following characters (in any order):<ul><li>L: left</li><li>T: top</li><li>R: right</li><li>B: bottom</li></ul>
@ -3787,9 +3787,9 @@ if (!class_exists('TCPDF', false)) {
break;
}
}
return $cborder;
return $cborder;
}
/**
* This method returns the estimated number of lines required to print the text.
* @param string $txt text to print
@ -4305,7 +4305,7 @@ if (!class_exists('TCPDF', false)) {
set_magic_quotes_runtime($mqr);
if ($ismask) {
// force grayscale
$info['cs'] = 'DeviceGray';
$info['cs'] = 'DeviceGray';
}
$info['i'] = $this->numimages + 1;
if ($imgmask !== false) {
@ -4547,7 +4547,7 @@ if (!class_exists('TCPDF', false)) {
fclose($f);
return array('w' => $w, 'h' => $h, 'cs' => $colspace, 'bpc' => $bpc, 'f' => 'FlateDecode', 'parms' => $parms, 'pal' => $pal, 'trns' => $trns, 'data' => $data);
}
/**
* Binary-safe and URL-safe file read.
* Reads up to length bytes from the file pointer referenced by handle. Reading stops as soon as one of the following conditions is met: length bytes have been read; EOF (end of file) is reached.
@ -4565,7 +4565,7 @@ if (!class_exists('TCPDF', false)) {
}
return $data;
}
/**
* Extract info from a PNG image with alpha channel using the GD library.
* @param string $file Name of the file containing the image.
@ -4874,7 +4874,7 @@ if (!class_exists('TCPDF', false)) {
}
return '';
}
/**
* Unset all class variables except the following critical variables: internal_encoding, state, bufferlen, buffer and diskcache.
* @param boolean $destroyall if true destroys all class variables, otherwise preserves critical variables.
@ -5557,7 +5557,7 @@ if (!class_exists('TCPDF', false)) {
// for each character
foreach ($font['cw'] as $cid => $width) {
$cid -= $cidoffset;
if ($width != $font['dw']) {
if ($width != $font['dw']) {
if ($cid == ($prevcid + 1)) {
// consecutive CID
if ($width == $prevwidth) {
@ -9024,7 +9024,7 @@ if (!class_exists('TCPDF', false)) {
}
$this->newpagegroup[$page] = true;
}
/**
* Defines an alias for the total number of pages.
* It will be substituted as the document is closed.
@ -9051,7 +9051,7 @@ if (!class_exists('TCPDF', false)) {
}
return $this->AliasNbPages;
}
/**
* Defines an alias for the page number.
* It will be substituted as the document is closed.
@ -9089,7 +9089,7 @@ if (!class_exists('TCPDF', false)) {
public function getGroupPageNo() {
return $this->pagegroups[$this->currpagegroup];
}
/**
* Returns the current group page number formatted as a string.
* @access public
@ -9129,7 +9129,7 @@ if (!class_exists('TCPDF', false)) {
}
return str_replace('{nb', '{pnb', $this->currpagegroup);
}
/**
* Format the page numbers.
* This method can be overriden for custom formats.
@ -9140,7 +9140,7 @@ if (!class_exists('TCPDF', false)) {
protected function formatPageNumber($num) {
return number_format((float)$num, 0, '', '.');
}
/**
* Format the page numbers on the Table Of Content.
* This method can be overriden for custom formats.
@ -9152,7 +9152,7 @@ if (!class_exists('TCPDF', false)) {
protected function formatTOCPageNumber($num) {
return number_format((float)$num, 0, '', '.');
}
/**
* Returns the current page number formatted as a string.
* @access public
@ -9162,7 +9162,7 @@ if (!class_exists('TCPDF', false)) {
public function PageNoFormatted() {
return $this->formatPageNumber($this->PageNo());
}
/*
* Put visibility settings.
* @access protected
@ -10279,7 +10279,7 @@ if (!class_exists('TCPDF', false)) {
public function getFontSizePt() {
return $this->FontSizePt;
}
/**
* Returns the current font family name.
* @return string current font family name
@ -10289,7 +10289,7 @@ if (!class_exists('TCPDF', false)) {
public function getFontFamily() {
return $this->FontFamily;
}
/**
* Returns the current font style.
* @return string current font style
@ -10800,12 +10800,12 @@ if (!class_exists('TCPDF', false)) {
$dom[$key]['align'] = ($this->rtl) ? 'R' : 'L';
}
// vertically align image in line
if ((!$this->newline)
AND ($dom[$key]['value'] == 'img')
if ((!$this->newline)
AND ($dom[$key]['value'] == 'img')
AND (isset($dom[$key]['attribute']['height']))
AND ($dom[$key]['attribute']['height'] > 0)
AND (!((($this->y + $this->getHTMLUnitToUnits($dom[$key]['attribute']['height'], $this->lasth, 'px')) > $this->PageBreakTrigger)
AND (!$this->InFooter)
AND (!((($this->y + $this->getHTMLUnitToUnits($dom[$key]['attribute']['height'], $this->lasth, 'px')) > $this->PageBreakTrigger)
AND (!$this->InFooter)
AND $this->AcceptPageBreak()))
) {
if ($this->page > $startlinepage) {
@ -10850,9 +10850,9 @@ if (!class_exists('TCPDF', false)) {
if (($fontname != $curfontname) OR ($fontstyle != $curfontstyle) OR ($fontsize != $curfontsize)) {
$this->SetFont($fontname, $fontstyle, $fontsize);
$this->lasth = $this->FontSize * $this->cell_height_ratio;
if (is_numeric($fontsize) AND ($fontsize > 0)
AND is_numeric($curfontsize) AND ($curfontsize > 0)
AND ($fontsize != $curfontsize) AND (!$this->newline)
if (is_numeric($fontsize) AND ($fontsize > 0)
AND is_numeric($curfontsize) AND ($curfontsize > 0)
AND ($fontsize != $curfontsize) AND (!$this->newline)
AND ($key < ($maxel - 1))
) {
if ((!$this->newline) AND ($this->page > $startlinepage)) {
@ -10973,7 +10973,7 @@ if (!class_exists('TCPDF', false)) {
}
$no = 0;
$ns = 0;
$pmidtemp = $pmid;
// escape special characters
$pmidtemp = preg_replace('/[\\\][\(]/x', '\\#!#OP#!#', $pmidtemp);
@ -11021,7 +11021,7 @@ if (!class_exists('TCPDF', false)) {
$offset = $strpiece[2][1] + strlen($strpiece[2][0]);
$epsposbeg = strpos($pmid, 'q'.$this->epsmarker, $offset);
$epsposend = strpos($pmid, $this->epsmarker.'Q', $offset) + strlen($this->epsmarker.'Q');
if ((($epsposbeg > 0) AND ($epsposend > 0) AND ($offset > $epsposbeg) AND ($offset < $epsposend))
if ((($epsposbeg > 0) AND ($epsposend > 0) AND ($offset > $epsposbeg) AND ($offset < $epsposend))
OR (($epsposbeg === false) AND ($epsposend > 0) AND ($offset < $epsposend))) {
// shift EPS images
$trx = sprintf('1 0 0 1 %.3F 0 cm', $spacew);
@ -11061,8 +11061,8 @@ if (!class_exists('TCPDF', false)) {
$spacew = ($spacewidth * ($nsmax - $ns));
}
// justify block
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$newx = sprintf("%.2F",(floatval($matches[1]) + $spacew));
return "".$newx." ".$matches[2]." x*#!#*x".$matches[3].$matches[4];'), $pmid, 1);
break;
@ -11072,8 +11072,8 @@ if (!class_exists('TCPDF', false)) {
preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', $pmid, $xmatches);
$currentxpos = $xmatches[1];
// justify block
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$newx = sprintf("%.2F",(floatval($matches[1]) + $spacew));
return "".$newx." ".$matches[2]." ".$matches[3]." ".$matches[4]." x*#!#*x".$matches[5].$matches[6];'), $pmid, 1);
break;
@ -11083,8 +11083,8 @@ if (!class_exists('TCPDF', false)) {
preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', $pmid, $xmatches);
$currentxpos = $xmatches[1];
// justify block
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$pmid = preg_replace_callback('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x',
create_function('$matches', 'global $spacew;
$newx1 = sprintf("%.3F",(floatval($matches[1]) + $spacew));
$newx2 = sprintf("%.3F",(floatval($matches[3]) + $spacew));
$newx3 = sprintf("%.3F",(floatval($matches[5]) + $spacew));
@ -11112,7 +11112,7 @@ if (!class_exists('TCPDF', false)) {
// escape special characters
$pmidtemp = preg_replace('/[\\\][\(]/x', '\\#!#OP#!#', $pmidtemp);
$pmidtemp = preg_replace('/[\\\][\)]/x', '\\#!#CP#!#', $pmidtemp);
$pmid = preg_replace_callback("/\[\(([^\)]*)\)\]/x",
$pmid = preg_replace_callback("/\[\(([^\)]*)\)\]/x",
create_function('$matches', 'global $spacew;
$matches[1] = str_replace("#!#OP#!#", "(", $matches[1]);
$matches[1] = str_replace("#!#CP#!#", ")", $matches[1]);
@ -11281,14 +11281,16 @@ if (!class_exists('TCPDF', false)) {
}
}
if (($trwsp['rowspan'] > 0)
AND ($rsstartx > ($this->x - $cellspacing - $currentcmargin - $this->feps))
AND ($rsstartx > ($this->x - $cellspacing - $currentcmargin - $this->feps))
AND ($rsstartx < ($this->x + $cellspacing + $currentcmargin + $this->feps))
AND (($trwsp['starty'] < ($this->y - $this->feps)) OR ($trwsp['startpage'] < $this->page))) {
AND (($trwsp['starty'] < ($this->y - $this->feps)) OR ($trwsp['startpage'] < $this->page))) {
// set the starting X position of the current cell
$this->x = $rsendx + $cellspacingx;
if (($trwsp['rowspan'] == 1)
AND (isset($dom[$trid]['endy']))
AND (isset($dom[$trid]['endpage']))
if (($trwsp['rowspan'] == 1)
AND (isset($dom[$trid]['endy']))
AND (isset($dom[$trid]['endpage']))
AND ($trwsp['endpage'] == $dom[$trid]['endpage'])) {
// set ending Y position for row
$dom[$table_el]['rowspans'][$rsk]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']);
$dom[$trid]['endy'] = $dom[$table_el]['rowspans'][$rsk]['endy'];
}
@ -11342,12 +11344,12 @@ if (!class_exists('TCPDF', false)) {
// account for row-spanned cells
$dom[$table_el]['rowspans'][($trsid - 1)]['endx'] = $this->x;
$dom[$table_el]['rowspans'][($trsid - 1)]['endy'] = $this->y;
$dom[$table_el]['rowspans'][($trsid - 1)]['endpage'] = $this->page;
$dom[$table_el]['rowspans'][($trsid - 1)]['endpage'] = $this->page;
}
if (isset($dom[$table_el]['rowspans'])) {
// update endy and endpage on rowspanned cells
foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) {
if ($trwsp['rowspan'] > 0) {
if ($trwsp['rowspan'] > 0) {
if (isset($dom[$trid]['endpage'])) {
if ($trwsp['endpage'] == $dom[$trid]['endpage']) {
$dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$trid]['endy'], $trwsp['endy']);
@ -11763,7 +11765,7 @@ if (!class_exists('TCPDF', false)) {
break;
}
case 'li': {
$this->addHTMLVertSpace(1, $cell, '', $firstorlast, $tag['value'], false);
$this->addHTMLVertSpace(1, $cell, '', $firstorlast, $tag['value'], false);
if ($this->listordered[$this->listnum]) {
// ordered item
if (!empty($parent['attribute']['type'])) {
@ -11886,8 +11888,15 @@ if (!class_exists('TCPDF', false)) {
$dom[$table_el]['rowspans'][$k]['endy'] = max($dom[$table_el]['rowspans'][$k]['endy'], $dom[($dom[$key]['parent'])]['endy']);
$dom[($dom[$key]['parent'])]['endy'] = $dom[$table_el]['rowspans'][$k]['endy'];
}
}
// update remaining rowspanned cells
foreach ($dom[$table_el]['rowspans'] as $k => $trwsp) {
if ($dom[$table_el]['rowspans'][$k]['rowspan'] == 0) {
$dom[$table_el]['rowspans'][$k]['endpage'] = $dom[($dom[$key]['parent'])]['endpage'];
$dom[$table_el]['rowspans'][$k]['endy'] = $dom[($dom[$key]['parent'])]['endy'];
}
}
}
}
$this->setPage($parent['endpage']);
$this->y = $parent['endy'];
if (isset($dom[$table_el]['attribute']['cellspacing'])) {
@ -12050,7 +12059,7 @@ if (!class_exists('TCPDF', false)) {
$this->cMargin = $this->oldcMargin;
}
$this->lasth = $this->FontSize * $this->cell_height_ratio;
if (!empty($table_el['thead'])) {
if (!empty($table_el['thead']) AND !empty($this->theadMargin)) {
// reset table header
$this->thead = '';
// restore top margin
@ -12213,7 +12222,7 @@ if (!class_exists('TCPDF', false)) {
case 'lower-alpha':
case 'lower-latin':
case 'A':
case 'upper-alpha':
case 'upper-alpha':
case 'upper-latin':
case 'lower-greek': {
$this->lisymbol = $symbol;
@ -12260,7 +12269,7 @@ if (!class_exists('TCPDF', false)) {
$this->rMargin -= $deltam;
}
}
/**
* Set the vertical spaces for HTML tags.
* The array must have the following structure (example):
@ -12276,7 +12285,7 @@ if (!class_exists('TCPDF', false)) {
public function setHtmlVSpace($tagvs) {
$this->tagvspaces = $tagvs;
}
/**
* Set custom width for list indentation.
* @param float $width width of the indentation. Use negative value to disable it.
@ -12286,7 +12295,7 @@ if (!class_exists('TCPDF', false)) {
public function setListIndentWidth($width) {
return $this->customlistindent = floatval($width);
}
/**
* Set the top/bottom cell sides to be open or closed when the cell cross the page.
* @param boolean $isopen if true keeps the top/bottom border open for the cell sides that cross the page.
@ -12296,7 +12305,7 @@ if (!class_exists('TCPDF', false)) {
public function setOpenCell($isopen) {
$this->opencell = $isopen;
}
/**
* Set the color and font style for HTML links.
* @param array $color RGB array of colors
@ -12308,7 +12317,7 @@ if (!class_exists('TCPDF', false)) {
$this->htmlLinkColorArray = $color;
$this->htmlLinkFontStyle = $fontstyle;
}
/**
* convert html string containing value and unit of measure to user's units or points.
* @param string $htmlval string containing values and unit
@ -12382,7 +12391,7 @@ if (!class_exists('TCPDF', false)) {
}
return $retval;
}
/**
* Returns the Roman representation of an integer number
* @param int number to convert
@ -12446,7 +12455,7 @@ if (!class_exists('TCPDF', false)) {
}
return $roman;
}
/**
* Output an HTML list bullet or ordered item symbol
* @param int $listdepth list nesting level
@ -12503,7 +12512,7 @@ if (!class_exists('TCPDF', false)) {
break;
}
// ordered types
// $this->listcount[$this->listnum];
// $textitem
case '1':
@ -12532,7 +12541,7 @@ if (!class_exists('TCPDF', false)) {
break;
}
case 'A':
case 'upper-alpha':
case 'upper-alpha':
case 'upper-latin': {
$textitem = chr(65 + $this->listcount[$this->listnum] - 1);
break;
@ -12590,7 +12599,7 @@ if (!class_exists('TCPDF', false)) {
$this->x = $tmpx;
$this->lispacer = '';
}
/**
* Returns current graphic variables as array.
* @return array graphic variables
@ -12621,7 +12630,7 @@ if (!class_exists('TCPDF', false)) {
);
return $grapvars;
}
/**
* Set graphic variables.
* @param $gvars array graphic variables
@ -12653,7 +12662,7 @@ if (!class_exists('TCPDF', false)) {
$this->SetFont($this->FontFamily, $this->FontStyle, $this->FontSizePt);
}
}
/**
* Returns a temporary filename for caching object on filesystem.
* @param string $prefix prefix to add to filename
@ -12664,7 +12673,7 @@ if (!class_exists('TCPDF', false)) {
protected function getObjFilename($name) {
return tempnam(K_PATH_CACHE, $name.'_');
}
/**
* Writes data to a temporary file on filesystem.
* @param string $file file name
@ -12693,7 +12702,7 @@ if (!class_exists('TCPDF', false)) {
$this->cache_file_lenght[$filename] += strlen($data);
}
}
/**
* Read data from a temporary file on filesystem.
* @param string $file file name
@ -12704,7 +12713,7 @@ if (!class_exists('TCPDF', false)) {
protected function readDiskCache($filename) {
return file_get_contents($filename);
}
/**
* Set buffer content (always append data).
* @param string $data data
@ -12722,7 +12731,7 @@ if (!class_exists('TCPDF', false)) {
$this->buffer .= $data;
}
}
/**
* Get buffer content.
* @return string buffer content
@ -12731,12 +12740,12 @@ if (!class_exists('TCPDF', false)) {
*/
protected function getBuffer() {
if ($this->diskcache) {
return $this->readDiskCache($this->buffer);
return $this->readDiskCache($this->buffer);
} else {
return $this->buffer;
}
}
/**
* Set page buffer content.
* @param int $page page number
@ -12764,7 +12773,7 @@ if (!class_exists('TCPDF', false)) {
$this->pagelen[$page] = strlen($data);
}
}
/**
* Get page buffer content.
* @param int $page page number
@ -12774,13 +12783,13 @@ if (!class_exists('TCPDF', false)) {
*/
protected function getPageBuffer($page) {
if ($this->diskcache) {
return $this->readDiskCache($this->pages[$page]);
return $this->readDiskCache($this->pages[$page]);
} elseif (isset($this->pages[$page])) {
return $this->pages[$page];
}
return false;
}
/**
* Set image buffer content.
* @param string $image image key
@ -12802,7 +12811,7 @@ if (!class_exists('TCPDF', false)) {
}
++$this->numimages;
}
/**
* Set image buffer content.
* @param string $image image key
@ -12823,7 +12832,7 @@ if (!class_exists('TCPDF', false)) {
$this->images[$image][$key] = $data;
}
}
/**
* Get page buffer content.
* @param string $image image key
@ -12833,13 +12842,13 @@ if (!class_exists('TCPDF', false)) {
*/
protected function getImageBuffer($image) {
if ($this->diskcache AND isset($this->images[$image])) {
return unserialize($this->readDiskCache($this->images[$image]));
return unserialize($this->readDiskCache($this->images[$image]));
} elseif (isset($this->images[$image])) {
return $this->images[$image];
}
return false;
}
/**
* Set font buffer content.
* @param string $font font key
@ -12860,7 +12869,7 @@ if (!class_exists('TCPDF', false)) {
$this->fontkeys[] = $font;
}
}
/**
* Set font buffer content.
* @param string $font font key
@ -12881,7 +12890,7 @@ if (!class_exists('TCPDF', false)) {
$this->fonts[$font][$key] = $data;
}
}
/**
* Get font buffer content.
* @param string $font font key
@ -12891,13 +12900,13 @@ if (!class_exists('TCPDF', false)) {
*/
protected function getFontBuffer($font) {
if ($this->diskcache AND isset($this->fonts[$font])) {
return unserialize($this->readDiskCache($this->fonts[$font]));
return unserialize($this->readDiskCache($this->fonts[$font]));
} elseif (isset($this->fonts[$font])) {
return $this->fonts[$font];
}
return false;
}
/**
* Move a page to a previous position.
* Use this method just before Output().
@ -13017,9 +13026,9 @@ if (!class_exists('TCPDF', false)) {
// adjust javascript
$tmpjavascript = $this->javascript;
global $jfrompage, $jtopage;
$jfrompage = $frompage;
$jfrompage = $frompage;
$jtopage = $topage;
$this->javascript = preg_replace_callback('/this\.addField\(\'([^\']*)\',\'([^\']*)\',([0-9]+)/',
$this->javascript = preg_replace_callback('/this\.addField\(\'([^\']*)\',\'([^\']*)\',([0-9]+)/',
create_function('$matches', 'global $jfrompage, $jtopage;
$pagenum = intval($matches[3]) + 1;
if (($pagenum >= $jtopage) AND ($pagenum < $jfrompage)) {
@ -13035,7 +13044,7 @@ if (!class_exists('TCPDF', false)) {
$this->lastPage(true);
return true;
}
/**
* Output a Table of Content Index (TOC).
* You can override this method to achieve different styles.
@ -13183,7 +13192,7 @@ if (!class_exists('TCPDF', false)) {
}
$this->SetFont($fontfamily, $fontstyle, $fontsize);
}
/**
* Stores a copy of the current TCPDF object.
* @access public
@ -13197,7 +13206,7 @@ if (!class_exists('TCPDF', false)) {
// clone current object
$this->objcopy = $this->objclone($this);
}
/**
* Delete the copy of the current TCPDF object
* @access public
@ -13209,7 +13218,7 @@ if (!class_exists('TCPDF', false)) {
unset($this->objcopy);
}
}
/**
* This method allows to encapsulate some TCPDF commands to be later commited or deleted.
* @param string $action the action to be taken. Legal values are 'start' = starts a new transaction; 'commit' = commit the latest transaction; 'rollback' = undo the latest transaction.
@ -13230,7 +13239,7 @@ if (!class_exists('TCPDF', false)) {
}
return $this;
}
/**
* Creates a copy of a class object
* @param object $object class object to be cloned