30
1
mirror of https://github.com/vdm-io/tcpdf.git synced 2024-05-31 21:30:47 +00:00
This commit is contained in:
nicolaasuni 2009-11-20 18:42:44 +01:00
parent a49d4abb6c
commit 39e77b703d
16 changed files with 167 additions and 124 deletions

View File

@ -1,3 +1,8 @@
4.8.015 (2009-11-20)
- A problem with some PNG transparency images was fixed.
- Bug #2900762 "Sort issues in Bookmarks" was fixed.
- Text justification was fixed for various modes: underline, strikeout and background.
4.8.014 (2009-11-04)
- Bug item #2891316 "writeHTML, underlining replacing spaces" was fixed.
- The handling of temporary RTL text direction mode was fixed.

View File

@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076
------------------------------------------------------------
Name: TCPDF
Version: 4.8.014
Release date: 2009-11-04
Version: 4.8.015
Release date: 2009-11-20
Author: Nicola Asuni
Copyright (c) 2001-2009:

View File

@ -45,7 +45,7 @@
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>

View File

@ -74,7 +74,7 @@ Source Location: /tcpdf.php<br /><br />
<h4>Version:</h4>
<ul>
<li>4.8.014</li>
<li>4.8.015</li>
</ul>
@ -629,7 +629,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.8.014</td>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.8.015</td>
</tr>
<tr>
<td><b>link:</b>&nbsp;&nbsp;</td><td><a href="http://www.tcpdf.org">http://www.tcpdf.org</a></td>
@ -6252,7 +6252,7 @@ $style = -1])</code>
</div>
<hr />
<a name="methodaddHTMLVertSpace"></a>
<h3>method addHTMLVertSpace <span class="smalllinenumber">[line 14883]</span></h3>
<h3>method addHTMLVertSpace <span class="smalllinenumber">[line 14921]</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">
@ -6505,7 +6505,7 @@ $k)</code>
</div>
<hr />
<a name="methodaddTOC"></a>
<h3>method addTOC <span class="smalllinenumber">[line 15906]</span></h3>
<h3>method addTOC <span class="smalllinenumber">[line 15944]</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">
@ -7445,7 +7445,7 @@ $h)</code>
</div>
<hr />
<a name="methodcloseHTMLTagHandler"></a>
<h3>method closeHTMLTagHandler <span class="smalllinenumber">[line 14546]</span></h3>
<h3>method closeHTMLTagHandler <span class="smalllinenumber">[line 14584]</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">
@ -7583,7 +7583,7 @@ $js = false])</code>
</div>
<hr />
<a name="methodcommitTransaction"></a>
<h3>method commitTransaction <span class="smalllinenumber">[line 16065]</span></h3>
<h3>method commitTransaction <span class="smalllinenumber">[line 16103]</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">
@ -7854,7 +7854,7 @@ $fill_color = array()])</code>
</div>
<hr />
<a name="methoddeletePage"></a>
<h3>method deletePage <span class="smalllinenumber">[line 15765]</span></h3>
<h3>method deletePage <span class="smalllinenumber">[line 15803]</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">
@ -8013,7 +8013,7 @@ $afinish:)</code>
</div>
<hr />
<a name="methodempty_string"></a>
<h3>method empty_string <span class="smalllinenumber">[line 16119]</span></h3>
<h3>method empty_string <span class="smalllinenumber">[line 16157]</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">
@ -8547,7 +8547,7 @@ $pagenum = ''])</code>
</div>
<hr />
<a name="methodgetBuffer"></a>
<h3>method getBuffer <span class="smalllinenumber">[line 15451]</span></h3>
<h3>method getBuffer <span class="smalllinenumber">[line 15489]</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">
@ -8744,7 +8744,7 @@ $char)</code>
</div>
<hr />
<a name="methodgetFontBuffer"></a>
<h3>method getFontBuffer <span class="smalllinenumber">[line 15611]</span></h3>
<h3>method getFontBuffer <span class="smalllinenumber">[line 15649]</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">
@ -9058,7 +9058,7 @@ $v)</code>
</div>
<hr />
<a name="methodgetGraphicVars"></a>
<h3>method getGraphicVars <span class="smalllinenumber">[line 15319]</span></h3>
<h3>method getGraphicVars <span class="smalllinenumber">[line 15357]</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">
@ -9268,7 +9268,7 @@ $html)</code>
</div>
<hr />
<a name="methodgetHTMLUnitToUnits"></a>
<h3>method getHTMLUnitToUnits <span class="smalllinenumber">[line 15038]</span></h3>
<h3>method getHTMLUnitToUnits <span class="smalllinenumber">[line 15076]</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">
@ -9334,7 +9334,7 @@ $point)</code>
</div>
<hr />
<a name="methodgetImageBuffer"></a>
<h3>method getImageBuffer <span class="smalllinenumber">[line 15553]</span></h3>
<h3>method getImageBuffer <span class="smalllinenumber">[line 15591]</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">
@ -9680,7 +9680,7 @@ $w = 0])</code>
</div>
<hr />
<a name="methodgetObjFilename"></a>
<h3>method getObjFilename <span class="smalllinenumber">[line 15383]</span></h3>
<h3>method getObjFilename <span class="smalllinenumber">[line 15421]</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">
@ -9790,7 +9790,7 @@ $prefix)</code>
</div>
<hr />
<a name="methodgetPageBuffer"></a>
<h3>method getPageBuffer <span class="smalllinenumber">[line 15494]</span></h3>
<h3>method getPageBuffer <span class="smalllinenumber">[line 15532]</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">
@ -10748,7 +10748,7 @@ $script)</code>
</div>
<hr />
<a name="methodintToRoman"></a>
<h3>method intToRoman <span class="smalllinenumber">[line 15112]</span></h3>
<h3>method intToRoman <span class="smalllinenumber">[line 15150]</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">
@ -11394,7 +11394,7 @@ $y = ''])</code>
</div>
<hr />
<a name="methodmovePage"></a>
<h3>method movePage <span class="smalllinenumber">[line 15628]</span></h3>
<h3>method movePage <span class="smalllinenumber">[line 15666]</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">
@ -11568,7 +11568,7 @@ $maxh = 0])</code>
</div>
<hr />
<a name="methodobjclone"></a>
<h3>method objclone <span class="smalllinenumber">[line 16108]</span></h3>
<h3>method objclone <span class="smalllinenumber">[line 16146]</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">
@ -11641,7 +11641,7 @@ $object)</code>
</div>
<hr />
<a name="methodopenHTMLTagHandler"></a>
<h3>method openHTMLTagHandler <span class="smalllinenumber">[line 14009]</span></h3>
<h3>method openHTMLTagHandler <span class="smalllinenumber">[line 14047]</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">
@ -12150,7 +12150,7 @@ $closed)</code>
</div>
<hr />
<a name="methodputHtmlListBullet"></a>
<h3>method putHtmlListBullet <span class="smalllinenumber">[line 15177]</span></h3>
<h3>method putHtmlListBullet <span class="smalllinenumber">[line 15215]</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">
@ -12363,7 +12363,7 @@ $js = false])</code>
</div>
<hr />
<a name="methodreadDiskCache"></a>
<h3>method readDiskCache <span class="smalllinenumber">[line 15423]</span></h3>
<h3>method readDiskCache <span class="smalllinenumber">[line 15461]</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">
@ -12693,7 +12693,7 @@ $length)</code>
</div>
<hr />
<a name="methodrollbackTransaction"></a>
<h3>method rollbackTransaction <span class="smalllinenumber">[line 16079]</span></h3>
<h3>method rollbackTransaction <span class="smalllinenumber">[line 16117]</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">
@ -13266,7 +13266,7 @@ $bc = ''])</code>
</div>
<hr />
<a name="methodSetBooklet"></a>
<h3>method SetBooklet <span class="smalllinenumber">[line 14952]</span></h3>
<h3>method SetBooklet <span class="smalllinenumber">[line 14990]</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">
@ -13317,7 +13317,7 @@ $outer = -1])</code>
</div>
<hr />
<a name="methodsetBuffer"></a>
<h3>method setBuffer <span class="smalllinenumber">[line 15433]</span></h3>
<h3>method setBuffer <span class="smalllinenumber">[line 15471]</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">
@ -14076,7 +14076,7 @@ $fontfile = ''])</code>
</div>
<hr />
<a name="methodsetFontBuffer"></a>
<h3>method setFontBuffer <span class="smalllinenumber">[line 15569]</span></h3>
<h3>method setFontBuffer <span class="smalllinenumber">[line 15607]</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">
@ -14163,7 +14163,7 @@ $size)</code>
</div>
<hr />
<a name="methodsetFontSubBuffer"></a>
<h3>method setFontSubBuffer <span class="smalllinenumber">[line 15591]</span></h3>
<h3>method setFontSubBuffer <span class="smalllinenumber">[line 15629]</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">
@ -14353,7 +14353,7 @@ $prop = array()])</code>
</div>
<hr />
<a name="methodsetGraphicVars"></a>
<h3>method setGraphicVars <span class="smalllinenumber">[line 15350]</span></h3>
<h3>method setGraphicVars <span class="smalllinenumber">[line 15388]</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">
@ -14549,7 +14549,7 @@ $hm = 10])</code>
</div>
<hr />
<a name="methodsetHtmlLinksStyle"></a>
<h3>method setHtmlLinksStyle <span class="smalllinenumber">[line 15023]</span></h3>
<h3>method setHtmlLinksStyle <span class="smalllinenumber">[line 15061]</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">
@ -14594,7 +14594,7 @@ $fontstyle = 'U'])</code>
</div>
<hr />
<a name="methodsetHtmlVSpace"></a>
<h3>method setHtmlVSpace <span class="smalllinenumber">[line 14992]</span></h3>
<h3>method setHtmlVSpace <span class="smalllinenumber">[line 15030]</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">
@ -14633,7 +14633,7 @@ $tagvs)</code>
</div>
<hr />
<a name="methodsetImageBuffer"></a>
<h3>method setImageBuffer <span class="smalllinenumber">[line 15510]</span></h3>
<h3>method setImageBuffer <span class="smalllinenumber">[line 15548]</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">
@ -14720,7 +14720,7 @@ $scale)</code>
</div>
<hr />
<a name="methodsetImageSubBuffer"></a>
<h3>method setImageSubBuffer <span class="smalllinenumber">[line 15533]</span></h3>
<h3>method setImageSubBuffer <span class="smalllinenumber">[line 15571]</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">
@ -15114,7 +15114,7 @@ $page = -1])</code>
</div>
<hr />
<a name="methodsetListIndentWidth"></a>
<h3>method setListIndentWidth <span class="smalllinenumber">[line 15002]</span></h3>
<h3>method setListIndentWidth <span class="smalllinenumber">[line 15040]</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">
@ -15153,7 +15153,7 @@ $width)</code>
</div>
<hr />
<a name="methodsetLIsymbol"></a>
<h3>method setLIsymbol <span class="smalllinenumber">[line 14912]</span></h3>
<h3>method setLIsymbol <span class="smalllinenumber">[line 14950]</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">
@ -15246,7 +15246,7 @@ $right = -1])</code>
</div>
<hr />
<a name="methodsetOpenCell"></a>
<h3>method setOpenCell <span class="smalllinenumber">[line 15012]</span></h3>
<h3>method setOpenCell <span class="smalllinenumber">[line 15050]</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">
@ -15333,7 +15333,7 @@ $resetmargins = false])</code>
</div>
<hr />
<a name="methodsetPageBuffer"></a>
<h3>method setPageBuffer <span class="smalllinenumber">[line 15467]</span></h3>
<h3>method setPageBuffer <span class="smalllinenumber">[line 15505]</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">
@ -16935,7 +16935,7 @@ $page = ''])</code>
</div>
<hr />
<a name="methodstartTransaction"></a>
<h3>method startTransaction <span class="smalllinenumber">[line 16049]</span></h3>
<h3>method startTransaction <span class="smalllinenumber">[line 16087]</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">
@ -17025,7 +17025,7 @@ $page = ''])</code>
</div>
<hr />
<a name="methodswapMargins"></a>
<h3>method swapMargins <span class="smalllinenumber">[line 14968]</span></h3>
<h3>method swapMargins <span class="smalllinenumber">[line 15006]</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">
@ -18243,7 +18243,7 @@ $code)</code>
</div>
<hr />
<a name="methodwriteDiskCache"></a>
<h3>method writeDiskCache <span class="smalllinenumber">[line 15395]</span></h3>
<h3>method writeDiskCache <span class="smalllinenumber">[line 15433]</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">
@ -20764,7 +20764,7 @@ $file)</code>
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>

