1

我正在为一个项目使用 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 块捕获。

4

0 回答 0