FPDF错误:无法在PHP中包含字体定义文件

时间:2013-01-22 12:53:56

标签: php fpdf

我有一堆图像,我想生成所有这些图像的PDF。我正在使用FPDF库(版本1.7)来实现这一目标。但我收到以下错误:

FPDF error: Could not include font definition file

我在google上发现了一些关于此错误的文章并尝试了但仍然存在问题。

这里应该是什么问题?我哪里错了?

6 个答案:

答案 0 :(得分:10)

我有类似的错误,我在这里分享,因为没有在线文档。

“FPDF错误:找不到字体文件”

如果您下载了所需的文件(file.php,file.afm,file.z),则转换ttf字体文件以便在FPDF中使用在线实用程序(http://fpdf.fruit-lab.de)。 你必须:

1)放入字体文件夹(或任何其他文件夹,但您应该使用此说明define('FPDF_FONTPATH','yourpath/yourfolder/');

2)如果你重命名文件,你应该打开file.php并搜索“$ file”,其中包含“.z”文件的名称并正确地重命名。

答案 1 :(得分:5)

也许有点太晚了,但我曾经遇到过同样的问题,解决办法是简单地给/ font /文件夹赋予权限......

新秀的错误...... 755的权限对我来说很有用。

答案 2 :(得分:1)

您必须为正在使用的字体创建字体定义文件。

见这里:

http://www.fpdf.de/tutorials/7/

答案 3 :(得分:1)

    define('FPDF_FONTPATH','font/');



check in above line for correct path from local folder to server.....
exactly it runs well

    define('FPDF_FONTPATH','font/');

require('fpdf.php');
class PDF extends FPDF
{
//Constructor (mandatory with PHP3)
function PDF()
{
     self::__construct();
}

public function __construct()
    {
        $this->FPDF();
    }


//Page header
function Header()
{
    //Logo
    //$this->Image('logo_pb.png',10,8,33);
    //Arial bold 15
    $this->SetFont('Arial','B',15);
    //Move to the right
    $this->Cell(80);
    //Title
    $this->Cell(30,10,'Title',1,0,'C');
    //Line break
    $this->Ln(20);
}

//Page footer
function Footer()
{
    //Position at 1.5 cm from bottom
    $this->SetY(-15);
    //Arial italic 8
    $this->SetFont('Arial','I',8);
    //Page number
    $this->Cell(0,10,'Page '.$this->PageNo(),0,0,'C');
}
}
echo "<br/>";
//Instanciation of inherited class
$pdf=new PDF();
$pdf->Open();
$pdf->AddPage();
$pdf->SetFont('Times','',12);

$pdf->Image('logo_pb.png',40,20,33);

$url="demo/ivv/doc.pdf";

$dir='C:/xampp/htdocs/laravel/public/pdf/';

$filename= time().'.pdf';

$content=$pdf ->Output($dir.$filename);

?>

答案 4 :(得分:0)

检查AddFont函数中的字体路径。

例如:

$fontInformation = pathinfo(WWW_ROOT . "files/files/font/file/" . $pdffile['font_file']);

$fontFileName = $fontInformation['filename'] . '.php';

//$pdf->fontpath = WWW_ROOT . "files/font/file/";


$pdf->AddFont($fontInformation['filename'], '', $fontFileName);

//set font for the entire document
$pdf->SetFont($fontInformation['filename'], '', 20);

这可以解决您的问题。

答案 5 :(得分:0)

我遇到了这类问题,我的问题是我使用的是Linux Web服务器,但在我对字体文件的引用中未使用正确的大小写而犯了一个错误。 将“ Arial”更改为“ arial”后,问题得以解决。