MPDF 7.0 无法注册自定义字体
MPDF 7.0 cannot register custom fonts
我正在使用 MPDF 为某些内容生成 PDF。我必须在上面使用 Tahoma 字体。 MPDF 通过 composer 安装,版本为 7+。
我使用以下代码:
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'mode' => 'en',
'default_font_size' => 10,
'margin_left' => 9.5,
'margin_right' => 0,
'margin_top' => 42.5,
'margin_bottom' => 0,
'margin_header' => 7.1,
'margin_footer' => 2,
'fontDir' => array_merge($fontDirs, [__DIR__ . '/customFontsMPDF']),
'fontData' => $fontData + [
'tahoma' => [
'R' => 'tahoma.ttf',
'B' => 'tahomabd.ttf'
]
]
]);
我输入这个是为了添加 CSS:
$mpdf->WriteHTML('<style>' . file_get_contents('css.css') . '</style>');
css 包含以下规则:
body {
font-family: tahoma;
font-size: 8pt;
}
不知何故,字体不起作用,它将是默认的 DejaVuSansCondensed 字体(我肯定知道,因为我在 Acrobat 中看到它 Reader)
我的当前工作目录 (DIR) 中确实有一个名为 customFontsMPDF 的文件夹,它包含 tahoma.ttf 和 tahomabd.ttf 文件。我做错了什么,为什么它不起作用,我怎样才能让它起作用?
正确的配置键是 fontdata
而不是 fontData
– 注意小写 "d".
我正在使用 MPDF 为某些内容生成 PDF。我必须在上面使用 Tahoma 字体。 MPDF 通过 composer 安装,版本为 7+。
我使用以下代码:
$defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf([
'mode' => 'en',
'default_font_size' => 10,
'margin_left' => 9.5,
'margin_right' => 0,
'margin_top' => 42.5,
'margin_bottom' => 0,
'margin_header' => 7.1,
'margin_footer' => 2,
'fontDir' => array_merge($fontDirs, [__DIR__ . '/customFontsMPDF']),
'fontData' => $fontData + [
'tahoma' => [
'R' => 'tahoma.ttf',
'B' => 'tahomabd.ttf'
]
]
]);
我输入这个是为了添加 CSS:
$mpdf->WriteHTML('<style>' . file_get_contents('css.css') . '</style>');
css 包含以下规则:
body {
font-family: tahoma;
font-size: 8pt;
}
不知何故,字体不起作用,它将是默认的 DejaVuSansCondensed 字体(我肯定知道,因为我在 Acrobat 中看到它 Reader)
我的当前工作目录 (DIR) 中确实有一个名为 customFontsMPDF 的文件夹,它包含 tahoma.ttf 和 tahomabd.ttf 文件。我做错了什么,为什么它不起作用,我怎样才能让它起作用?
正确的配置键是 fontdata
而不是 fontData
– 注意小写 "d".