Skip to content

Instantly share code, notes, and snippets.

@MrTrick
Created February 15, 2022 09:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MrTrick/155b869a03714ca93c18ff38d03751b3 to your computer and use it in GitHub Desktop.
Save MrTrick/155b869a03714ca93c18ff38d03751b3 to your computer and use it in GitHub Desktop.
#Reproducing an error in dompdf 1.2.0
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
$dompdf = new Dompdf\Dompdf();
$dompdf->loadHtml(<<<HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h4, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
body {
font-family: DejaVu Sans Mono, sans-serif !important;
font-size: 12px !important;
width: 95%;
margin: 20px auto;
line-height: 1;
}
</style>
</head>
<body>
Nothing needed here.
</body>
</html>
HTML
);
$dompdf->render();
<?php declare(strict_types=1);
require __DIR__ . '/vendor/autoload.php';
$dompdf = new Dompdf\Dompdf();
$dompdf->loadHtml(<<<HTML
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<style type="text/css">
a, abbr, acronym, address, applet, article, aside, audio, b, big, blockquote, body, canvas, caption, center, cite, code, dd, del, details, dfn, div, dl, dt, em, embed, fieldset, figcaption, figure, footer, form, h1, h2, h4, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, output, p, pre, q, ruby, s, samp, section, small, span, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, tt, u, ul, var, video {
margin: 0;
padding: 0;
border: 0;
font: inherit;
vertical-align: baseline;
}
/* with body {} rule removed */
</style>
</head>
<body>
Nothing needed here.
</body>
</html>
HTML
);
$dompdf->render();
PHP Warning: A non-numeric value encountered in /data/vendor/dompdf/dompdf/lib/Cpdf.php on line 4775
PHP Stack trace:
PHP 1. {main}() /data/test_dompdf_1.2.0.php:0
PHP 2. Dompdf\Dompdf->render() /data/test_dompdf_1.2.0.php:34
PHP 3. Dompdf\FrameDecorator\Page->reflow() /data/vendor/dompdf/dompdf/src/Dompdf.php:828
PHP 4. Dompdf\FrameReflower\Page->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 5. Dompdf\FrameDecorator\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Page.php:143
PHP 6. Dompdf\FrameReflower\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 7. Dompdf\FrameDecorator\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Block.php:865
PHP 8. Dompdf\FrameReflower\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 9. Dompdf\FontMetrics->getFontHeight() /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php:394
PHP 10. Dompdf\Adapter\CPDF->get_font_height() /data/vendor/dompdf/dompdf/src/FontMetrics.php:363
PHP 11. Dompdf\Cpdf->getFontHeight() /data/vendor/dompdf/dompdf/src/Adapter/CPDF.php:1019
PHP Warning: A non-numeric value encountered in /data/vendor/dompdf/dompdf/lib/Cpdf.php on line 5257
PHP Stack trace:
PHP 1. {main}() /data/test_dompdf_1.2.0.php:0
PHP 2. Dompdf\Dompdf->render() /data/test_dompdf_1.2.0.php:34
PHP 3. Dompdf\FrameDecorator\Page->reflow() /data/vendor/dompdf/dompdf/src/Dompdf.php:828
PHP 4. Dompdf\FrameReflower\Page->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 5. Dompdf\FrameDecorator\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Page.php:143
PHP 6. Dompdf\FrameReflower\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 7. Dompdf\FrameDecorator\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Block.php:865
PHP 8. Dompdf\FrameReflower\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 9. Dompdf\FrameReflower\Text->layout_line() /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php:400
PHP 10. Dompdf\FrameReflower\Text->line_break() /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php:290
PHP 11. Dompdf\FontMetrics->getTextWidth() /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php:150
PHP 12. Dompdf\Adapter\CPDF->get_text_width() /data/vendor/dompdf/dompdf/src/FontMetrics.php:333
PHP 13. Dompdf\Cpdf->getTextWidth() /data/vendor/dompdf/dompdf/src/Adapter/CPDF.php:1005
PHP Warning: A non-numeric value encountered in /data/vendor/dompdf/dompdf/lib/Cpdf.php on line 4775
PHP Stack trace:
PHP 1. {main}() /data/test_dompdf_1.2.0.php:0
PHP 2. Dompdf\Dompdf->render() /data/test_dompdf_1.2.0.php:34
PHP 3. Dompdf\FrameDecorator\Page->reflow() /data/vendor/dompdf/dompdf/src/Dompdf.php:828
PHP 4. Dompdf\FrameReflower\Page->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 5. Dompdf\FrameDecorator\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Page.php:143
PHP 6. Dompdf\FrameReflower\Block->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 7. Dompdf\FrameDecorator\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameReflower/Block.php:865
PHP 8. Dompdf\FrameReflower\Text->reflow() /data/vendor/dompdf/dompdf/src/FrameDecorator/AbstractFrameDecorator.php:887
PHP 9. Dompdf\FrameDecorator\Block->add_frame_to_line() /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php:409
PHP 10. Dompdf\FrameDecorator\Text->get_margin_height() /data/vendor/dompdf/dompdf/src/FrameDecorator/Block.php:131
PHP 11. Dompdf\FontMetrics->getFontHeight() /data/vendor/dompdf/dompdf/src/FrameDecorator/Text.php:105
PHP 12. Dompdf\Adapter\CPDF->get_font_height() /data/vendor/dompdf/dompdf/src/FontMetrics.php:363
PHP 13. Dompdf\Cpdf->getFontHeight() /data/vendor/dompdf/dompdf/src/Adapter/CPDF.php:1019
PHP Fatal error: Uncaught TypeError: Argument 2 passed to Dompdf\Css\Style::length_in_pt() must be of the type float or null, string given, called in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 1479 and defined in /data/vendor/dompdf/dompdf/src/Css/Style.php:767
Stack trace:
#0 /data/vendor/dompdf/dompdf/src/Css/Style.php(1479): Dompdf\Css\Style->length_in_pt('inherit', 'inherit')
#1 /data/vendor/dompdf/dompdf/src/Css/Style.php(1259): Dompdf\Css\Style->get_line_height()
#2 /data/vendor/dompdf/dompdf/src/FrameDecorator/Text.php(107): Dompdf\Css\Style->__get('line_height')
#3 /data/vendor/dompdf/dompdf/src/FrameDecorator/Block.php(131): Dompdf\FrameDecorator\Text->get_margin_height()
#4 /data/vendor/dompdf/dompdf/src/FrameReflower/Text.php(409): Dompdf\FrameDecorator\Block->add_frame_to_line(Object(Dompdf\FrameDecorator\Text))
PHP Fatal error: Uncaught TypeError: Argument 2 passed to Dompdf\Css\Style::single_length_in_pt() must be of the type float, string given, called in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 2492 and defined in /data/vendor/dompdf/dompdf/src/Css/Style.php:811
Stack trace:
#0 /data/vendor/dompdf/dompdf/src/Css/Style.php(2492): Dompdf\Css\Style->single_length_in_pt('12px', 'inherit', 'inherit')
#1 /data/vendor/dompdf/dompdf/src/Css/Style.php(1319): Dompdf\Css\Style->set_font_size('12px')
#2 /data/vendor/dompdf/dompdf/src/Css/Style.php(913): Dompdf\Css\Style->compute_prop('font_size', '12px')
#3 /data/vendor/dompdf/dompdf/src/Css/Stylesheet.php(1099): Dompdf\Css\Style->inherit(Object(Dompdf\Css\Style))
#4 /data/vendor/dompdf/dompdf/src/Dompdf.php(753): Dompdf\Css\Stylesheet->apply_styles(Object(Dompdf\Frame\FrameTree))
#5 /data/test_dompdf_1.2.0.php(34): Dompdf\Dompdf->render()
#6 {main}
thrown in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 811
Fatal error: Uncaught TypeError: Argument 2 passed to Dompdf\Css\Style::single_length_in_pt() must be of the type float, string given, called in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 2492 and defined in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 811
TypeError: Argument 2 passed to Dompdf\Css\Style::single_length_in_pt() must be of the type float, string given, called in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 2492 in /data/vendor/dompdf/dompdf/src/Css/Style.php on line 811
Call Stack:
0.2034 389568 1. {main}() /data/test_dompdf_1.2.0.php:0
0.3426 6893664 2. Dompdf\Dompdf->render() /data/test_dompdf_1.2.0.php:34
0.3559 7270192 3. Dompdf\Css\Stylesheet->apply_styles() /data/vendor/dompdf/dompdf/src/Dompdf.php:753
0.3689 7372976 4. Dompdf\Css\Style->inherit() /data/vendor/dompdf/dompdf/src/Css/Stylesheet.php:1099
0.3690 7374104 5. Dompdf\Css\Style->compute_prop() /data/vendor/dompdf/dompdf/src/Css/Style.php:913
0.3690 7375536 6. Dompdf\Css\Style->set_font_size() /data/vendor/dompdf/dompdf/src/Css/Style.php:1319
0.3690 7375536 7. Dompdf\Css\Style->single_length_in_pt() /data/vendor/dompdf/dompdf/src/Css/Style.php:2492
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment