Laravel - FPDF错误:未定义的字体

时间:2015-03-24 17:15:36

标签: php laravel laravel-5 fpdf

我在做什么

我一直在使用Laravel改写条形码生成系统。

出了什么问题

我正常对类进行实例化,但使用metod $pdf->SetFont('Arial','B',$fontSize);我收到错误消息 FPDF错误:未定义字体:helvetica B 。如下所示,粘贴“font”已包含在库粘贴中。

enter image description here

我的代码

<?php namespace App\Http\Controllers;

//Elements declaration of layout, libraries and model
use View, Input, Validator, FPDF, eFPDF, BarcodeClass, BarcodeEAN, DB, App\Models\Barcode;

class HomeController extends Controller {

public function index() {
    return view('frontend.home');
}

public function gerarPdf() {

    //some code

    //Creates a new PDF
    $pdf = new eFPDF('P', 'pt');

    //Modify PDF font
    $pdf->SetFont('Arial','B',$fontSize);

在FPDF.php内部

function _getfontpath()
{
    if(!defined('FPDF_FONTPATH') && is_dir(dirname(__FILE__).'font/'))
        define('FPDF_FONTPATH',dirname(__FILE__).'/font/');
    return defined('FPDF_FONTPATH') ? FPDF_FONTPATH : '';
}

1 个答案:

答案 0 :(得分:1)

事实上,getPath方法是必需的,但define没有收到孔粘贴的文件夹。它的dirname无效,所以我切换到app_path().'/Libraries/FPDF/font/',在方法结束时,我将exit;放在$pdf->Output之后。如果没有,浏览器将显示以下字符:

%PDF-1.3 3 0 obj&lt;&gt; endobj 4 0 obj&lt;&gt;流x�e��N�0��}�R&lt;��?W $ @�g(�g^����r���~��w&amp;