我正在为一个项目使用 PhpSpreadsheet,并尝试使用精确的方法来设置列宽。在未设置或找不到真正的类型字体路径之前,它可以正常工作。
我的代码是:
if (EXACT_AUTOSIZE)
{
if (PHP_OS == 'WINNT')
{
\PhpOffice\PhpSpreadsheet\Shared\Font::setTrueTypeFontPath("C:/Windows/Fonts/");
}
else
{
\PhpOffice\PhpSpreadsheet\Shared\Font::setTrueTypeFontPath(__DIR__."/fonts/");
}
try {
\PhpOffice\PhpSpreadsheet\Shared\Font::setAutoSizeMethod(\PhpOffice\PhpSpreadsheet\Shared\Font::AUTOSIZE_METHOD_EXACT);
}
catch (\PhpOffice\PhpSpreadsheet\Exception $e) {
die("Unable to use exact autosize.");
}
}
执行脚本时出现错误:未捕获异常“PhpOffice\PhpSpreadsheet\Exception”,消息“未指定 TrueType 字体文件的有效目录”
如果我更改代码以在没有函数调用的情况下在 try 块中引发异常,它会被 catch 块捕获。