Библиотека Mpdf (php): установите utf-8 и используйте WriteHTML с utf-8 - PullRequest
0 голосов
/ 07 марта 2019

Мне нужна помощь с библиотекой php Mpdf.Я генерирую контент для pdf, он находится в теге div и отправляется jquery на php-сервер, где Mpdf используется для генерации окончательного файла.

В сгенерированном pdf-файле символы utf-8не так, например, «generaci³³n» вместо «generación».

Я подробно расскажу, как они реализованы:

HTML

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

Отправка содержимого в формате pdf (jquery)

$('#pdf').click(function() {       
    $.post( 
            base_url,
            { 
                contenido_pdf:      $("#div").html(),
            },
            function(datos) {
            }       
    );
});

Прием содержимого (PHP)

$this->pdf = new mPDF();
$this->pdf->allow_charset_conversion = true;                                
$this->pdf->charset_in = 'iso-8859-1';
$contenido_pdf  = this->input->post('contenido_pdf');

$contenido_pdf_formateado = mb_convert_encoding($contenido_pdf, 'UTF-8', 'windows-1252');
$this->m_pdf->pdf->WriteHTML($contenido_pdf_formateado);

Другие проверенные параметры:

1.$ this-> pdf-> charset_in = 'UTF-8';

Ошибка получения:

Severity: Notice  --> iconv(): Detected an illegal character in input string

2.

$contenido_pdf_formateado = mb_convert_encoding($contenido_pdf, 'UTF-8', 'UTF-8');

или

3.

$contenido_pdf_formateado = utf8_encode($contenido_pdf);

Получить неправильные символы, как в оригинальном регистре.

Что не так или что не хватает, чтобы хорошо видеть текст?Спасибо

1 Ответ

0 голосов
/ 09 марта 2019

Раствор

$contenido_pdf_formateado = utf8_decode($contenido_pdf);
$this->m_pdf->pdf->WriteHTML($contenido_pdf_formateado);
...