在 mpdf 8 codeigniter 中插入和修改新字体系列
Insert and modify new font family in mpdf 8 codeigniter
我使用 mpdf 以 pdf 格式显示照片用户。我试图将新字体 Poppins
插入到 mpdf 中。我尝试使用 google 中的 import
字体,例如 @import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
,然后我想更改字体粗细,但结果是一样的。
这是代码
<html>
<head>
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
</style>
</head>
<body style="background-image: url('<?= base_url(); ?>assets/image.png');width:50%;height:10%;background-size:no-repeat;background-size:cover;text-align:center;">
<h2 style="margin-top:550px;width:76%;text-align:center;position:absolute;z-index:200;font-family: 'Poppins', sans-serif;font-weight: 900;"><?= "name"; ?></h2>
</body>
</html>
您知道如何正确更改字体粗细或添加字体系列吗?
因为 mpdf documentation 你需要在你的控制器中设置它,这里是我用于 RockSalt 和 PT Caption 字体的片段。确保将 *.ttf 文件放入相应的文件夹中,在我的例子中:/assets/_pdf/_fonts
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
$_SERVER['DOCUMENT_ROOT'] . '/assets/_pdf/_fonts',
]),
'fontdata' => $fontData + [
'rocksalt' => [
'R' => 'rocksalt.ttf',
],
'ptsanscaption' => [
'R' => 'ptsanscaption.ttf',
]
],
'default_font' => 'ptsanscaption'
]);
$html=$this->load->view('my_mpdf','',true);
$mpdf->WriteHTML($html);
注意:在我的视图文件 my_pdf 中(我在其中构建 html 我想要输出)以便在浏览器中看到“预览”(我正在使用用于构建 pdf 和用于预览的相同视图文件),我正在使用
应用字体
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans+Caption" />
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Rock+Salt" />
和css照常
.title{
font-family: 'Rock Salt', rocksalt;
}
编辑: 要更改字体粗细,请遵循相同的规则。只需将 Poppins-Regular.ttf 和 Poppins-Bold.ttf(或任何其他)复制到您的字体文件夹,然后将您想要的字体变体添加到字体数组中:
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
$_SERVER['DOCUMENT_ROOT'] . '/assets/_pdf/_fonts',
]),
'fontdata' => $fontData + [
'rocksalt' => [
'R' => 'rocksalt.ttf',
],
'ptsanscaption' => [
'R' => 'ptsanscaption.ttf',
],
'poppins' => [
'B' => 'Poppins-Bold.ttf',
],
'poppins' => [
'R' => 'Poppins-Regular.ttf',
]
],
'default_font' => 'ptsanscaption'
]);
然后创建一个 css 规则:
.my_style{
font-family: 'Poppins';
color:red;
font-size: 16px;
}
并将其应用于 html:
<div class="my_style">
<b>bold text</b>
regular text
</div>
我使用 mpdf 以 pdf 格式显示照片用户。我试图将新字体 Poppins
插入到 mpdf 中。我尝试使用 google 中的 import
字体,例如 @import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
,然后我想更改字体粗细,但结果是一样的。
这是代码
<html>
<head>
<style>
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
</style>
</head>
<body style="background-image: url('<?= base_url(); ?>assets/image.png');width:50%;height:10%;background-size:no-repeat;background-size:cover;text-align:center;">
<h2 style="margin-top:550px;width:76%;text-align:center;position:absolute;z-index:200;font-family: 'Poppins', sans-serif;font-weight: 900;"><?= "name"; ?></h2>
</body>
</html>
您知道如何正确更改字体粗细或添加字体系列吗?
因为 mpdf documentation 你需要在你的控制器中设置它,这里是我用于 RockSalt 和 PT Caption 字体的片段。确保将 *.ttf 文件放入相应的文件夹中,在我的例子中:/assets/_pdf/_fonts
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
$_SERVER['DOCUMENT_ROOT'] . '/assets/_pdf/_fonts',
]),
'fontdata' => $fontData + [
'rocksalt' => [
'R' => 'rocksalt.ttf',
],
'ptsanscaption' => [
'R' => 'ptsanscaption.ttf',
]
],
'default_font' => 'ptsanscaption'
]);
$html=$this->load->view('my_mpdf','',true);
$mpdf->WriteHTML($html);
注意:在我的视图文件 my_pdf 中(我在其中构建 html 我想要输出)以便在浏览器中看到“预览”(我正在使用用于构建 pdf 和用于预览的相同视图文件),我正在使用
应用字体<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=PT+Sans+Caption" />
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Rock+Salt" />
和css照常
.title{
font-family: 'Rock Salt', rocksalt;
}
编辑: 要更改字体粗细,请遵循相同的规则。只需将 Poppins-Regular.ttf 和 Poppins-Bold.ttf(或任何其他)复制到您的字体文件夹,然后将您想要的字体变体添加到字体数组中:
$mpdf = new \Mpdf\Mpdf([
'fontDir' => array_merge($fontDirs, [
$_SERVER['DOCUMENT_ROOT'] . '/assets/_pdf/_fonts',
]),
'fontdata' => $fontData + [
'rocksalt' => [
'R' => 'rocksalt.ttf',
],
'ptsanscaption' => [
'R' => 'ptsanscaption.ttf',
],
'poppins' => [
'B' => 'Poppins-Bold.ttf',
],
'poppins' => [
'R' => 'Poppins-Regular.ttf',
]
],
'default_font' => 'ptsanscaption'
]);
然后创建一个 css 规则:
.my_style{
font-family: 'Poppins';
color:red;
font-size: 16px;
}
并将其应用于 html:
<div class="my_style">
<b>bold text</b>
regular text
</div>