From 69592cba91ce17f916f8b3c9b8707b57fe110f0c Mon Sep 17 00:00:00 2001 From: gravitypdf-bot Date: Tue, 6 Oct 2026 13:55:20 +1100 Subject: [PATCH] Let an important @page declaration beat a plain one in a :first, :left, :right or named page rule Under the standard cssMode, SetPagedMediaCSS() merged the plain @page rule, its pseudo pages, the named page and its pseudo pages one over the other whatever their importance, so `@page { margin-top: 30mm !important }` lost to `@page :first { margin-top: 10mm }`. That merge is now CssManager::pageProperties(), which runs it again over the important declarations of the document and then of the default stylesheet, in the same order and with the same even-page side margin swap. Legacy mode is unchanged: its important stores are empty. Co-Authored-By: Claude Opus 5.5 Co-Authored-By: Claude Fable 5.1 --- CHANGELOG-GRAVITYPDF.md | 3 + src/CssManager.php | 91 +++++++++-- src/Mpdf.php | 60 +------ tests/Mpdf/DrawnStyles.php | 55 ++++++- tests/Mpdf/ImportantPageRuleTest.php | 150 ++++++++++++++++++ tests/Mpdf/PseudoPageAreaTest.php | 43 +---- .../ImportantPageRuleLegacySnapshotTest.php | 21 +++ tests/Snapshots/ImportantPageRuleSnapshot.php | 83 ++++++++++ .../ImportantPageRuleStandardSnapshotTest.php | 21 +++ tests/data/css/important-page-default.css | 5 + .../snapshots/important-page-rule-legacy.pdf | Bin 0 -> 52280 bytes .../important-page-rule-standard.pdf | Bin 0 -> 52139 bytes 12 files changed, 420 insertions(+), 112 deletions(-) create mode 100644 tests/Mpdf/ImportantPageRuleTest.php create mode 100644 tests/Snapshots/ImportantPageRuleLegacySnapshotTest.php create mode 100644 tests/Snapshots/ImportantPageRuleSnapshot.php create mode 100644 tests/Snapshots/ImportantPageRuleStandardSnapshotTest.php create mode 100644 tests/data/css/important-page-default.css create mode 100644 tests/data/snapshots/important-page-rule-legacy.pdf create mode 100644 tests/data/snapshots/important-page-rule-standard.pdf diff --git a/CHANGELOG-GRAVITYPDF.md b/CHANGELOG-GRAVITYPDF.md index 1957334e4..fe65c0d76 100644 --- a/CHANGELOG-GRAVITYPDF.md +++ b/CHANGELOG-GRAVITYPDF.md @@ -199,6 +199,7 @@ Bugfixes * A descendant rule with a part mPDF cannot parse was cut short at that part and applied to the element before it. Such rules are now dropped. [#519] * An inline `style` with `!important` drew no border for a `border` shorthand, dropped the bottom padding of a two-value `padding`, drew text at 0pt for a `font-size`, and ignored an image's `height` with a warning. The flag is now removed, as it is from a stylesheet. [mpdf/mpdf#1010] [mpdf/mpdf#1707] [#523] [#561] * A declaration whose flag had a space after the bang, such as `margin: 5mm ! important`, kept the flag in its value: that margin set the right and left margins to `!` and the bottom one to `important`, a `font-size` was lost, and a `border` drew nothing. The flag is now found whatever its spacing and case, in stylesheets and inline styles, in either `cssMode`. [#532] [#638] +* With `cssMode` standard, an `!important` declaration in a plain `@page` rule lost to a plain one in a `@page :first`, `:left`, `:right` or named page rule, so `@page { margin-top: 30mm !important } @page :first { margin-top: 10mm }` gave the first page a 10mm top margin. The important declaration now wins, as a named page's does over its own `:first`, `:left` and `:right` pages. Of two important declarations, the one in the rule applied later wins, as before, and the default stylesheet's (`defaultCssFile`) beats the document's. A plain `@page` side margin is still mirrored, so on a left page an important `margin-left` is the right margin, and beats the `margin-right` of a `:left` rule. Legacy mode is unchanged. [#532] [#640] [#679] * Text styled with the `font` shorthand or `` came out as empty boxes when the family was not installed or had a space in its name, such as `font: 12pt Roboto` or `font: 16px "DejaVu Sans Mono"`. It was drawn in the first registered font, which is the emoji font in a full install. The family is now read as `font-family` reads it: a name is kept whole, the list is tried in order, and when mPDF knows none of it the text keeps the family it inherits. `font-family` itself also reads an unquoted name with spaces whole. [#552] [#560] * A descendant rule ending in `:lang()` or `[lang]`, such as `div :lang(fr)`, `div p:lang(fr)` or `table [lang=fr]`, never applied. It now applies in block content and in tables, and a regional language such as `fr-CA` falls back to the rule for `fr`, as the simple lang rules do. [#525] [#559] * A rule such as `td:nth-child(2):not(.x)` or `td:nth-child(2 of .x)` was applied to the second cell of every row, as if it were `td:nth-child(2)`. A rule with anything after an nth-child argument, or with an argument that is not a formula, is now dropped. [mpdf/mpdf#83] [#522] [#564] @@ -944,3 +945,5 @@ These changes do not change output. [#678]: https://github.com/GravityPDF/mpdf/pull/678 [#547]: https://github.com/GravityPDF/mpdf/issues/547 [#683]: https://github.com/GravityPDF/mpdf/pull/683 +[#640]: https://github.com/GravityPDF/mpdf/issues/640 +[#679]: https://github.com/GravityPDF/mpdf/pull/679 diff --git a/src/CssManager.php b/src/CssManager.php index 0427799b2..79b392ea7 100644 --- a/src/CssManager.php +++ b/src/CssManager.php @@ -157,8 +157,9 @@ public function readDefaultCss($css) * Parse the CSS in HTML content into the stores readCss() describes, and file its compiled rules in a rule set * * The !important declarations of the rules stored by key are kept apart as well, and laid again over $CSS after - * each read, those of the default stylesheet last, so that what reads $CSS directly (@page, BODY, SVG's classes) - * finds them over any declaration that is not important. + * each read, those of the default stylesheet last, so that what reads one key of $CSS directly, such as SVG's + * classes, finds them over any declaration that is not important. What merges several keys lays the stores over + * the merged rules itself: pageProperties() for the @page rules, the merger for BODY. * * @param string $html * @param RuleSet $rules @@ -381,14 +382,9 @@ public function getBorderDominance($side) */ public function pseudoPagesSetSideMargins($name) { - $prefixes = ['@PAGE>>']; - if ($name) { - $prefixes[] = '@PAGE>>NAMED>>' . strtoupper($name) . '>>'; - } - - foreach ($prefixes as $prefix) { + foreach ($this->pageRuleKeys($name) as $key) { foreach (['FIRST', 'LEFT', 'RIGHT'] as $pseudo) { - $rule = $prefix . 'PSEUDO>>' . $pseudo; + $rule = $key . '>>PSEUDO>>' . $pseudo; if (isset($this->CSS[$rule]['MARGIN-LEFT']) || isset($this->CSS[$rule]['MARGIN-RIGHT'])) { return true; } @@ -398,6 +394,64 @@ public function pseudoPagesSetSideMargins($name) return false; } + /** + * The properties the @page rules set on a page: the plain rule's, then the named page's, each followed by those + * of its :right, :left and :first pages that apply + * + * The rules are merged one over the other whatever their importance, so the !important declarations of each are + * then laid over them in the same order, and the default stylesheet's last. Legacy mode reads a declaration marked + * !important as any other, so there those stores are empty. + * + * A rule's odd-header-name or even-header-name, whichever the page's parity takes, becomes its header before the + * next rule is merged, so that a later rule's header beats it, and the footer names likewise. + * + * @param string $name The named page, or '' for none + * @param string $side 'R' or 'L', or '' for the defaults of every page + * @param bool $first Whether this is the first page + * @param string $oddEven 'E' for an even page when margins are mirrored, 'O' for any other page, or '' for the + * defaults of every page + * @return array + */ + public function pageProperties($name, $side, $first, $oddEven) + { + $parity = $oddEven == 'E' ? 'EVEN-' : 'ODD-'; + $properties = []; + foreach ([$this->CSS, $this->importantCss, $this->defaultImportantCss] as $css) { + foreach ($this->pageRuleKeys($name) as $key) { + if (!empty($css[$key])) { + $properties = array_merge($properties, $css[$key]); + } + + foreach (['HEADER', 'FOOTER'] as $part) { + if (isset($properties[$parity . $part . '-NAME'])) { + $properties[$part] = $properties[$parity . $part . '-NAME']; + unset($properties[$parity . $part . '-NAME']); + } + } + + $properties = array_merge($properties, $this->pseudoPagePropertiesIn($css, $key . '>>', $side, $first, $oddEven)); + } + } + + return $properties; + } + + /** + * The keys of the plain @page rule and, when a page is named, of the named page's rule + * + * @param string|null $name The named page, or '' or null for none + * @return string[] + */ + private function pageRuleKeys($name) + { + $keys = ['@PAGE']; + if ($name) { + $keys[] = '@PAGE>>NAMED>>' . strtoupper($name); + } + + return $keys; + } + /** * Whether the style sheet has a plain @page rule, or a :first, :left or :right one, that sets anything * @@ -428,14 +482,29 @@ public function hasUnnamedPageRules() * @return array */ public function pseudoPageProperties($prefix, $side, $first, $oddEven) + { + return $this->pseudoPagePropertiesIn($this->CSS, $prefix, $side, $first, $oddEven); + } + + /** + * The properties pseudoPageProperties() reads, from the rules given rather than $CSS + * + * @param array[] $css Rules under the keys of $CSS, such as those of getImportantCss() + * @param string $prefix + * @param string $side + * @param bool $first + * @param string $oddEven + * @return array + */ + private function pseudoPagePropertiesIn(array $css, $prefix, $side, $first, $oddEven) { $properties = []; foreach (['RIGHT' => $side == 'R', 'LEFT' => $side == 'L', 'FIRST' => $first] as $pseudo => $applies) { - if (!$applies || !isset($this->CSS[$prefix . 'PSEUDO>>' . $pseudo])) { + if (!$applies || !isset($css[$prefix . 'PSEUDO>>' . $pseudo])) { continue; } - $rule = $this->CSS[$prefix . 'PSEUDO>>' . $pseudo]; + $rule = $css[$prefix . 'PSEUDO>>' . $pseudo]; unset($rule['SIZE'], $rule['SHEET-SIZE']); if ($oddEven === 'E') { diff --git a/src/Mpdf.php b/src/Mpdf.php index 9da8da180..bc5ed85a2 100644 --- a/src/Mpdf.php +++ b/src/Mpdf.php @@ -16333,65 +16333,7 @@ function SetPagedMediaCSS($name, $first, $oddEven) $p['MARGIN-HEADER'] = strval($this->orig_hMargin - $outerTB) . 'mm'; $p['MARGIN-FOOTER'] = strval($this->orig_fMargin - $outerTB) . 'mm'; - // Basic page + selector - if (isset($this->cssManager->CSS['@PAGE'])) { - $zp = $this->cssManager->CSS['@PAGE']; - } else { - $zp = []; - } - if (is_array($zp) && !empty($zp)) { - $p = array_merge($p, $zp); - } - - if (isset($p['EVEN-HEADER-NAME']) && $oddEven == 'E') { - $p['HEADER'] = $p['EVEN-HEADER-NAME']; - unset($p['EVEN-HEADER-NAME']); - } - if (isset($p['ODD-HEADER-NAME']) && $oddEven != 'E') { - $p['HEADER'] = $p['ODD-HEADER-NAME']; - unset($p['ODD-HEADER-NAME']); - } - if (isset($p['EVEN-FOOTER-NAME']) && $oddEven == 'E') { - $p['FOOTER'] = $p['EVEN-FOOTER-NAME']; - unset($p['EVEN-FOOTER-NAME']); - } - if (isset($p['ODD-FOOTER-NAME']) && $oddEven != 'E') { - $p['FOOTER'] = $p['ODD-FOOTER-NAME']; - unset($p['ODD-FOOTER-NAME']); - } - - $p = array_merge($p, $this->cssManager->pseudoPageProperties('@PAGE>>', $side, $first, $oddEven)); - - // If named page - if ($name) { - if (isset($this->cssManager->CSS['@PAGE>>NAMED>>' . $name])) { - $zp = $this->cssManager->CSS['@PAGE>>NAMED>>' . $name]; - } else { - $zp = []; - } - if (is_array($zp) && !empty($zp)) { - $p = array_merge($p, $zp); - } - - if (isset($p['EVEN-HEADER-NAME']) && $oddEven == 'E') { - $p['HEADER'] = $p['EVEN-HEADER-NAME']; - unset($p['EVEN-HEADER-NAME']); - } - if (isset($p['ODD-HEADER-NAME']) && $oddEven != 'E') { - $p['HEADER'] = $p['ODD-HEADER-NAME']; - unset($p['ODD-HEADER-NAME']); - } - if (isset($p['EVEN-FOOTER-NAME']) && $oddEven == 'E') { - $p['FOOTER'] = $p['EVEN-FOOTER-NAME']; - unset($p['EVEN-FOOTER-NAME']); - } - if (isset($p['ODD-FOOTER-NAME']) && $oddEven != 'E') { - $p['FOOTER'] = $p['ODD-FOOTER-NAME']; - unset($p['ODD-FOOTER-NAME']); - } - - $p = array_merge($p, $this->cssManager->pseudoPageProperties('@PAGE>>NAMED>>' . $name . '>>', $side, $first, $oddEven)); - } + $p = array_merge($p, $this->cssManager->pageProperties($name, $side, $first, $oddEven)); $orientation = $mgl = $mgr = $mgt = $mgb = $mgh = $mgf = ''; $header = $footer = ''; diff --git a/tests/Mpdf/DrawnStyles.php b/tests/Mpdf/DrawnStyles.php index 14e8079a1..d77fae6c9 100644 --- a/tests/Mpdf/DrawnStyles.php +++ b/tests/Mpdf/DrawnStyles.php @@ -3,8 +3,8 @@ namespace Mpdf; /** - * Writes a document through TextRecordingMpdf, to read the colour and style each piece of text is drawn in, or - * matches a selector against the elements a document leaves open + * Writes a document through TextRecordingMpdf, to read the colour and style each piece of text is drawn in, or where + * on the page it lies, or matches a selector against the elements a document leaves open */ trait DrawnStyles { @@ -210,4 +210,55 @@ private function matchesLastOpenElement($html, $selector) return $matcher->matches($compiler->compile($selector), $mpdf->getOpenElements()); } + + /** + * Justified paragraphs of text + * + * @param int $paragraphs + * + * @return string + */ + private function story($paragraphs) + { + return str_repeat('

' . str_repeat('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', 8) . '

', $paragraphs); + } + + /** + * The narrowest left edge and widest right edge of the boxes under each key, rounded to a tenth of a millimetre + * + * @param array[] $boxes Each a key, such as the page, then a left and right edge, as TextRecordingMpdf records them + * + * @return array[] By key, in the order the keys first appear + */ + private function spans(array $boxes) + { + $spans = []; + foreach ($boxes as $box) { + list($key, $left, $right) = $box; + $spans[$key] = isset($spans[$key]) ? [min($spans[$key][0], $left), max($spans[$key][1], $right)] : [$left, $right]; + } + + return array_map(static function ($span) { + return [round($span[0], 1), round($span[1], 1)]; + }, $spans); + } + + /** + * The top of the first line drawn on each page, rounded to a tenth of a millimetre + * + * @param array[] $boxes As TextRecordingMpdf records them + * + * @return float[] By page number, in the order the pages were drawn + */ + private function firstLineTops(array $boxes) + { + $tops = []; + foreach ($boxes as $box) { + if (!isset($tops[$box[0]])) { + $tops[$box[0]] = round($box[3], 1); + } + } + + return $tops; + } } diff --git a/tests/Mpdf/ImportantPageRuleTest.php b/tests/Mpdf/ImportantPageRuleTest.php new file mode 100644 index 000000000..34c0a85d5 --- /dev/null +++ b/tests/Mpdf/ImportantPageRuleTest.php @@ -0,0 +1,150 @@ +write($css, $this->story(20), ['cssMode' => $cascade] + $config); + + $this->assertSame($tops, array_slice($this->firstLineTops($mpdf->drawnBoxes), 0, 2, true)); + } + + /** + * Rules giving the first page a top margin of its own, with what each cascade makes of them + * + * @return array[] + */ + public function firstPageProvider() + { + $important = '@page { margin-top: 30mm !important; } @page :first { margin-top: 10mm; }'; + $firstImportant = '@page { margin-top: 30mm; } @page :first { margin-top: 10mm !important; }'; + $bothImportant = '@page { margin-top: 30mm !important; } @page :first { margin-top: 10mm !important; }'; + $firstWrittenFirst = '@page :first { margin-top: 10mm !important; } @page { margin-top: 30mm !important; }'; + $default = ['defaultCssFile' => __DIR__ . '/../data/css/important-page-default.css']; + $overDefault = '@page :first { margin-top: 10mm !important; } @page { margin-top: 20mm; }'; + + return $this->bothModes([ + 'an important @page beats a plain :first' => [$important, [1 => 30.0, 2 => 30.0], [1 => 10.0, 2 => 30.0]], + 'an important :first beats a plain @page' => [$firstImportant, [1 => 10.0, 2 => 30.0], [1 => 10.0, 2 => 30.0]], + ]) + [ + 'an important :first beats an important @page (standard)' => [CssMode::STANDARD, $bothImportant, [1 => 10.0, 2 => 30.0]], + 'an important :first written first beats an important @page (standard)' => [CssMode::STANDARD, $firstWrittenFirst, [1 => 10.0, 2 => 30.0]], + 'the default stylesheet\'s important @page beats an important :first (standard)' => [CssMode::STANDARD, $overDefault, [1 => 40.0, 2 => 40.0], $default], + 'the default stylesheet\'s important @page beats an important :first (legacy)' => [CssMode::LEGACY, $overDefault, [1 => 10.0, 2 => 20.0], $default], + ]; + } + + /** + * The side margins of a right and a left page, the :left and :right rules turning mirrored margins on. A plain + * @page margin is mirrored, so an important margin-left is the inner margin: the left of a right page and the + * right of a left page, where it beats the side margin a :left or :right rule gives that edge + * + * @dataProvider sidesProvider + * + * @param string $cascade + * @param string $css + * @param array[] $spans The left and right edges of the lines on the first two pages + */ + public function testLeftAndRightPages($cascade, $css, $spans) + { + $mpdf = $this->write($css, $this->story(20), ['cssMode' => $cascade]); + + $this->assertSame($spans, array_slice($this->spans($mpdf->drawnBoxes), 0, 2, true)); + } + + /** + * Rules giving the right and left pages side margins of their own, with what each cascade makes of them + * + * @return array[] + */ + public function sidesProvider() + { + $inner = '@page { margin-left: 30mm !important; margin-right: 10mm; } + @page :right { margin-left: 20mm; margin-right: 20mm; } + @page :left { margin-left: 20mm; margin-right: 20mm; }'; + $outer = '@page { margin-left: 10mm; margin-right: 40mm !important; } + @page :right { margin-right: 20mm; } + @page :left { margin-left: 20mm; }'; + $pseudoImportant = '@page { margin-left: 30mm !important; margin-right: 10mm !important; } + @page :left { margin-right: 25mm !important; }'; + + return $this->bothModes([ + 'an important inner margin' => [$inner, [1 => [30.0, 190.0], 2 => [20.0, 180.0]], [1 => [20.0, 190.0], 2 => [20.0, 190.0]]], + 'an important outer margin' => [$outer, [1 => [10.0, 170.0], 2 => [40.0, 200.0]], [1 => [10.0, 190.0], 2 => [20.0, 200.0]]], + ]) + [ + 'an important :left beats an important @page (standard)' => [CssMode::STANDARD, $pseudoImportant, [1 => [30.0, 200.0], 2 => [10.0, 185.0]]], + ]; + } + + /** + * The side margins of a named page and of the page after it + * + * @dataProvider namedPageProvider + * + * @param string $cascade + * @param string $css + * @param float[] $lefts The left edge of the lines on the first two pages + */ + public function testANamedPage($cascade, $css, $lefts) + { + $mpdf = $this->write($css, '
' . $this->story(20) . '
', ['cssMode' => $cascade]); + + $this->assertSame($lefts, array_map(static function ($span) { + return $span[0]; + }, array_slice($this->spans($mpdf->drawnBoxes), 0, 2, true))); + } + + /** + * Rules giving a named page, and its first page, a left margin of their own, with what each cascade makes of them + * + * @return array[] + */ + public function namedPageProvider() + { + $plain = '@page { margin-left: 50mm !important; } @page story { margin-left: 10mm; }'; + $first = '@page story { margin-left: 50mm !important; } @page story :first { margin-left: 10mm; }'; + $named = '@page { margin-left: 50mm !important; } @page story { margin-left: 10mm !important; }'; + + return $this->bothModes([ + 'an important @page beats a plain named page' => [$plain, [1 => 50.0, 2 => 50.0], [1 => 10.0, 2 => 10.0]], + 'an important named page beats its plain :first' => [$first, [1 => 50.0, 2 => 50.0], [1 => 10.0, 2 => 50.0]], + ]) + [ + 'an important named page beats an important @page (standard)' => [CssMode::STANDARD, $named, [1 => 10.0, 2 => 10.0]], + ]; + } + + /** + * A document with the style sheet and justified paragraphs, whose lines have been recorded as they were drawn + * + * @param string $css + * @param string $body + * @param array $config + * + * @return TextRecordingMpdf + */ + private function write($css, $body, array $config) + { + return $this->drawDocument('' . $body, $config); + } + +} diff --git a/tests/Mpdf/PseudoPageAreaTest.php b/tests/Mpdf/PseudoPageAreaTest.php index 356f54f30..ad549ec1c 100644 --- a/tests/Mpdf/PseudoPageAreaTest.php +++ b/tests/Mpdf/PseudoPageAreaTest.php @@ -10,6 +10,8 @@ class PseudoPageAreaTest extends \Yoast\PHPUnitPolyfills\TestCases\TestCase { + use DrawnStyles; + /** A page area 150mm wide on a right page and 170mm on a left page, for a float to run over. */ const WIDER_LEFT_PAGES = '@page { margin-left: 30mm; margin-right: 30mm; } @page :left { margin-left: 20mm; margin-right: 20mm; }'; @@ -90,14 +92,7 @@ public function testAPseudoPageRuleAppliesToItsOwnPages($html, $css, $tops) { $mpdf = $this->write($css, $html . $this->story(30)); - $firstLines = []; - foreach ($mpdf->drawnBoxes as $box) { - if (!isset($firstLines[$box[0]])) { - $firstLines[$box[0]] = round($box[3], 1); - } - } - - $this->assertSame($tops, array_slice($firstLines, 0, 3, true)); + $this->assertSame($tops, array_slice($this->firstLineTops($mpdf->drawnBoxes), 0, 3, true)); } /** @@ -443,36 +438,4 @@ private function painted(TextRecordingMpdf $mpdf) return $this->spans($boxes); } - /** - * The narrowest left edge and widest right edge of the boxes under each key, rounded to a tenth of a millimetre - * - * @param array[] $boxes Each a key, such as the page, then a left and right edge - * - * @return array[] By key, in the order the keys first appear - */ - private function spans($boxes) - { - $spans = []; - foreach ($boxes as $box) { - list($key, $left, $right) = $box; - $spans[$key] = isset($spans[$key]) ? [min($spans[$key][0], $left), max($spans[$key][1], $right)] : [$left, $right]; - } - - return array_map(static function ($span) { - return [round($span[0], 1), round($span[1], 1)]; - }, $spans); - } - - /** - * Justified paragraphs of text - * - * @param int $paragraphs - * - * @return string - */ - private function story($paragraphs) - { - return str_repeat('

' . str_repeat('Lorem ipsum dolor sit amet, consectetur adipiscing elit. ', 8) . '

', $paragraphs); - } - } diff --git a/tests/Snapshots/ImportantPageRuleLegacySnapshotTest.php b/tests/Snapshots/ImportantPageRuleLegacySnapshotTest.php new file mode 100644 index 000000000..5cadf7eca --- /dev/null +++ b/tests/Snapshots/ImportantPageRuleLegacySnapshotTest.php @@ -0,0 +1,21 @@ +cascade(); + } + + /** + * Four pages: a first page, a left page, then a named page and its own left page + */ + public function generatePdf() + { + ob_start(); + ?> + + +
+

!important in @page rules

+

Written with cssMode set to cascade(); ?>. Each panel fills its page area, so its edges are the page's margins.

+

Page 1, the first page and a right page. The plain @page rule's top and left margins of 30mm are important; @page :first gives them 10mm.

+

Standard: the panel starts 30mm from the top and the left, the important declarations beating :first. Legacy: 10mm from each, :first coming last. The right margin is 20mm in both.

+
+ +
+

Page 2, a left page. The side margins are mirrored, so the plain rule's important margin-left of 30mm is this page's right margin. @page :left gives both sides 50mm.

+

Standard: the panel ends 30mm from the right, the important margin beating :left. Legacy: 50mm. The left margin is 50mm in both. The top margin is 30mm in both.

+
+ +
+
+

Page 3, the first page of the named page appendix and a right page. The named page's margin-left of 10mm is important; its :first gives 50mm. Its :first's margin-top of 50mm is important too; the named page gives 15mm.

+

Standard: the panel starts 50mm from the top, the latest important declaration winning, and 10mm from the left, the named page's important margin beating its :first. Legacy: 50mm from each, :first coming last.

+
+ +
+

Page 4, the named page's left page. Its important margin-left of 10mm is the right margin here. Its margin-top of 15mm is not important.

+

Standard: the panel starts 30mm from the top, the plain rule's important margin beating the named page's. Legacy: 15mm, the named page coming last. The left margin is 50mm and the right 10mm in both.

+
+
+ mpdf = $this->createMpdf(['cssMode' => $this->cascade()]); + + $this->mpdf->WriteHTML($html); + } + +} diff --git a/tests/Snapshots/ImportantPageRuleStandardSnapshotTest.php b/tests/Snapshots/ImportantPageRuleStandardSnapshotTest.php new file mode 100644 index 000000000..5352a893b --- /dev/null +++ b/tests/Snapshots/ImportantPageRuleStandardSnapshotTest.php @@ -0,0 +1,21 @@ +xIy-}ZsQ6I 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 literal 0 HcmV?d00001 diff --git a/tests/data/snapshots/important-page-rule-standard.pdf b/tests/data/snapshots/important-page-rule-standard.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b55d36ca7912c1cd1d1403f67ce945e786f33e27 GIT binary patch literal 52139 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⪻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