2

I have come across an issue with dompdf while trying to use INR currency symbol. I have managed to resolve the issue using Dejavu Sans font family on my local server. But, when I upload the file to a live server it just generates a ? in place of the INR symbol. I have tried many methods like including providing @fontface{...} code ,define("DOMPDF_UNICODE_ENABLED",true), using 'Currencies' font family but it's not working.

require_once 'class-my-pdf-creator.php';
$dompdf = new my_pdf_obj();
define("DOMPDF_UNICODE_ENABLED", true);
$dompdf->set_option('isHtml5ParserEnabled', true);
$dompdf->loadHtml('<style>@font-face {
  font-family: "DejaVu Sans";
  font-style: normal;
  font-weight: normal;
}</style><span style="font-family: DejaVu Sans; sans-serif;">&#8377;</span>');
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
$dompdf->set_option('font_subsetting', true);
// Render the HTML as PDF
$dompdf->render();
$dompdf->stream();
phrogg
  • 888
  • 1
  • 13
  • 28
teejay
  • 21
  • 1
  • 2

1 Answers1

3

Dompdf 0.6.x and above support different encoding.

The easiest way to display the INR is to encode your document in UTF-8. Then you can reference the INR symbol.

Add below statement to your HTML:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

After adding above into your HTML, you can display INR symbol with below code:

<span style="font-family: DejaVu Sans; sans-serif;">&#8377;</span>
Darshan Jain
  • 479
  • 2
  • 10