Dompdf在laravel中支持其他语言支持

问题描述 投票:0回答:4

我在laravel项目中使用dompdf包创建了我的pdf。但是当我想渲染其他语言(bangla)而不是英语时

???????????????????????????? 

显示。

<body style="font-family: 'AdorshoLipi', Arial, sans-serif !important;">

    <div style="border-style: solid; border-width: 2px; margin: 50px;  padding: 10px;">
        <div align="center">
            <h2>
                 Anti-corruption commission hotline-106
            </h2>
        </div>
        <div>
            <p> Reference No : {{ $complain->call_ref_id }}</p>
            {{-- <br> --}}
            <p> Date : {{ $complain->created_at }}</p>
            <p> Name : {{ $complain->name }}</p>
            <p> Address : {{ $complain->address }}</p>
            <p> Phone Number : {{ $complain->phone_number }}</p>
            <p> Against : {{ $complain->against }}</p>
            <p> Sector : {{ $complain->department }}</p>
            <p style="font-family: 'AdorshoLipi', Arial, sans-serif !important;"> Type : {{ $complain->type }}</p>
            <p> Complain Description : {{ $complain->complain_description }}</p>
            <p> Amount : {{ $complain->amount }}</p>
            <p> Status : {{ $complain->status }}</p>


        </div>

        <div style=" margin-left: 450px; width: 100px; ">
            <hr>
            <label>Signature</label>
        </div>

        <div class="panel-primary">

        </div>

    </div>


</body>
php html css laravel dompdf
4个回答
1
投票

您可以使用TrueType字体添加对laravel Dompdf package的支持。只需按照以下步骤从命令行将TrueType字体加载到dompdf中。

在此软件包中使用TrueType字体系列有两种基本方法: 1)使用load_font.php脚本 2)使用@ font-face css规则在运行时加载字体

1)使用load_font.php脚本 load_font.php是一个使用命令行运行的脚本,因此您需要从命令行运行该命令。您可以从Dompdf utils 轻松获取此脚本

添加此实用程序后,将命令下面的命令运行到命令行界面,以从dompdf安装目录安装该字体。

php load_font.php font_family /pathto/fontfile.ttf

注意:dompdf目前仅支持TrueType字体。因此,在查找字体时,请确保它采用TrueType格式。

2)使用@font-face css规则在运行时加载字体 您只需在页面中添加以下样式脚本即可使用TrueType字体。

@font-face {
  font-family: 'font_family';
  font-style: normal;
  font-weight: normal;
  src: url(http://example.com/fonts/fontfile.ttf) format('truetype');
}

一旦加载了上面的字体系列,就可以使用它:<div style="font-family: font_family, sans-serif;">yourtextinotherlanguage</div>

确保您的文档使用像<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>这样的UTF-8指定。

更多信息也可以找到here


1
投票

您需要在视图文件的styles标记中添加以下代码

  @font-face {
            font-family: 'iskpota';
            src: url('{{public_path()}}/fonts/your-font.ttf') format('truetype') 
        }
        body{
            font-family: 'your-font', sans-serif; 
        }

然后,您需要将字体文件包含在存储目录中。为此,在存储文件夹内创建一个名为“fonts”的文件夹,并在fonts文件夹中包含“your-font.ttf”文件。

PS。您在存储位置添加的这些字体也应该在public / fonts文件夹中可用。


0
投票

为了更好地使用像bangla这样的不同语言,你可以尝试使用mpf。这个对utf8有好处。


-2
投票

尝试使用utf8解码输出:

utf8_decode($var)
© www.soinside.com 2019 - 2024. All rights reserved.