View File

@ -1368,7 +1368,7 @@ $type)</code>
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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 Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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 Wed, 04 Nov 2009 09:57:46 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:36 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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 Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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.8.014</td>
<td><b>version:</b>&nbsp;&nbsp;</td><td>4.8.015</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.8.014 (http://www.tcpdf.org)'</code>
<code>PDF_PRODUCER = 'TCPDF 4.8.015 (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 Wed, 04 Nov 2009 09:57:40 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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 Wed, 04 Nov 2009 09:57:46 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:36 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>

View File

@ -1446,7 +1446,7 @@
<a href="elementindex.html#top">top</a><br>
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:39 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:28 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>

View File

@ -1469,7 +1469,7 @@
<a href="elementindex_com-tecnick-tcpdf.html#top">top</a><br>
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:39 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:28 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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 Wed, 04 Nov 2009 09:57:46 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:36 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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.3</a><br />
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:39 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</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.3</a><br />
<div class="credit">
<hr />
Documentation generated on Wed, 04 Nov 2009 09:57:39 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
Documentation generated on Fri, 20 Nov 2009 18:42:29 +0100 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.3</a>
</div>
</td></tr></table>
</td>

176
tcpdf.php
View File

@ -2,9 +2,9 @@
//============================================================+
// File name : tcpdf.php
// Begin : 2002-08-03
// Last Update : 2009-11-04
// Last Update : 2009-11-20
// Author : Nicola Asuni - info@tecnick.com - http://www.tcpdf.org
// Version : 4.8.014
// Version : 4.8.015
// License : GNU LGPL (http://www.gnu.org/copyleft/lesser.html)
// ----------------------------------------------------------------------------
// Copyright (C) 2002-2009 Nicola Asuni - Tecnick.com S.r.l.
@ -128,7 +128,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.8.014
* @version 4.8.015
*/
/**
@ -152,14 +152,14 @@ if (!class_exists('TCPDF', false)) {
/**
* define default PDF document producer
*/
define('PDF_PRODUCER', 'TCPDF 4.8.014 (http://www.tcpdf.org)');
define('PDF_PRODUCER', 'TCPDF 4.8.015 (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.8.014
* @version 4.8.015
* @author Nicola Asuni - info@tecnick.com
* @link http://www.tcpdf.org
* @license http://www.gnu.org/copyleft/lesser.html LGPL
@ -3737,7 +3737,8 @@ if (!class_exists('TCPDF', false)) {
$w = $this->w - $this->rMargin - $this->x;
}
}
$s = '';
$s = '';
// fill and borders
if (($fill == 1) OR ($border == 1)) {
if ($fill == 1) {
$op = ($border == 1) ? 'B' : 'f';
@ -3821,38 +3822,10 @@ if (!class_exists('TCPDF', false)) {
} else {
$stretch == 0;
}
if ($align == 'L') {
if ($this->rtl) {
$dx = $w - $width - $this->cMargin;
} else {
$dx = $this->cMargin;
}
} elseif ($align == 'R') {
if ($this->rtl) {
$dx = $this->cMargin;
} else {
$dx = $w - $width - $this->cMargin;
}
} elseif ($align == 'C') {
$dx = ($w - $width) / 2;
} elseif ($align == 'J') {
if ($this->rtl) {
$dx = $w - $width - $this->cMargin;
} else {
$dx = $this->cMargin;
}
} else {
$dx = $this->cMargin;
}
if ($this->ColorFlag) {
$s .= 'q '.$this->TextColor.' ';
}
$txt2 = $this->_escapetext($txt);
if ($this->rtl) {
$xdk = ($this->x - $dx - $width) * $k;
} else {
$xdk = ($this->x + $dx) * $k;
}
// Justification
if ($align == 'J') {
// count number of spaces
@ -3870,17 +3843,44 @@ if (!class_exists('TCPDF', false)) {
$spacewidth = (($w - $width - (2 * $this->cMargin)) / ($ns?$ns:1)) * $this->k;
$rs .= sprintf('BT %.3F Tw ET ', $spacewidth);
}
$width = $w - (2 * $this->cMargin);
}
switch ($align) {
case 'C': {
$dx = ($w - $width) / 2;
break;
}
case 'R': {
if ($this->rtl) {
$dx = $this->cMargin;
} else {
$dx = $w - $width - $this->cMargin;
}
break;
}
case 'L':
case 'J':
default: {
if ($this->rtl) {
$dx = $w - $width - $this->cMargin;
} else {
$dx = $this->cMargin;
}
break;
}
}
if ($this->rtl) {
$xdx = $this->x - $dx - $width;
} else {
$xdx = $this->x + $dx;
}
$xdk = $xdx * $k;
// calculate approximate position of the font base line
//$basefonty = $this->y + (($h + $this->FontAscent - $this->FontDescent)/2);
$basefonty = $this->y + ($h/2) + ($this->FontSize/3);
// print text
$s .= sprintf('BT %.2F %.2F Td [(%s)] TJ ET', $xdk, (($this->h - $basefonty) * $k), $txt2);
if ($this->rtl) {
$xdx = $this->x - $dx - $width;
} else {
$xdx = $this->x + $dx;
}
if ($this->underline) {
$s .= ' '.$this->_dounderlinew($xdx, $basefonty, $width);
}
@ -5885,7 +5885,7 @@ if (!class_exists('TCPDF', false)) {
$annots .= ' /S /S';
}
if (isset($pl['opt']['be']['i']) AND ($pl['opt']['be']['i'] >= 0) AND ($pl['opt']['be']['i'] <= 2)) {
$annots .= ' /I '.sprintf(" %.4F", $pl['opt']['be']['i']);
$annots .= ' /I '.sprintf(' %.4F', $pl['opt']['be']['i']);
}
$annots .= '>>';
}
@ -5894,7 +5894,7 @@ if (!class_exists('TCPDF', false)) {
foreach ($pl['opt']['c'] as $col) {
$col = intval($col);
$color = $col <= 0 ? 0 : ($col >= 255 ? 1 : $col / 255);
$annots .= sprintf(" %.4F", $color);
$annots .= sprintf(' %.4F', $color);
}
$annots .= ']';
}
@ -5908,7 +5908,7 @@ if (!class_exists('TCPDF', false)) {
}
//$annots .= ' /Popup ';
if (isset($pl['opt']['ca'])) {
$annots .= ' /CA '.sprintf("%.4F", floatval($pl['opt']['ca']));
$annots .= ' /CA '.sprintf('%.4F', floatval($pl['opt']['ca']));
}
if (isset($pl['opt']['rc'])) {
$annots .= ' /RC '.$this->_textstring($pl['opt']['rc']);
@ -5992,7 +5992,7 @@ if (!class_exists('TCPDF', false)) {
if (isset($pl['opt']['cl']) AND is_array($pl['opt']['cl'])) {
$annots .= ' /CL [';
foreach ($pl['opt']['cl'] as $cl) {
$annots .= sprintf("%.4F ", $cl * $this->k);
$annots .= sprintf('%.4F ', $cl * $this->k);
}
$annots .= ']';
}
@ -6733,7 +6733,7 @@ if (!class_exists('TCPDF', false)) {
$this->_out('/Subtype /Image');
$this->_out('/Width '.$info['w']);
$this->_out('/Height '.$info['h']);
if (isset($info['masked'])) {
if (array_key_exists('masked', $info)) {
$this->_out('/SMask '.($this->n - 1).' 0 R');
}
if ($info['cs'] == 'Indexed') {
@ -8411,13 +8411,13 @@ if (!class_exists('TCPDF', false)) {
if ($i) {
$dash_string .= ' ';
}
$dash_string .= sprintf("%.2F", $v);
$dash_string .= sprintf('%.2F', $v);
}
}
if (!isset($phase) OR !$dash) {
$phase = 0;
}
$this->linestyleDash = sprintf("[%s] %.2F d", $dash_string, $phase);
$this->linestyleDash = sprintf('[%s] %.2F d', $dash_string, $phase);
$this->_out($this->linestyleDash);
}
if (isset($color)) {
@ -8436,7 +8436,7 @@ if (!class_exists('TCPDF', false)) {
if ($this->rtl) {
$x = $this->w - $x;
}
$this->_out(sprintf("%.2F %.2F m", $x * $this->k, ($this->h - $y) * $this->k));
$this->_out(sprintf('%.2F %.2F m', $x * $this->k, ($this->h - $y) * $this->k));
}
/*
@ -8450,7 +8450,7 @@ if (!class_exists('TCPDF', false)) {
if ($this->rtl) {
$x = $this->w - $x;
}
$this->_out(sprintf("%.2F %.2F l", $x * $this->k, ($this->h - $y) * $this->k));
$this->_out(sprintf('%.2F %.2F l', $x * $this->k, ($this->h - $y) * $this->k));
}
/**
@ -8467,7 +8467,7 @@ if (!class_exists('TCPDF', false)) {
if ($this->rtl) {
$x = $this->w - $x - $w;
}
$this->_out(sprintf('%.2F %.2F %.2F %.2F re %s', $x*$this->k, ($this->h-$y)*$this->k, $w*$this->k, -$h*$this->k, $op));
$this->_out(sprintf('%.2F %.2F %.2F %.2F re %s', $x * $this->k, ($this->h - $y) * $this->k, $w * $this->k, -$h * $this->k, $op));
}
/*
@ -8488,7 +8488,7 @@ if (!class_exists('TCPDF', false)) {
$x2 = $this->w - $x2;
$x3 = $this->w - $x3;
}
$this->_out(sprintf("%.2F %.2F %.2F %.2F %.2F %.2F c", $x1 * $this->k, ($this->h - $y1) * $this->k, $x2 * $this->k, ($this->h - $y2) * $this->k, $x3 * $this->k, ($this->h - $y3) * $this->k));
$this->_out(sprintf('%.2F %.2F %.2F %.2F %.2F %.2F c', $x1 * $this->k, ($this->h - $y1) * $this->k, $x2 * $this->k, ($this->h - $y2) * $this->k, $x3 * $this->k, ($this->h - $y3) * $this->k));
}
/**
@ -9908,10 +9908,10 @@ if (!class_exists('TCPDF', false)) {
$outline_y = array();
foreach ($this->outlines as $key => $row) {
$outline_p[$key] = $row['p'];
$outline_y[$key] = $row['p'];
$outline_k[$key] = $key;
}
// sort outlines by page and y position
array_multisort($outline_p, SORT_NUMERIC, SORT_ASC, $outline_y, SORT_NUMERIC, SORT_ASC, $this->outlines);
// sort outlines by page and original position
array_multisort($outline_p, SORT_NUMERIC, SORT_ASC, $outline_k, SORT_NUMERIC, SORT_ASC, $this->outlines);
$lru = array();
$level = 0;
foreach ($this->outlines as $i => $o) {
@ -13382,6 +13382,7 @@ if (!class_exists('TCPDF', false)) {
if ($this->isRTLTextDir()) {
$t_x = $this->lMargin - $this->endlinex;
}
$one_space_width = $this->GetStringWidth(chr(32));
$no = 0;
$ns = 0;
$pmidtemp = $pmid;
@ -13404,15 +13405,20 @@ if (!class_exists('TCPDF', false)) {
} else {
$tvalue = $lnstring[1][$kk];
}
// count spaces on line
$no += substr_count($lnstring[1][$kk], chr(32));
$ns += substr_count($tvalue, chr(32));
// store number of spaces on the strings
$lnstring[2][$kk] = substr_count($lnstring[1][$kk], chr(32));
$lnstring[3][$kk] = substr_count($tvalue, chr(32));
// count total spaces on line
$no += $lnstring[2][$kk];
$ns += $lnstring[3][$kk];
$lnstring[4][$kk] = $no;
$lnstring[5][$kk] = $ns;
}
if ($this->isRTLTextDir()) {
$t_x = $this->lMargin - $this->endlinex - (($no - $ns - 1) * $this->GetStringWidth(chr(32)));
$t_x = $this->lMargin - $this->endlinex - (($no - $ns - 1) * $one_space_width);
}
// calculate additional space to add to each space
$spacelen = $this->GetStringWidth(chr(32));
$spacelen = $one_space_width;
$spacewidth = (($tw - $linew + (($no - $ns) * $spacelen)) / ($ns?$ns:1)) * $this->k;
$spacewidthu = -1000 * ($tw - $linew + ($no * $spacelen)) / ($ns?$ns:1) / $this->FontSize;
$nsmax = $ns;
@ -13421,6 +13427,10 @@ if (!class_exists('TCPDF', false)) {
$offset = 0;
$strcount = 0;
$prev_epsposbeg = 0;
$textpos = 0;
if ($this->isRTLTextDir()) {
$textpos = $this->wPt;
}
global $spacew;
while (preg_match('/([0-9\.\+\-]*)[\s](Td|cm|m|l|c|re)[\s]/x', $pmid, $strpiece, PREG_OFFSET_CAPTURE, $offset) == 1) {
// check if we are inside a string section '[( ... )]'
@ -13467,6 +13477,7 @@ if (!class_exists('TCPDF', false)) {
// get current X position
preg_match('/([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s]('.$strpiece[2][0].')([\s]*)/x', $pmid, $xmatches);
$currentxpos = $xmatches[1];
$textpos = $currentxpos;
if (($strcount <= $maxkk) AND ($strpiece[2][0] == 'Td')) {
if ($strcount == $maxkk) {
if ($this->isRTLTextDir()) {
@ -13491,22 +13502,49 @@ if (!class_exists('TCPDF', false)) {
break;
}
case 're': {
// get current X position
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;
$newx = sprintf("%.2F",(floatval($matches[1]) + $spacew));
return "".$newx." ".$matches[2]." ".$matches[3]." ".$matches[4]." x*#!#*x".$matches[5].$matches[6];'), $pmid, 1);
preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s](re)([\s]*)/x', $pmid, $xmatches);
$currentxpos = $xmatches[1];
$x_diff = 0;
$w_diff = 0;
if ($this->isRTLTextDir()) { // RTL
if ($currentxpos < $textpos) {
$x_diff = ($spacewidth * ($nsmax - $lnstring[5][$strcount]));
$w_diff = ($spacewidth * $lnstring[3][$strcount]);
} else {
if ($strcount > 0) {
$x_diff = ($spacewidth * ($nsmax - $lnstring[5][($strcount - 1)]));
$w_diff = ($spacewidth * $lnstring[3][($strcount - 1)]);
}
}
} else { // LTR
if ($currentxpos > $textpos) {
if ($strcount > 0) {
$x_diff = ($spacewidth * $lnstring[4][($strcount - 1)]);
}
$w_diff = ($spacewidth * $lnstring[3][$strcount]);
} else {
if ($strcount > 1) {
$x_diff = ($spacewidth * $lnstring[4][($strcount - 2)]);
}
if ($strcount > 0) {
$w_diff = ($spacewidth * $lnstring[3][($strcount - 1)]);
}
}
}
$pmid = preg_replace_callback('/('.$xmatches[1].')[\s]('.$xmatches[2].')[\s]('.$xmatches[3].')[\s]('.$strpiece[1][0].')[\s](re)([\s]*)/x',
create_function('$matches', '
$newx = sprintf("%.2F",(floatval($matches[1]) + '.$x_diff.'));
$neww = sprintf("%.2F",(floatval($matches[3]) + '.$w_diff.'));
return "".$newx." ".$matches[2]." ".$neww." ".$matches[4]." x*#!#*x".$matches[5].$matches[6];'), $pmid, 1);
break;
}
case 'c': {
// get current X position
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);
preg_match('/([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]([0-9\.\+\-]*)[\s]('.$strpiece[1][0].')[\s](c)([\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',
$pmid = preg_replace_callback('/('.$xmatches[1].')[\s]('.$xmatches[2].')[\s]('.$xmatches[3].')[\s]('.$xmatches[4].')[\s]('.$xmatches[5].')[\s]('.$strpiece[1][0].')[\s](c)([\s]*)/x',
create_function('$matches', 'global $spacew;
$newx1 = sprintf("%.3F",(floatval($matches[1]) + $spacew));
$newx2 = sprintf("%.3F",(floatval($matches[3]) + $spacew));
@ -13544,7 +13582,7 @@ if (!class_exists('TCPDF', false)) {
$endlinepos = strlen($pstart."\n".$pmid."\n");
} else {
// non-unicode (single-byte characters)
$rs = sprintf("%.3F Tw", $spacewidth);
$rs = sprintf('%.3F Tw', $spacewidth);
$pmid = preg_replace("/\[\(/x", $rs.' [(', $pmid);
$this->setPageBuffer($startlinepage, $pstart."\n".$pmid."\nBT 0 Tw ET\n".$pend);
$endlinepos = strlen($pstart."\n".$pmid."\nBT 0 Tw ET\n");
@ -15231,7 +15269,7 @@ if (!class_exists('TCPDF', false)) {
break;
}
case 'decimal-leading-zero': {
$textitem = sprintf("%02d", $this->listcount[$this->listnum]);
$textitem = sprintf('%02d', $this->listcount[$this->listnum]);
break;
}
case 'i':