我试图在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。根据文档,这是正确的。
我尝试了不同的编写方式,例如添加无衬线字体和添加空格,但都是同样的问题。
我还尝试将字体文件夹移动到我的存储/字体文件夹,但我遇到了同样的问题。我需要的是在加载时设置字体,以便希腊语和俄语文本正确显示,因为它当前显示为?????????
<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>
我在我的项目中使用过这个,你可以尝试一下。