mirror of
https://github.com/vdm-io/tcpdf.git
synced 2024-11-25 22:07:33 +00:00
4.8.005
This commit is contained in:
parent
d7fd113acb
commit
fc98ce157e
@ -1,3 +1,6 @@
|
||||
4.8.005 (2009-09-17)
|
||||
- A bug relative to multiple transformations and annotations was fixed.
|
||||
|
||||
4.8.004 (2009-09-16)
|
||||
- A bug on _putannotsrefs() method was fixed.
|
||||
|
||||
|
@ -8,8 +8,8 @@ http://sourceforge.net/donate/index.php?group_id=128076
|
||||
------------------------------------------------------------
|
||||
|
||||
Name: TCPDF
|
||||
Version: 4.8.004
|
||||
Release date: 2009-09-16
|
||||
Version: 4.8.005
|
||||
Release date: 2009-09-17
|
||||
Author: Nicola Asuni
|
||||
|
||||
Copyright (c) 2001-2009:
|
||||
|
@ -45,7 +45,7 @@
|
||||
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1368,7 +1368,7 @@ $type)</code>
|
||||
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -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, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -507,7 +507,7 @@ Configuration file for TCPDF.<br /><br /><br /><br />
|
||||
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:19:04 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:36 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -88,7 +88,7 @@ Array of WEB safe colors.<br /><br /><br /><br />
|
||||
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:18:59 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -73,7 +73,7 @@ This is a PHP class for generating PDF documents without requiring external exte
|
||||
<td><b>author:</b> </td><td>Nicola Asuni</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>version:</b> </td><td>4.8.004</td>
|
||||
<td><b>version:</b> </td><td>4.8.005</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>copyright:</b> </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.004 (http://www.tcpdf.org)'</code>
|
||||
<code>PDF_PRODUCER = 'TCPDF 4.8.005 (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, 16 Sep 2009 18:18:59 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:30 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -237,7 +237,7 @@ Unicode Include file for TCPDF.<br /><br /><br /><br />
|
||||
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:19:04 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:36 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -1163,6 +1163,8 @@
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$tmprtl">TCPDF::$tmprtl</a></dd>
|
||||
<dt><b>$transfmatrix</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmatrix">TCPDF::$transfmatrix</a><br> Array of transformation matrix</dd>
|
||||
<dt><b>$transfmatrix_key</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmatrix_key">TCPDF::$transfmatrix_key</a><br> Current key for transformation matrix</dd>
|
||||
<dt><b>$transfmrk</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmrk">TCPDF::$transfmrk</a><br> Array used to store positions of graphics transformation blocks inside the page buffer.</dd>
|
||||
<dt><b>tcpdf_config.php</b></dt>
|
||||
@ -1434,7 +1436,7 @@
|
||||
<a href="elementindex.html#top">top</a><br>
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -1318,6 +1318,8 @@
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$tmprtl">TCPDF::$tmprtl</a></dd>
|
||||
<dt><b>$transfmatrix</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmatrix">TCPDF::$transfmatrix</a><br> Array of transformation matrix</dd>
|
||||
<dt><b>$transfmatrix_key</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmatrix_key">TCPDF::$transfmatrix_key</a><br> Current key for transformation matrix</dd>
|
||||
<dt><b>$transfmrk</b></dt>
|
||||
<dd>in file tcpdf.php, variable <a href="com-tecnick-tcpdf/TCPDF.html#var$transfmrk">TCPDF::$transfmrk</a><br> Array used to store positions of graphics transformation blocks inside the page buffer.</dd>
|
||||
<dt><b>tcpdf_config.php</b></dt>
|
||||
@ -1457,7 +1459,7 @@
|
||||
<a href="elementindex_com-tecnick-tcpdf.html#top">top</a><br>
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:28 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -35,7 +35,7 @@
|
||||
<a href="#Post-parsing">Post-parsing</a><br>
|
||||
<div class="credit">
|
||||
<hr />
|
||||
Documentation generated on Wed, 16 Sep 2009 18:19:05 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:36 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -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 Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
@ -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 Wed, 16 Sep 2009 18:18:58 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
Documentation generated on Thu, 17 Sep 2009 22:37:29 +0200 by <a href="http://www.phpdoc.org">phpDocumentor 1.4.1</a>
|
||||
</div>
|
||||
</td></tr></table>
|
||||
</td>
|
||||
|
102
tcpdf.php
102
tcpdf.php
@ -2,9 +2,9 @@
|
||||
//============================================================+
|
||||
// File name : tcpdf.php
|
||||
// Begin : 2002-08-03
|
||||
// Last Update : 2009-09-16
|
||||
// Last Update : 2009-09-17
|
||||
// Author : Nicola Asuni - info@tecnick.com - http://www.tcpdf.org
|
||||
// Version : 4.8.004
|
||||
// Version : 4.8.005
|
||||
// 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.004
|
||||
* @version 4.8.005
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -152,14 +152,14 @@ if (!class_exists('TCPDF', false)) {
|
||||
/**
|
||||
* define default PDF document producer
|
||||
*/
|
||||
define('PDF_PRODUCER', 'TCPDF 4.8.004 (http://www.tcpdf.org)');
|
||||
define('PDF_PRODUCER', 'TCPDF 4.8.005 (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.004
|
||||
* @version 4.8.005
|
||||
* @author Nicola Asuni - info@tecnick.com
|
||||
* @link http://www.tcpdf.org
|
||||
* @license http://www.gnu.org/copyleft/lesser.html LGPL
|
||||
@ -1084,7 +1084,14 @@ if (!class_exists('TCPDF', false)) {
|
||||
* @since 4.2.000 (2008-10-29)
|
||||
*/
|
||||
protected $transfmatrix = array();
|
||||
|
||||
|
||||
/**
|
||||
* Current key for transformation matrix
|
||||
* @access protected
|
||||
* @since 4.8.005 (2009-09-17)
|
||||
*/
|
||||
protected $transfmatrix_key = 0;
|
||||
|
||||
/**
|
||||
* Booklet mode for double-sided pages
|
||||
* @access protected
|
||||
@ -3416,41 +3423,43 @@ if (!class_exists('TCPDF', false)) {
|
||||
}
|
||||
// recalculate coordinates to account for graphic transformations
|
||||
if (isset($this->transfmatrix)) {
|
||||
$maxid = count($this->transfmatrix) - 1;
|
||||
for ($i=$maxid; $i >= 0; $i--) {
|
||||
$ctm = $this->transfmatrix[$i];
|
||||
if (isset($ctm['a'])) {
|
||||
$x = $x * $this->k;
|
||||
$y = ($this->h - $y) * $this->k;
|
||||
$w = $w * $this->k;
|
||||
$h = $h * $this->k;
|
||||
// top left
|
||||
$xt = $x;
|
||||
$yt = $y;
|
||||
$x1 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y1 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// top right
|
||||
$xt = $x + $w;
|
||||
$yt = $y;
|
||||
$x2 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y2 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// bottom left
|
||||
$xt = $x;
|
||||
$yt = $y - $h;
|
||||
$x3 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y3 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// bottom right
|
||||
$xt = $x + $w;
|
||||
$yt = $y - $h;
|
||||
$x4 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y4 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// new coordinates (rectangle area)
|
||||
$x = min($x1, $x2, $x3, $x4);
|
||||
$y = max($y1, $y2, $y3, $y4);
|
||||
$w = (max($x1, $x2, $x3, $x4) - $x) / $this->k;
|
||||
$h = ($y - min($y1, $y2, $y3, $y4)) / $this->k;
|
||||
$x = $x / $this->k;
|
||||
$y = $this->h - ($y / $this->k);
|
||||
for ($i=$this->transfmatrix_key; $i > 0; --$i) {
|
||||
$maxid = count($this->transfmatrix[$i]) - 1;
|
||||
for ($j=$maxid; $j >= 0; --$j) {
|
||||
$ctm = $this->transfmatrix[$i][$j];
|
||||
if (isset($ctm['a'])) {
|
||||
$x = $x * $this->k;
|
||||
$y = ($this->h - $y) * $this->k;
|
||||
$w = $w * $this->k;
|
||||
$h = $h * $this->k;
|
||||
// top left
|
||||
$xt = $x;
|
||||
$yt = $y;
|
||||
$x1 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y1 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// top right
|
||||
$xt = $x + $w;
|
||||
$yt = $y;
|
||||
$x2 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y2 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// bottom left
|
||||
$xt = $x;
|
||||
$yt = $y - $h;
|
||||
$x3 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y3 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// bottom right
|
||||
$xt = $x + $w;
|
||||
$yt = $y - $h;
|
||||
$x4 = ($ctm['a'] * $xt) + ($ctm['c'] * $yt) + $ctm['e'];
|
||||
$y4 = ($ctm['b'] * $xt) + ($ctm['d'] * $yt) + $ctm['f'];
|
||||
// new coordinates (rectangle area)
|
||||
$x = min($x1, $x2, $x3, $x4);
|
||||
$y = max($y1, $y2, $y3, $y4);
|
||||
$w = (max($x1, $x2, $x3, $x4) - $x) / $this->k;
|
||||
$h = ($y - min($y1, $y2, $y3, $y4)) / $this->k;
|
||||
$x = $x / $this->k;
|
||||
$y = $this->h - ($y / $this->k);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -7918,6 +7927,8 @@ if (!class_exists('TCPDF', false)) {
|
||||
public function StartTransform() {
|
||||
$this->_out('q');
|
||||
$this->transfmrk[$this->page][] = $this->pagelen[$this->page];
|
||||
++$this->transfmatrix_key;
|
||||
$this->transfmatrix[$this->transfmatrix_key] = array();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -7930,8 +7941,9 @@ if (!class_exists('TCPDF', false)) {
|
||||
*/
|
||||
public function StopTransform() {
|
||||
$this->_out('Q');
|
||||
if (isset($this->transfmatrix)) {
|
||||
array_pop($this->transfmatrix);
|
||||
if (isset($this->transfmatrix[$this->transfmatrix_key])) {
|
||||
array_pop($this->transfmatrix[$this->transfmatrix_key]);
|
||||
--$this->transfmatrix_key;
|
||||
}
|
||||
array_pop($this->transfmrk[$this->page]);
|
||||
}
|
||||
@ -8209,8 +8221,8 @@ if (!class_exists('TCPDF', false)) {
|
||||
*/
|
||||
protected function Transform($tm) {
|
||||
$this->_out(sprintf('%.3F %.3F %.3F %.3F %.3F %.3F cm', $tm[0], $tm[1], $tm[2], $tm[3], $tm[4], $tm[5]));
|
||||
// store transformation matrix
|
||||
$this->transfmatrix[] = array('a' => $tm[0], 'b' => $tm[1], 'c' => $tm[2], 'd' => $tm[3], 'e' => $tm[4], 'f' => $tm[5]);
|
||||
// add tranformation matrix
|
||||
$this->transfmatrix[$this->transfmatrix_key][] = array('a' => $tm[0], 'b' => $tm[1], 'c' => $tm[2], 'd' => $tm[3], 'e' => $tm[4], 'f' => $tm[5]);
|
||||
// update tranformation mark
|
||||
if (end($this->transfmrk[$this->page]) !== false) {
|
||||
$key = key($this->transfmrk[$this->page]);
|
||||
|
Loading…
Reference in New Issue
Block a user