我是mPDF新用户,实际上我想为我的元素添加Times New Roman,因为mPDF没有提供。于是我开始寻路,我找到了这些https://mpdf.github.io/fonts-languages/fonts-in-mpdf-7-x.html .我尝试在我的代码上实现它,但输出文件仍然不会加载字体。这是我的代码
$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, [
__DIR__ . '/font',
]),
'fontdata' => $fontData + [
'times' => [
'R' => 'times.ttf',
'I' => 'timesi.ttf',
'B' => 'timesbd.ttf',
'BI' => 'timesbi.ttf',]],
'default_font' => 'times']);
$mpdf = new \Mpdf\Mpdf($hal1config);
$stylesheet = '<style>' . file_get_contents('./gaya.css') . '</style>';
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($hal1, 2);
$mpdf->AddPage($hal2config);
$mpdf->WriteHTML($stylesheet, 1);
$mpdf->WriteHTML($hal2, 2);
谢谢
最佳答案
你需要:
- 删除这一行
$mpdf = new\Mpdf\Mpdf($hal1config);
- 将此
'tempDir' =>
DIR 添加到配置数组。 '/custom/temp/dir/path'`,
看我加载字体的例子
require_once __DIR__ . '/vendor/autoload.php';
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf(
[
'tempDir' => __DIR__ . '/custom/temp/dir/path',
'fontDir' => array_merge($fontDirs, [
__DIR__ . '/fonts',
]),
'fontdata' => $fontData + [
'roboto-condensed' => [
'R' => 'RobotoCondensed-Regular.ttf',
'B' => 'RobotoCondensed-Bold.ttf',
]
],
'default_font' => 'roboto-condensed'
]);
$mpdf->WriteHTML('<h1>Стенгазета</h1>');
$mpdf->Output();
关于css - 无法在 PDF 上添加自定义字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59708682/