在我的一个基于 Laravel 9 的项目中,我使用 mPDF 8.1 生成 PDF 报告。我想在报告中使用自定义字体Cairo,我将其下载并存储在 Laravel 的公共目录中。PDF 报告以两种语言导出:英语和伯语。这里是我的代码片段:
$defaultConfig = (new ConfigVariables())->getDefaults();
$fontDirs = $defaultConfig['fontDir'];
$defaultFontConfig = (new FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new Mpdf([
'mode' => 'utf-8',
'format' => 'A4-L',
'setAutoTopMargin' => 'pad',
'fontDir' => array_merge($fontDirs, [
public_path('fonts') . '/cairo/',
]),
'fontdata' => $fontData + [
'cairo' => [
'R' => 'Cairo-Regular.ttf',
'B' => 'Cairo-Bold.ttf',
]
],
'default_font' => 'cairo'
]);
// For Arabic Report
if( trim($type) == 'arabic' ) {
$mpdf->baseScript = 1;
$mpdf->autoScriptToLang = true;
$mpdf->autoLangToFont = true;
$mpdf->autoArabic = true;
}
上面的代码生成使用开罗字体的英文报告,但伯语版本不使用开罗字体。这对我来说是令人困惑的部分,要么都使用自定义字体,要么不使用。我没有在 mPDF 文档中找到任
法或类似的东西,迫使伯语 (或除英语以外的其他语言) 使用自定义字体。有没有人有任何想法,我需要添加或更改来修复 mPDF 伯语报告生成中的自定义字体问题?
谢谢
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(30条)