From 0f8a8d1464bf7dc920ed3850dcad3ba024fc60b4 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Fri, 28 Nov 2025 17:34:16 -0500 Subject: [PATCH] Bump TCPDF from 6.10.0 to 6.10.1 --- plugins/TCPDF/CHANGELOG.TXT | 8 ++++++ plugins/TCPDF/VERSION | 2 +- plugins/TCPDF/composer.json | 2 +- plugins/TCPDF/include/tcpdf_static.php | 2 +- plugins/TCPDF/tcpdf.php | 35 +++++++++++++------------- 5 files changed, 29 insertions(+), 20 deletions(-) diff --git a/plugins/TCPDF/CHANGELOG.TXT b/plugins/TCPDF/CHANGELOG.TXT index 5d560d0a..2394117a 100644 --- a/plugins/TCPDF/CHANGELOG.TXT +++ b/plugins/TCPDF/CHANGELOG.TXT @@ -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 diff --git a/plugins/TCPDF/VERSION b/plugins/TCPDF/VERSION index cf79bf90..3094a4c6 100644 --- a/plugins/TCPDF/VERSION +++ b/plugins/TCPDF/VERSION @@ -1 +1 @@ -6.10.0 +6.10.1 diff --git a/plugins/TCPDF/composer.json b/plugins/TCPDF/composer.json index 8d779197..abf4d9b6 100644 --- a/plugins/TCPDF/composer.json +++ b/plugins/TCPDF/composer.json @@ -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": [ { diff --git a/plugins/TCPDF/include/tcpdf_static.php b/plugins/TCPDF/include/tcpdf_static.php index efadc925..296e04dd 100644 --- a/plugins/TCPDF/include/tcpdf_static.php +++ b/plugins/TCPDF/include/tcpdf_static.php @@ -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. diff --git a/plugins/TCPDF/tcpdf.php b/plugins/TCPDF/tcpdf.php index 42c425e9..2cbbc4d7 100644 --- a/plugins/TCPDF/tcpdf.php +++ b/plugins/TCPDF/tcpdf.php @@ -1,9 +1,9 @@ * @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.
* @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,9 +2910,7 @@ class TCPDF { $this->compress = false; if (function_exists('gzcompress')) { if ($compress) { - if ( !$this->pdfa_mode) { - $this->compress = true; - } + $this->compress = true; } } } @@ -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 - xml_parser_free($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'])) {