Add Emoji support to Dompdf
December 2, 2022 ≈ 45 seconds
Attempting to generate a PDF with 🚀👌 😉 and getting ? Googling has led you there: https://github.com/dompdf/dompdf/issues/1698, where you learned that the problem is hard, not solved yet, and that emojis support should be added to php-font-lib first? What should you do next if you still want emojis in your generated PDF?
A temporary solution (until emoji support is added to php-font-lib) is to replace emojis with PNGs
We'll use the iamcal/php-emoji package, which will replace all emojis with PNG images accordingly. So first run:
composer require iamcal/php-emoji
Then we need to set chroot of Dompdf to the path to the PNG and CSS with emojis.
$options = new Options(); $options->setChroot(base_path('vendor/iamcal/php-emoji/lib')); $dompdf = new Dompdf($options);
Include php-emoji CSS file in the HTML from which you are creating the PDF
<link href="absolute-path-to/vendor/iamcal/php-emoji/lib/emoji.css" rel="stylesheet" type="text/css" />
Use emoji_unified_to_html() function to replace emojis with PNG images
emoji_unified_to_html("<p>Html code with emojis: ❤️</p>")
You didn't provide any data, entered invalid email or already subscribed.
Try again. And if you still can't subscribe—write us.
Address successfully subscribed!
Subscribe to our newsletter
If you provide url of your website, we send you free design concept of one element (by our choice)