Bump TCPDF from 6.10.0 to 6.10.1

This commit is contained in:
johnnyq 2025-11-28 17:34:16 -05:00
parent cc92a4b7ee
commit 0f8a8d1464
5 changed files with 29 additions and 20 deletions

View File

@ -1,3 +1,11 @@
6.10.1 (2025-11-21)
- cI: Add 8.5 to CI matrix - PR #836
- Fix PHP 8.5 deprecation for xml_parser_free - PR #835
- Fix bad text-align from HTML source - PR #833
- Fix image on footer problems - PR #823
- Preserving percentage gradient decimals and correctly clamp coordinates - PR #815
- Enables compression for PDF/A - PR #820
6.10.0 (2025-05-27)
- Embedded files support (Factur-X 1.07 / ZUGFeRD 2.3) #789

View File

@ -1 +1 @@
6.10.0
6.10.1

View File

@ -12,7 +12,7 @@
"barcodes"
],
"homepage": "http://www.tcpdf.org/",
"version": "6.10.0",
"version": "6.10.1",
"license": "LGPL-3.0-or-later",
"authors": [
{

View File

@ -55,7 +55,7 @@ class TCPDF_STATIC {
* Current TCPDF version.
* @private static
*/
private static $tcpdf_version = '6.10.0';
private static $tcpdf_version = '6.10.1';
/**
* String alias for total number of pages.

View File

@ -1,9 +1,9 @@
<?php
//============================================================+
// File name : tcpdf.php
// Version : 6.10.0
// Version : 6.10.1
// Begin : 2002-08-03
// Last Update : 2025-05-27
// Last Update : 2025-11-21
// Author : Nicola Asuni - Tecnick.com LTD - www.tecnick.com - info@tecnick.com
// License : GNU-LGPL v3 (http://www.gnu.org/copyleft/lesser.html)
// -------------------------------------------------------------------
@ -104,7 +104,7 @@
* Tools to encode your unicode fonts are on fonts/utils directory.</p>
* @package com.tecnick.tcpdf
* @author Nicola Asuni
* @version 6.10.0
* @version 6.10.1
*/
// TCPDF configuration
@ -128,7 +128,7 @@ require_once(dirname(__FILE__).'/include/tcpdf_static.php');
* 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>
* @package com.tecnick.tcpdf
* @brief PHP class for generating PDF documents without requiring external extensions.
* @version 6.10.0
* @version 6.10.1
* @author Nicola Asuni - info@tecnick.com
* @IgnoreAnnotation("protected")
* @IgnoreAnnotation("public")
@ -2910,12 +2910,10 @@ class TCPDF {
$this->compress = false;
if (function_exists('gzcompress')) {
if ($compress) {
if ( !$this->pdfa_mode) {
$this->compress = true;
}
}
}
}
/**
* Set flag to force sRGB_IEC61966-2.1 black scaled ICC color profile for the whole document.
@ -5001,11 +4999,10 @@ class TCPDF {
$filter = '';
if ($this->compress) {
$data = gzcompress($data);
$filter = ' /Filter /FlateDecode';
$filter .= ' /Filter /FlateDecode';
}
if ($this->pdfa_version == 3) {
$filter = ' /Subtype /text#2Fxml';
$filter .= ' /Subtype /text#2Fxml';
}
$stream = $this->_getrawstream($data, $filedata['n']);
@ -6925,8 +6922,8 @@ class TCPDF {
// fallback to avoid division by zero
$h = $h == 0 ? 1 : $h;
$ratio_wh = ($w / $h);
if (($y + $h) > $this->PageBreakTrigger) {
$h = $this->PageBreakTrigger - $y;
if (($y + $h) > $this->PageBreakTrigger + $this->bMargin) {
$h = $this->PageBreakTrigger + $this->bMargin - $y;
$w = ($h * $ratio_wh);
}
if ((!$this->rtl) AND (($x + $w) > ($this->w - $this->rMargin))) {
@ -16918,7 +16915,7 @@ class TCPDF {
$dom[$key]['height'] = $dom[$key]['style']['height'];
}
// check for text alignment
if (isset($dom[$key]['style']['text-align'])) {
if (isset($dom[$key]['style']['text-align'][0])) {
$dom[$key]['align'] = strtoupper($dom[$key]['style']['text-align'][0]);
}
// check for CSS border properties
@ -23268,8 +23265,11 @@ class TCPDF {
$error_message = sprintf('SVG Error: %s at line %d', xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser));
$this->Error($error_message);
}
// free this XML parser
// free this XML parser (does nothing in PHP >= 8.0)
if (function_exists('xml_parser_free') && PHP_VERSION_ID < 80000) {
xml_parser_free($parser);
}
// >= PHP 7.0.0 "explicitly unset the reference to parser to avoid memory leaks"
unset($parser);
@ -23500,7 +23500,8 @@ class TCPDF {
$gradient['coords'][4] /= $w;
} elseif ($gradient['mode'] == 'percentage') {
foreach($gradient['coords'] as $key => $val) {
$gradient['coords'][$key] = (intval($val) / 100);
$val = floatval($val) / 100;
$gradient['coords'][$key] = $val;
if ($val < 0) {
$gradient['coords'][$key] = 0;
} elseif ($val > 1) {
@ -24737,7 +24738,7 @@ class TCPDF {
*/
protected function endSVGElementHandler($parser, $name) {
$name = $this->removeTagNamespace($name);
if ($this->svgdefsmode AND !in_array($name, array('defs', 'clipPath', 'linearGradient', 'radialGradient', 'stop'))) {;
if ($this->svgdefsmode AND !in_array($name, array('defs', 'clipPath', 'linearGradient', 'radialGradient', 'stop'))) {
if (end($this->svgdefs) !== FALSE) {
$last_svgdefs_id = key($this->svgdefs);
if (isset($this->svgdefs[$last_svgdefs_id]['attribs']['child_elements'])) {