使用 mpdf 时如何在 pdf 中打印泰米尔语字母?

How to print tamil letters in pdf when using mpdf?

我正在使用 mpdf 从 html.

转换 pdf 格式

我正在尝试打印以下内容

$html = '<table  style = "width:300px;border-collapse: collapse;border: 1px solid black;">
            <tr style ="border: 1px solid black;">
                <td style = "border: 1px solid black;padding: 20px;text-align:center;">test</td>
                <td style = "border: 1px solid black;padding: 20px;text-align:center;">ராசி</td>
                <td style = "border: 1px solid black;padding: 20px;text-align:center;">ராசி</td>
                <td style = "border: 1px solid black;padding: 20px;text-align:center;">test</td>
            </tr>
</table>';
        $html = utf8_encode($html);
        $mpdf=new mPDF();
        $mpdf->WriteHTML($html);
        $mpdf->Output();

我可以查看文档。但是泰米尔语文本无法打印。它在 pdf 文档中看起来不可读。 我想做什么来打印泰米尔语字母?我尝试对 html 进行编码,但没有成功。

来自 PHP 文档:

utf8_encode — Encodes an ISO-8859-1 string to UTF-8

你所拥有的已经是一个utf-8字符串。你不需要转换它。只需删除 utf8_encode.

我通过将泰米尔语字体文件 ind_ta_1_001.ttf 包含到 'ttfonts' 文件夹中,然后将其调用为 pdf 将代码更改如下

    $mpdf=new mPDF('ta');
    $mpdf->WriteHTML($html);
    $mpdf->Output();

它工作正常,因为 mpdf 支持泰米尔语。

此解决方案可以帮助那些正在寻找使用从 mysql 数据库获取的数据从 php 生成 pdf 报告的人 100% 工作。

<?php
    include('vendor/autoload.php');
    $mpdf = new \Mpdf\Mpdf(['mode' => 'ta-IN']); # for tamil country-india
    $conn = mysqli_connect("localhost","root","","matrimonial"); # my database
    $sql = "select * from rasi";
    $res = mysqli_query($conn,$sql);
    $html = "கல்யாணப்பரிசு திருமணத் தகவல் மையம் ";
    $mpdf->WriteHTML($html);

    while($row=mysqli_fetch_assoc($res)){
        $rasi = $row['rasiname'];   
        $mpdf->WriteHTML($rasi);
    }

    $mpdf->Output();
?>