From 82729b07ee67ea92b0696c8bb1668708727c0ca2 Mon Sep 17 00:00:00 2001 From: Jake Jackson Date: Mon, 7 Sep 2026 20:32:41 +1000 Subject: [PATCH] Stop a table with no background leaving the next one painted twice Every table writes a ___TABLE___BACKGROUNDS placeholder into the page and, when it ends, splices its backgrounds in behind it. The splice only ran when the table actually had backgrounds, so a table with none left its placeholder sitting in the page - and because the splice is a plain preg_replace over the whole page, the next table's backgrounds went behind that stale placeholder as well as behind its own. Five plain tables in front of a coloured one had its background painted six times. That is invisible while the fill is opaque, but a translucent background comes out darker than it was asked to be, a background image is drawn and drawn again, and the page content stream carries a copy of the whole lot each time. Take the placeholder out at the end of every level 1 table, whether or not anything was put behind it. The two preg_replace calls per buffer collapse into one str_replace, which is also no longer at the mercy of a $ or a backslash turning up in the background operators. tests/data/snapshots/table.pdf is regenerated: its fixture has a plain table in front of a coloured one, so three pixels of antialiasing along the table's right edge shift now that the background underneath is painted once. Co-authored-by: Claude Opus 5 --- src/Mpdf.php | 26 +++---- tests/Mpdf/TableBackgroundTest.php | 55 ++++++++++++- .../Snapshots/TableBackgroundSnapshotTest.php | 72 ++++++++++++++++++ tests/data/snapshots/table-background.pdf | Bin 0 -> 28905 bytes tests/data/snapshots/table.pdf | Bin 80763 -> 80763 bytes 5 files changed, 136 insertions(+), 17 deletions(-) create mode 100644 tests/Snapshots/TableBackgroundSnapshotTest.php create mode 100644 tests/data/snapshots/table-background.pdf diff --git a/src/Mpdf.php b/src/Mpdf.php index 7a5ab7632..5abec91b4 100644 --- a/src/Mpdf.php +++ b/src/Mpdf.php @@ -23469,29 +23469,27 @@ function _tableWrite(&$table, $split = false, $startrow = 0, $startcol = 0, $spl /* -- END BACKGROUNDS -- */ } - if ($this->tableBackgrounds && $level == 1) { + if ($level == 1) { // Nothing else paints while a page-break-inside:avoid block is being measured - see // PaintDivBB() and BaseWriter::write() - and what is drawn on the page it starts on // stays there when the block moves if (!$this->keep_block_together) { - $s = $this->PrintTableBackgrounds(); + $s = $this->tableBackgrounds ? "\n" . $this->PrintTableBackgrounds() . "\n" : ''; + + // The placeholder this table wrote is spent whether or not anything was put behind + // it. One left in place takes a copy of the next table's backgrounds as well, so a + // table with no background of its own used to leave the one after it painted twice + $placeholder = '___TABLE___BACKGROUNDS' . $this->uniqstr; + if ($this->table_rotate && !$this->processingHeader && !$this->processingFooter) { - $this->tablebuffer = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', '\\1' . "\n" . $s . "\n", $this->tablebuffer); - if ($level == 1) { - $this->tablebuffer = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', " ", $this->tablebuffer); - } + $this->tablebuffer = str_replace($placeholder, ' ' . $s, $this->tablebuffer); } elseif ($this->bufferoutput) { - $this->headerbuffer = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', '\\1' . "\n" . $s . "\n", $this->headerbuffer); - if ($level == 1) { - $this->headerbuffer = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', " ", $this->headerbuffer); - } + $this->headerbuffer = str_replace($placeholder, ' ' . $s, $this->headerbuffer); } else { - $this->pages[$this->page] = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', '\\1' . "\n" . $s . "\n", $this->pages[$this->page]); - if ($level == 1) { - $this->pages[$this->page] = preg_replace('/(___TABLE___BACKGROUNDS' . $this->uniqstr . ')/', " ", $this->pages[$this->page]); - } + $this->pages[$this->page] = str_replace($placeholder, ' ' . $s, $this->pages[$this->page]); } } + $this->tableBackgrounds = []; } diff --git a/tests/Mpdf/TableBackgroundTest.php b/tests/Mpdf/TableBackgroundTest.php index b2c8d8796..1fd82df18 100644 --- a/tests/Mpdf/TableBackgroundTest.php +++ b/tests/Mpdf/TableBackgroundTest.php @@ -28,15 +28,14 @@ private function pages($pdf) } /** - * The rectangles filled red, without the duplicates that come of the same background being - * spliced in behind more than one placeholder + * Every rectangle filled red, in order, including any drawn more than once */ private function redRectangles($pdf) { $matches = []; preg_match_all('/' . preg_quote(self::RED_FILL, '/') . '\n([\d.\- ]+) re f/', $pdf, $matches); - return array_values(array_unique($matches[1])); + return $matches[1]; } private function document($before, $after) @@ -87,4 +86,54 @@ public function testATableBackgroundOutsideAnyAvoidBlockIsUnaffected() $this->assertCount(1, $this->redRectangles($this->render($html))); } + /** + * Each table writes a placeholder for its backgrounds to be spliced in behind. A table with no + * background of its own left the placeholder in the page, and the next table's backgrounds went + * behind that one as well as its own. + */ + public function testATableWithNoBackgroundDoesNotLeaveTheNextOnePaintedTwice() + { + $html = '
Plain table cell
' + . '
Red table cell
'; + + $this->assertCount(1, $this->redRectangles($this->render($html))); + } + + public function testEachTableWithNoBackgroundUsedToAddAnotherCopy() + { + $html = str_repeat('
Plain table cell
', 5) + . '
Red table cell
'; + + $this->assertCount(1, $this->redRectangles($this->render($html))); + } + + /** + * Painting the same rectangle twice is invisible while it is opaque; a translucent one comes out + * darker than it was asked to be + */ + public function testATranslucentBackgroundIsNotDarkenedByBeingPaintedTwice() + { + $table = '
Translucent table cell
'; + + $alone = $this->render($table); + $preceded = $this->render('
Plain table cell
' . $table); + + $this->assertSame( + preg_match_all('/ re f/', $alone), + preg_match_all('/ re f/', $preceded) + ); + } + + /** + * The table with the background comes first here, so its placeholder was always taken out before + * the plain table wrote one - this way round has never been wrong + */ + public function testATableWithNoBackgroundAfterAColouredOneIsStillUnaffected() + { + $html = '
Red table cell
' + . '
Plain table cell
'; + + $this->assertCount(1, $this->redRectangles($this->render($html))); + } + } diff --git a/tests/Snapshots/TableBackgroundSnapshotTest.php b/tests/Snapshots/TableBackgroundSnapshotTest.php new file mode 100644 index 000000000..50b79b6f7 --- /dev/null +++ b/tests/Snapshots/TableBackgroundSnapshotTest.php @@ -0,0 +1,72 @@ + + + +

mPDF

+

Table backgrounds

+ +

Each pair below is the same colour written twice. The second of each pair has a + table with no background of its own in front of it, which used to leave the pair's second + half painted on top of itself and so darker than the first.

+ + + +
Translucent red, with nothing in front of it
+ + + +
A table with no background of its own
+ + + +
Translucent red again, and the same shade as the first
+ + + +
Another table with no background of its own
+ + + +
Translucent blue, one table with no background behind it
+ + + +
A third table with no background of its own
+ + + +
A translucent cell rather than a translucent table
+ mpdf = new \Mpdf\Mpdf(); + $this->mpdf->WriteHTML($html); + } +} diff --git a/tests/data/snapshots/table-background.pdf b/tests/data/snapshots/table-background.pdf new file mode 100644 index 0000000000000000000000000000000000000000..64ca7fac1e87578893a122ff3641d54679163373 GIT binary patch literal 28905 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

mYvRMF6xg?if{%U9=bvQJZ_c;n5o~TWMrzP| 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 literal 0 HcmV?d00001 diff --git a/tests/data/snapshots/table.pdf b/tests/data/snapshots/table.pdf index 9a14e7e0751fb96542b25629a019d1ca62f1a863..bd4fb15960d77e0d66de5992a12ad2d02d1b9d06 100644 GIT binary patch delta 16928 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 E0ZN}Df&c&j delta 16930 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 b#mdRdVQOf?X$ZObP0aWIa*5aHg~Iz^zgf^j