在 laravel 中使用 DOMPdf 设置字体

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

我试图在laravel中生成pdf,然后在页面的css中设置font-family,以便生成的pdf使用该font-family。我正在使用这个包:https://github.com/barryvdh/laravel-dompdf与laravel一起使用。

我的 api 执行以下操作:

$pdf = Pdf::loadView('myview', \['view1' =\> $view1, 'view2' =\> $view2\]);
return $pdf-\>stream('myview.pdf');

myview 是一个刀片文件,我正在流式传输以创建 pdf。在我的身体上方和头部下方,我有以下内容: `

* {
    font-family: 'DejaVuSans';
}

`

我的 ttf 文件位于:vendor\dompdf\dompdf\lib onts\DejaVuSans.ttf。根据文档,这是正确的。

我尝试了不同的编写方式,例如添加无衬线字体和添加空格,但都是同样的问题。

我还尝试将字体文件夹移动到我的存储/字体文件夹,但我遇到了同样的问题。我需要的是在加载时设置字体,以便希腊语和俄语文本正确显示,因为它当前显示为?????????

laravel laravel-blade dompdf
1个回答
0
投票
<html>
 <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        * {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            padding: 0;
            font-family: "Lato", Arial, Helvetica, sans-serif;
            background-color: #f1f1f1;
            -webkit-text-size-adjust: none;
            text-size-adjust: none;
        }

        .main_heading img {
            height: 30px;
        }

        @media (max-width: 819px) {
            .main_body {
                width: 100% !important;
            }

            .main_heading img {
                height: 26px;
            }

            .main_content {
                width: 100% !important;
                margin: 0 !important;
            }

            .otp-detail {
                width: 35%;
            }
        }

        @media (max-width: 576px) {
            .otp-detail {
                width: 22%;
            }
        }

        @media (max-width: 480px) {
            .otp-detail {
                width: 5%;
            }
        }
    </style>
</head>
<body>

    your content

</body>
</html>

我在我的项目中使用过这个,你可以尝试一下。

© www.soinside.com 2019 - 2024. All rights reserved.