FPDF错误:无法包含字体度量标准文件

时间:2011-06-29 12:58:15

标签: php pdf-generation fpdf

我有一个由其他人完成的应用程序,现在我被要求调查一个问题。

生成pdf报告时会抛出错误。此应用程序使用FPDF生成PDF

FPDF error: Could not include font metric file

之前它抛出了以下错误

Warning: FPDF::include(helveticab.php) [function.FPDF-include]: failed to open stream: No such file or directory 
Warning: FPDF::include() [function.include]: Failed opening 'helveticab.php' for inclusion 
FPDF error: Could not include font metric file

通过包含一个带有helveticab.php的字体文件夹和其他与其他字体相关的php文件来解决这个问题

但错误FPDF错误:无法包含字体指标文件仍然存在。 在网上搜索可能的原因是

  1. 缺少字体目录

  2. 没有字体文件的访问权限。

  3. 我不确定该文件夹中的字体文件夹或文件需要什么权限。 在这方面的任何帮助都会有很大的帮助。

5 个答案:

答案 0 :(得分:10)

我有同样的问题。问题是包含所有字体的文件夹路径不正确。所以,我添加了更新PHP文件中的以下行,以反映包含所有字体的文件夹的正确路径。

定义( 'FPDF_FONTPATH', '类/ fpdf_font /');

因此,请仔细检查此行定义的路径,它应该可以正常工作。

答案 1 :(得分:5)

我相信你已经将fpdf zip文件解压缩到你的本地主机或系统

一旦提取了zip文件,就会看到目录结构,如下图所示

enter image description here

并在test.php中插入以下代码

<?php
define('FPDF_FONTPATH','font/');
//above line is import to define, otherwise it gives an error : Could not include font metric file
require('fpdf.php');



$pdf = new FPDF();
$pdf->AddPage();
$pdf->SetFont('Arial','B',16);
$pdf->Cell(40,10,'Hello World!');
$pdf->Output();
?>

现在享受

答案 2 :(得分:1)

我的问题是,由于从页面下载了fpdf库,他们在那里使用的一些脚本使用了Arial字体,但特别是那种字体没有包含在fonts目录中。我刚刚添加了define('FPDF_FONTPATH','fpdf/font/');与fpdf目录的相对路径,并将字体更改为Courier并准备就绪!

答案 3 :(得分:0)

在我的情况下,我使用Linux(Debian),我有同样的问题,目录是正确的。我解决了向/ font目录添加777权限的问题。现在它就像魅力=)))

答案 4 :(得分:0)

如果您正在使用扩展FPDF的外部类

如文件名 Custom_pdf.php

在那个文件中你写了你的cutom代码

require_once('fpdf.php')


class Custom_PDF extends FPDF{
   ...
}

然后你加入了你的编码,如

require_once('custom_pdf.php');
$pdf = new Custom_pdf();
$pdf->Write();
....
$pdf->output();

这是问题...

所以你直接将代码放在你需要的文件中

require_once('fpdf.php')
class Custom_PDF extends FPDF{
....
}
$pdf = new Custom_pdf();
$pdf->Write();
...
$pdf->output();

它会正常工作......

谢谢

抱歉英语错误......